วิธีสร้างระบบอัตโนมัติในบ้านหลายภาษาโดยใช้ Google Assistant และ Raspberry Pi

ระบบอัตโนมัติในบ้านจะเปิดเครื่องใช้ไฟฟ้าทั้งหมดของคุณ Wifi. ส่วนประกอบเดียวเช่นโมดูลรีเลย์ใช้เพื่อควบคุมพารามิเตอร์อิเล็กทรอนิกส์ต่างๆของบ้านตัวอย่างเช่นการเปลี่ยนเครื่องใช้ในบ้านการตรวจสอบสัญญาณเตือนความปลอดภัยประตูอัตโนมัติในโรงรถเป็นต้นอุปสรรคสำคัญที่เกิดขึ้นในขณะออกแบบระบบอัตโนมัติโดยใช้ Google Assistant คือ ภาษา. ระบบอัตโนมัติล่าสุดรองรับเพียงไม่กี่ภาษาซึ่งส่วนใหญ่รวมอยู่ด้วย ภาษาอังกฤษ. ดังนั้นในโครงการนี้เราจะออกแบบระบบอัตโนมัติภายในบ้านหลายภาษาที่รองรับหลายภาษาเช่นฮินดีอูรดูเบงกาลีเป็นต้นหลังจากเสร็จสิ้นระบบอัตโนมัติในบ้านนี้เราจะสามารถควบคุมเครื่องใช้ไฟฟ้าโดยใช้คำสั่งเสียงได้ ที่จะได้รับในภาษาที่แตกต่างกัน กระดูกสันหลังหลักที่อยู่เบื้องหลังโครงการนี้คือ Google Assistant ที่จะใช้ในการควบคุมเครื่องใช้ไฟฟ้าภายในบ้าน เราต้องการ Google Assistant เพราะรองรับเกือบทุกภาษาและยิ่งไปกว่านั้นคือ แอปพลิเคชัน Androidจะออกแบบมาเพื่อควบคุมเครื่องใช้ไฟฟ้า

วิธีการติดตั้ง Raspberry Pi และอุปกรณ์ต่อพ่วงอื่น ๆ ในการออกแบบระบบ?

ตามที่เราทราบว่าเราต้องการทำอะไรในโครงการนี้ตอนนี้ให้เราดำเนินการต่อและรวบรวมข้อมูลเพิ่มเติมเกี่ยวกับส่วนประกอบฮาร์ดแวร์เพื่อเริ่มทำงานในโครงการนี้ทันที

ขั้นตอนที่ 1: ส่วนประกอบที่ต้องการ (ฮาร์ดแวร์)

แนวทางที่ดีที่สุดในการเริ่มต้นโครงการคือการจัดทำรายการส่วนประกอบและทำการศึกษาส่วนประกอบเหล่านี้โดยสังเขปเนื่องจากไม่มีใครต้องการยึดติดอยู่ตรงกลางของโครงการเพียงเพราะส่วนประกอบที่ขาดหายไป

ขั้นตอนที่ 2: การเลือกรุ่น Raspberry Pi

การเลือก Raspberry Pi เป็นงานที่ต้องใช้เทคนิคมากและควรทำอย่างระมัดระวังเพื่อที่คุณจะได้ไม่ต้องทนทุกข์ทรมานในอนาคต Raspberry Pi Zero ไม่เป็นที่ต้องการเนื่องจากเป็นรุ่นที่เก่าแก่ที่สุดในตลาดโดยมีข้อกำหนดจำนวน จำกัด และการตั้งค่าเครือข่ายเป็นงานที่เหนื่อยมาก รุ่นล่าสุดเช่น 3A +, 3B + สามารถซื้อได้ Raspberry Pi 3 เป็นอุปกรณ์ที่เร็วและโดดเด่นที่สุดที่ Raspberry Pi Foundation เปิดตัวจนถึงปัจจุบัน ดังนั้นในโครงการนี้เราจะใช้ Raspberry Pi 3B +

ขั้นตอนที่ 3: การตั้งค่า Raspberry Pi

มีสองตัวเลือกสำหรับการตั้งค่า Raspberry Pi อันดับแรกคือการเชื่อมต่อ Pi ของคุณกับ LCD และเชื่อมต่ออุปกรณ์ต่อพ่วงที่จำเป็นทั้งหมดและเริ่มทำงาน อย่างที่สองคือการตั้งค่า Pi ด้วยแล็ปท็อปและเข้าถึงจากระยะไกล ขึ้นอยู่กับความพร้อมใช้งานของ LCD หากคุณมีที่บ้านคุณสามารถตั้งค่า Pi ได้โดยใช้ LCD เชื่อมต่อ LCD เข้ากับพอร์ต HDMI ของ Raspberry โดยใช้อะแดปเตอร์ HDMI เป็น VGA หากคุณต้องการเข้าถึง Pi ของคุณจากระยะไกลให้ทำตามบทความของฉันที่ชื่อ “ วิธีเข้าถึงอินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) ของ Raspberry Pi โดยใช้ SSH และ VNC Viewer”

