สารบัญ:

DIY Smart Home ด้วย Google Assistant และ Arduino: 6 ขั้นตอน
DIY Smart Home ด้วย Google Assistant และ Arduino: 6 ขั้นตอน

วีดีโอ: DIY Smart Home ด้วย Google Assistant และ Arduino: 6 ขั้นตอน

วีดีโอ: DIY Smart Home ด้วย Google Assistant และ Arduino: 6 ขั้นตอน
วีดีโอ: พาทัวร์ Smart Home ฉบับ DIY แบบจัดเต็ม! | ควบคุมผ่าน Siri, Google Assistant และ Alexa 2024, กรกฎาคม
Anonim
Image
Image
DIY Smart Home ด้วย Google Assistant และ Arduino
DIY Smart Home ด้วย Google Assistant และ Arduino

ใครไม่ต้องการบ้านอัจฉริยะ? สิ่งที่ดีที่สุดที่คุณสามารถทำได้คือเปลี่ยนไฟหรืออุปกรณ์อื่นๆ ในบ้านด้วยการควบคุมด้วยเสียง ด้วยความช่วยเหลือจากแอป Google Home และ Google Assistant นี่ไม่ใช่เรื่องยากเลย ……

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

เสบียง

1 ลำโพงอัจฉริยะ เช่น Google Nest Mini

2 คอมพิวเตอร์ Arduino MKR1000 เพื่อแปลงคำสั่งเสียงเป็นคำสั่งสลับ

3 รีเลย์สวิตช์ 5 โวลต์หนึ่งตัวขึ้นไป หนึ่งตัวสำหรับหลอดไฟแต่ละดวงที่คุณต้องการควบคุม

4 แหล่งจ่ายไฟ USB สำหรับ Arduino MKR1000 พร้อมปลั๊ก micro-USB

5 สายไฟหลัก (1.5 ตร.ม.) และเต้ารับสำหรับการเชื่อมต่อไฟและเครื่องใช้อื่นๆ อย่างปลอดภัย

6 สมาร์ทโฟน Android สำหรับแอป Google Home

ขั้นตอนที่ 1: ขั้นตอนคำสั่งผ่านอินเทอร์เน็ต

กระบวนการสั่งการผ่านอินเทอร์เน็ต
กระบวนการสั่งการผ่านอินเทอร์เน็ต

ในภาพนี้ คุณจะเห็นทีละขั้นตอนว่ากระบวนการทั้งหมดทำงานอย่างไร

การเปิดและปิดด้วยคำสั่งเสียงทำงานผ่านอินเทอร์เน็ตได้อย่างสมบูรณ์ จำเป็นต้องมีบริการคลาวด์สาม (!) เพื่อดำเนินการนี้… คุณต้องสร้างบัญชีสำหรับทุกบริการคลาวด์… ค่อนข้างยุ่งยาก แต่ก็ใช้งานได้!

ก่อนอื่นคุณต้องมีแอป Google Home ดาวน์โหลดจาก Playstore บนโทรศัพท์ Android และติดตั้งแอป การทำความเข้าใจคำสั่งเสียงของคุณเองด้วย Google Home จะใช้ได้กับภาษาอังกฤษเท่านั้น ดังนั้นให้ตั้งค่าภาษาเป็นภาษาอังกฤษผ่านการตั้งค่า / การตั้งค่าเพิ่มเติม / ผู้ช่วย / ภาษา จากนั้นเลือกภาษาอังกฤษ (สหรัฐอเมริกา)

Google Nest Mini ได้ยินคำสั่งเสียง เช่น "Ok Google เปิดไฟหมายเลขหนึ่ง" สัญญาณเสียงแอนะล็อกนี้จะถูกแปลงเป็นดิจิทัลและส่งไปยัง Google Assistant cloud จากนั้นจะถูกส่งต่อไปยังคลาวด์ IFTTT ที่ซึ่งคำตอบนั้นถูกสร้างขึ้น IFTTT (ถ้ามากกว่านั้นหรือ "ถ้าคุณทำสิ่งหนึ่งสิ่งอื่นจะเกิดขึ้น") เป็นสถานีกลางชนิดหนึ่งที่วิเคราะห์คำสั่ง ให้คำตอบและส่งต่อการดำเนินการไปยังคลาวด์ถัดไป Adafruit IO หากเข้าใจคำสั่งอย่างสมบูรณ์ คำตอบจาก IFTTT จะถูกส่งคืนแบบดิจิทัลไปยัง Google Nest Mini และคำสั่งนั้นจะถูกแปลงเป็นสัญญาณเสียง หากไม่เข้าใจคำสั่ง Google Assistant จะส่งคืนคำตอบอื่นเพื่อให้ชัดเจนว่าจะไม่มีการดำเนินการเปลี่ยน IFTTT จะส่งคำสั่งที่เข้าใจเป็นอย่างดีไปยังเว็บไซต์ Adafruit Adafruit เป็นผู้จัดหาอุปกรณ์อิเล็กทรอนิกส์ที่ดูแลเว็บไซต์เพื่อจัดเก็บข้อมูลสวิตช์อัจฉริยะ พวกเขาเรียกมันว่า "อาหาร" IFTTT ส่งรหัสที่เกี่ยวข้องกับคำสั่ง (ในกรณีของเราคือ "one_on") ไปยังฟีดนี้ Arduino MKR1000 ได้รับการตั้งโปรแกรมให้ตรวจสอบเว็บไซต์นี้เป็นประจำ โดยอ่านข้อมูลในฟีด จากนั้นจึงเปิดหรือปิดรีเลย์สวิตช์ที่เกี่ยวข้อง ฟีด Adafruit ได้รับการคุ้มครองด้วยเหตุผลด้านความปลอดภัยด้วยชื่อบัญชีและ Adafruit IOKEY เฉพาะที่เจ้าของบัญชีรู้จักเท่านั้น

ขั้นตอนที่ 2: การเขียนโปรแกรม Arduino MKR1000

การเขียนโปรแกรม Arduino MKR1000
การเขียนโปรแกรม Arduino MKR1000
การเขียนโปรแกรม Arduino MKR1000
การเขียนโปรแกรม Arduino MKR1000

ใช้ IDE มาตรฐานจากเว็บไซต์ Arduino วางไลบรารีต่อไปนี้ใน IDE (ผ่าน: เครื่องมือ / จัดการไลบรารี): ArduinoJson และ WiFi101

หากคุณยังไม่เคยตั้งโปรแกรม MKR1000 มาก่อน คุณต้องทำให้บอร์ดนี้สามารถเข้าถึงได้ใน IDE ก่อน ดาวน์โหลดไฟล์บอร์ด "บอร์ด Arduino SAMD" ผ่านเครื่องมือเมนู / บอร์ด / ผู้จัดการบอร์ด หลังจากนั้นคุณสามารถเลือกบอร์ด MKR1000 ได้

ภาพร่างยังใช้ไฟล์พิเศษ arduino_secrets.h.

นี่คือไฟล์ข้อความที่คุณสามารถสร้างด้วยแผ่นจดบันทึก ไฟล์นี้มีรหัสการเข้าถึงที่ใช้สำหรับเครือข่าย Wi-Fi (เครือข่าย SSID และรหัสผ่าน) และรหัสเข้าสู่ระบบหน้าเว็บ Adafruit IO (ชื่อบัญชีและรหัส IOKEY) บันทึกไฟล์นี้ในไดเร็กทอรีไลบรารี arduino บนพีซีของคุณด้วยชื่อ arduino_secrets.h ในไดเร็กทอรีแยกต่างหาก ก่อนบันทึก ให้แทนที่ “xxx” ทั้งหมดด้วยเครือข่ายและข้อมูล Adafruit ของคุณเอง สิ่งนี้ควรอยู่ในไฟล์ arduino_secrets.h:

#define SECRET_SSID “xxx”

#define SECRET_PASS “xxx”

#define IO_USERNAME “xxx”

#define IO_KEY “xxx”

คัดลอกร่าง Arduino ด้านล่างและโหลดลงใน MKR1000 ผ่านโปรแกรม Arduino IDE

ขั้นตอนที่ 3: Adafruit Feed

อะดาฟรุตฟีด
อะดาฟรุตฟีด