ขั้นตอนที่ 4: การตั้งค่าเซิร์ฟเวอร์ Apache บน Raspberry Pi

หลังจากตั้งค่า Raspberry Pi แล้วเราจะตั้งค่าไฟล์ Apache เซิร์ฟเวอร์อยู่ สำหรับการตั้งค่าเราจะพิมพ์คำสั่งต่อไปนี้ในหน้าต่าง Terminal:

sudo apt-get ติดตั้ง apache2 -y

เราสามารถตรวจสอบการติดตั้งเซิร์ฟเวอร์ได้โดยพิมพ์ IP Address ของ Pi ใน Web Server เราจะเปิดหน้า Apache ในเว็บเบราว์เซอร์จากนั้นเราจะใช้เซิร์ฟเวอร์ Apache ของเราในการประมวลผล PHP ไฟล์สำหรับสิ่งนี้คุณต้องมีโมดูล PHP เวอร์ชันล่าสุดสำหรับ Apache ตอนนี้เรียกใช้คำสั่งต่อไปนี้เพื่อเรียกใช้เซิร์ฟเวอร์ apache เวอร์ชันล่าสุด

sudo apt-get ติดตั้ง php libapache2-mod-php-y

เราจำเป็นต้องควบคุม General Purpose Input Output (GPIO) พินของ Raspberry Pi หลังจากตั้งค่าเซิร์ฟเวอร์ Apache สำหรับการควบคุมนั้นเราต้องสร้างไฟล์ PHP ประการแรกเราจะไปที่ไดเรกทอรี HTML จากนั้นเราจะสร้างไฟล์ PHP โดยพิมพ์คำสั่งต่อไปนี้:

sudo เครื่องใช้นาโน off.php

จากนั้นเราจะเขียนโค้ดต่อไปนี้ในไฟล์นั้นก่อนบันทึก:

หลังจากเขียนโค้ดในไฟล์ตัวแก้ไขแล้วให้กด Ctrl + X สำหรับบันทึกรหัสแล้วออก เราได้สร้างไฟล์ PHP สำหรับการเปลี่ยน ปิดตอนนี้เราจะสร้างไฟล์ PHP สำหรับการเปลี่ยน บนเครื่องใช้ ขั้นตอนนี้เหมือนกับข้างต้นโดยมีการเปลี่ยนแปลงเล็กน้อยใน Code สร้างไฟล์ PHP สำหรับการเปลี่ยน บนเครื่องใช้ไฟฟ้าโดยพิมพ์คำสั่งที่ระบุด้านล่าง:

sudo เครื่องใช้นาโนบน. php

ตอนนี้ในไฟล์ตัวแก้ไขวางรหัสที่ให้ไว้ด้านล่าง:

ขั้นตอนที่ 5: เตรียม Google Assistant

เนื่องจากระบบอัตโนมัติของเราจะทำงานโดยใช้คำสั่งเสียงของเราดังนั้นเราจึงทำการปรับเปลี่ยนบางอย่างในการตั้งค่าภาษา

คุณต้องเลือกภาษาที่คุณต้องการให้ระบบปฏิบัติการของคุณใช้งานได้ ไปที่ไฟล์ “ กิจวัตร” และในเมนูของปุ่มกิจวัตรคุณจะพบไฟล์ บวก ไอคอน. เราจะสร้างคำสั่งเสียงของเราดังนั้นจึงพูดคำสั่งที่จะใช้ในการควบคุมเครื่องใช้ไฟฟ้า สมมติว่าคุณต้องการควบคุมหลอดไฟ LED คุณจะต้องตั้งค่าคำสั่งที่เหมาะสมสำหรับการหมุน บนและการหมุน ปิดหลอดไฟ

ขั้นตอนที่ 6: การพัฒนาแอปพลิเคชันมือถือ

ตอนนี้เรามาพัฒนาแอปพลิเคชันมือถือที่จะใช้ควบคุมเครื่องใช้ไฟฟ้าที่ติดอยู่กับระบบของเรา ในขณะที่เรากำลังจะพัฒนาแอปพลิเคชันสำหรับโทรศัพท์มือถือที่ใช้ระบบ Android ของเราเราจะต้องมีแพลตฟอร์มที่ช่วยให้เราทำเช่นนั้นได้ เพื่อจุดประสงค์นั้นเราต้องการซอฟต์แวร์สองตัวต่อไปนี้:

ขั้นตอนที่ 7: การตั้งค่า Android Studio

ก่อนติดตั้ง Android studio บนคอมพิวเตอร์ของเราก่อนอื่นต้องติดตั้งชื่อ JAVA JDK ในการติดตั้งสิ่งนี้ให้คลิกที่ไฟล์ exe ไฟล์ที่คุณดาวน์โหลดจากลิงค์ด้านบน คลิกปุ่มถัดไปจนกว่าจะติดตั้ง ขณะนี้ JAVA ได้รับการยอมรับว่าเป็นคำสั่งภายนอกหรือภายในโดยคอมพิวเตอร์ของคุณ โดยทำตามขั้นตอนต่อไปนี้

  1. เปิด แผงควบคุม และคลิกที่ ระบบและความปลอดภัย.
  2. คลิกที่ ระบบ.
  3. คลิกที่ การตั้งค่าระบบขั้นสูง จากนั้นคลิกที่ ตัวแปรด้านสิ่งแวดล้อม.
  4. ในส่วนตัวแปรระบบคลิกที่เส้นทางจากนั้นคลิกแก้ไข ใหม่ แก้ไขตัวแปรด้านสิ่งแวดล้อมกล่องจะปรากฏขึ้น
  5. ตอนนี้ไปที่ C: \ Program Files \ Java ในพีซีของคุณ เปิดโฟลเดอร์ JDK คลิกที่โฟลเดอร์ bin จากนั้นคัดลอกเส้นทางของโฟลเดอร์นั้น
  6. ตอนนี้ไปที่กล่องแก้ไขตัวแปรสภาพแวดล้อมแล้วคลิกใหม่เพื่อสร้างตัวแปรใหม่ วางเส้นทางที่คุณคัดลอกในขั้นตอนด้านบนในตัวแปรใหม่และบันทึก
  7. ตอนนี้เพื่อยืนยันว่าติดตั้งเสร็จสมบูรณ์แล้วให้เปิดพรอมต์คำสั่งแล้วพิมพ์ java -version.

ตอนนี้คุณได้ติดตั้ง Java JDK บนคอมพิวเตอร์ของคุณเรียบร้อยแล้ว ตอนนี้ให้เราติดตั้ง Android Studio บนคอมพิวเตอร์ของคุณ การติดตั้งซอฟต์แวร์นี้ทำได้ง่ายมาก คุณต้องเปิดไฟล์ที่ดาวน์โหลดแล้วคลิกถัดไปจนกว่าซอฟต์แวร์ของคุณจะได้รับการติดตั้งอย่างสมบูรณ์

ขั้นตอนที่ 8: การสร้างเค้าโครง

ตอนนี้เราจะสร้างเค้าโครงสำหรับแอปพลิเคชันของเราซึ่งผู้ใช้จะใช้เพื่อส่งคำสั่งต่างๆไปยัง raspberry pi ในการสร้างเค้าโครงอย่างง่ายให้ทำตามขั้นตอนต่อไปนี้

1. ก่อนอื่นไปที่ไฟล์> ใหม่> โครงการใหม่ เมนูจะปรากฏขึ้น เลือกโครงการว่างเปล่า

2. ตอนนี้ตั้งชื่อโครงการเป็น การควบคุมด้วยเสียง และตั้งค่า Javaเป็นภาษาโปรแกรมของคุณ

3. เนื่องจากเราจะใช้อินเทอร์เน็ตเพื่อควบคุมพินของราสเบอร์รี่ pi เราจะตั้งค่าการอนุญาตในแอปของเราเพื่อเข้าถึง wifi ในพื้นที่ โดยไปที่ แอป> รายการ> AndroidManifest.xml และเพิ่มคำสั่งต่อไปนี้

-

4. ไปที่ app> res> เค้าโครง> activity_main.xml ที่นี่เราจะออกแบบเค้าโครง คัดลอกรหัสที่ระบุด้านล่างเพื่อสร้างมุมมองข้อความ

       

5. คลิกขวาที่ res และสร้างไฟล์ใหม่ ไดเร็กทอรี. ตั้งชื่อไดเร็กทอรีนี้เป็นไฟล์ เมนู.

6. ตอนนี้คลิกขวาที่ เมนูไดเร็กทอรีและสร้างไฟล์ ไฟล์ทรัพยากร Android

7. ตอนนี้เปิดชื่อไฟล์ทรัพยากรนี้เป็นเมนูและคัดลอกรหัสต่อไปนี้

       

8. ไปที่ app> java> com.example.voicecontrol> MainActivity ที่นี่เราจะสร้างมุมมองเว็บและตัวแปรสตริง ในการดำเนินการนี้ให้คัดลอกรหัสต่อไปนี้ในกิจกรรมหลักของเรา ตรวจสอบให้แน่ใจว่าคุณได้แทนที่ IP ในรหัสด้วย IP ของ Raspberry Pi ของคุณ

แพ็คเกจ com.example.voicecontrol; นำเข้า android.support.annotation.NonNull; นำเข้า android.support.design.widget.BottomNavigationView; นำเข้า android.support.design.widget.NavigationView; นำเข้า android.support.v7.app.AppCompatActivity; นำเข้า android.os.Bundle; นำเข้า android.view.MenuItem; นำเข้า android.webkit.WebChromeClient; นำเข้า android.webkit.WebSettings; นำเข้า android.webkit.WebView; นำเข้า android.webkit.WebViewClient; นำเข้า android.widget.TextView; MainActivity ระดับสาธารณะขยาย AppCompatActivity {private TextView mTextMessage; WebView wv; สตริง url = "http://192.168.43.168"; ส่วนตัว BottomNavigationView OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = ใหม่ BottomNavigationView. ); wv.loadUrl ("https://192.168.43.168/lightson.php"); กลับจริง กรณี R.id.lightoff1: mTextMessage.setText (R.string.title_homeof); wv.loadUrl ("https://192.168.43.168/lightsoff.php"); กลับจริง กรณี R.id.fanon1: mTextMessage.setText (R.string.title_dashboard); wv.loadUrl ("https://192.168.43.168/fanon.php"); กลับจริง กรณี R.id.fanoff1: mTextMessage.setText (R.string.title_dashboardof); wv.loadUrl ("https://192.168.43.168/fanff.php"); กลับจริง } กลับเท็จ; }}; @Override ป้องกันโมฆะ onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); mTextMessage = (TextView) findViewById (R.id.message); การนำทาง BottomNavigationView = (BottomNavigationView) findViewById (R.id.navigation); navigation.setOnNavigationItemSelectedListener (mOnNavigationItemSelectedListener); wv = (WebView) findViewById (R.id.webview); การตั้งค่า WebSettings = wv.getSettings (); wv. setWebViewClient (WebViewClient ใหม่ ()); wv.getSettings (). setJavaScriptEnabled (จริง); wv.getSettings (). setCacheMode (WebSettings.LOAD_CACHE_ELSE_NETWORK); wv.getSettings (). setAppCacheEnabled (จริง); wv.getSettings (). setBuiltInZoomControls (จริง); settings.setDomStorageEnabled (จริง); settings.setUseWideViewPort (จริง); settings.setSaveFormData (จริง); wv.setWebChromeClient (WebChromeClient ใหม่ ()); wv.loadUrl (url); }}

เค้าโครงของคุณจะมีลักษณะดังภาพด้านล่าง:

ขั้นตอนที่ 9: การประกอบฮาร์ดแวร์และให้สัมผัสสุดท้าย

ตอนนี้เราได้ทำส่วนซอฟต์แวร์ของโครงการนี้สำเร็จแล้ว เราจะประกอบฮาร์ดแวร์ทันทีแล้วทดสอบ

  1. การเชื่อมต่อ: เราจะค้นหา GPIO 13 และ 15 พินของ Raspberry Pi ในแผ่นข้อมูล หลังจากพบว่าพวกเขาเชื่อมต่อ GPIO 13 ตรึงไว้ที่ไฟล์ IN1 พินของโมดูลรีเลย์ เชื่อมต่อ GPIO 15 ตรึงไว้ที่ไฟล์ IN2พินของโมดูลรีเลย์
  2. การทดสอบ: เนื่องจากเราได้ทำการเชื่อมต่อทั้งหมดแล้วเราจะตรวจสอบว่าฮาร์ดแวร์ของเราทำงานอย่างถูกต้องหรือไม่ กลับ บน Raspberry Pi และพูด “ เฮ้ Google”และเราจะพูดหนึ่งในคำสั่งที่เราตั้งไว้ในการตั้งค่าภาษา ตัวอย่างเช่นเราจะพูดว่า“ Hey Google Turn On The Light” หากเราตั้งค่าภาษาที่ต้องการเป็นภาษาอังกฤษและไฟจะสว่างขึ้น บน. เครื่องใช้ไฟฟ้าสามารถควบคุมผ่านแอปพลิเคชัน Android Studio ของเรา หากใครต้องการควบคุมเครื่องใช้ไฟฟ้าผ่านแอปพลิเคชันควรเปิดแอปพลิเคชันและเริ่มกดไอคอนที่มีอยู่ในแอปพลิเคชันเพื่อควบคุมเครื่องใช้ไฟฟ้า

นั่นคือทั้งหมดสำหรับวันนี้ เราประสบความสำเร็จในโครงการระบบอัตโนมัติในบ้านหลายภาษาและตอนนี้เราสามารถควบคุมเครื่องใช้ไฟฟ้าผ่านโทรศัพท์มือถือได้อย่างง่ายดาย

Facebook Twitter Google Plus Pinterest