สร้างบัญชีที่ www.io.adafruit.com Adafruit เป็นผู้จัดหาอุปกรณ์อิเล็กทรอนิกส์ที่ดูแลเว็บไซต์เพื่อจัดเก็บข้อมูลสวิตช์อัจฉริยะ

สร้างฟีด ON_OFF ซึ่งคำสั่งจะถูกบันทึกในภายหลัง Adafruit มีบทช่วยสอนมากมายที่แสดงวิธีการทำเช่นนี้:

learn.adafruit.com/adafruit-io-basics-feeds/creating-a-feed

เป็นการดีที่สุดที่จะตั้งค่า "ฟีด" ในประวัติฟีดเป็น OFF ไม่จำเป็นต้องจำคำสั่งการสลับ (การตั้งค่าอยู่ด้านขวาของหน้า)

ขั้นตอนที่ 4: การตั้งค่า IFTTT

การตั้งค่า IFTTT
การตั้งค่า IFTTT
การตั้งค่า IFTTT
การตั้งค่า IFTTT
การตั้งค่า IFTTT
การตั้งค่า IFTTT
การตั้งค่า IFTTT
การตั้งค่า IFTTT

สร้างบัญชีที่ www. IFTTT.com ไปที่ "สำรวจ" (บนขวา) จากนั้นเลือก "สร้างแอปเพล็ตของคุณเองตั้งแต่เริ่มต้น" คลิกที่ "นี่" และค้นหา Google เลือกผู้ช่วยของ Google จากนั้นเลือกตัวเลือกแรก "พูดวลีง่ายๆ" จากนั้นป้อนคำอธิบายคำสั่งที่ต้องการและคำตอบที่จะได้รับ

(ในกรณีของเรา "เปิดไฟทั้งหมด" และ "ตกลง ฉันจะเปิดไฟทั้งหมด ระวัง!") จากนั้นกด "สร้างทริกเกอร์" และในหน้าจอถัดไปให้กด "นั่น" จากนั้นเลือก Adafruit แล้วคลิก “ส่งข้อมูลไปยัง adafruit IO” ฟีด ON-OFF จะปรากฏในฟิลด์แรก จากนั้นป้อนรหัสที่ต้องการในฟิลด์ที่สอง (ในที่นี้ เป็นตัวอย่าง "all-on")

สุดท้ายให้คลิกที่ "สร้างการกระทำ" จากนั้นคลิก "เสร็จสิ้น"

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

หากคุณต้องการควบคุมไฟหลายดวงหรือเครื่องใช้ในบ้านอื่นๆ คุณต้องสร้างแอปเพล็ต IFTTT สำหรับแต่ละคำสั่ง และรหัสที่จัดเก็บไว้ในฟีด Adafruit จะต้องสอดคล้องกับรหัสในแบบร่าง Arduino

ขั้นตอนที่ 5: ทดสอบการเชื่อมต่อและซอฟต์แวร์

ทดสอบการเชื่อมต่อและซอฟต์แวร์
ทดสอบการเชื่อมต่อและซอฟต์แวร์

ในการทดสอบระบบ คุณสามารถทำการตั้งค่าการทดสอบด้วย LED แทนรีเลย์:

ขั้นตอนที่ 6: การเชื่อมต่อเครื่องใช้ในบ้าน

เชื่อมต่อเครื่องใช้ไฟฟ้าภายในบ้าน
เชื่อมต่อเครื่องใช้ไฟฟ้าภายในบ้าน
เชื่อมต่อเครื่องใช้ไฟฟ้าภายในบ้าน
เชื่อมต่อเครื่องใช้ไฟฟ้าภายในบ้าน

ในการสลับเครื่องใช้ในบ้าน คุณต้องเชื่อมต่อรีเลย์สวิตชิ่งกับพอร์ตของ Arduino MKR1000 แทนไฟ LED ทดสอบ ใช้สายไฟขนาด 1.5 มม.2 ที่ด้านจ่ายแรงดันไฟหลักเพื่อเชื่อมต่ออุปกรณ์กับหน้าสัมผัสรีเลย์อย่างปลอดภัย

แนะนำ: