สารบัญ:
- ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
- ขั้นตอนที่ 2: เริ่มต้นใช้งานซอฟต์แวร์ที่ต้องการ
- ขั้นตอนที่ 3: กำหนดค่า OpenHAB -สร้างรายการ
- ขั้นตอนที่ 4: การสร้างแผนผังเว็บไซต์
- ขั้นตอนที่ 5: การสร้างกฎสำหรับคำสั่งเสียง-
- ขั้นตอนที่ 6: การกำหนดค่า BasicUI
- ขั้นตอนที่ 7: การเปิดใช้งานการเข้าถึงระยะไกล
- ขั้นตอนที่ 8: ฮาร์ดแวร์!!!
- ขั้นตอนที่ 9: การเชื่อมต่อกับ Google Assistant
วีดีโอ: RaspberryPi Home Automation โดยใช้ OpenHAB: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
ระบบอัตโนมัติภายในบ้านโดยใช้ Raspberry Pi 3B และ OpenHAB [ไม่บังคับ] เราจะใช้ Google Home (หรือ Google Assistant) เพื่อเปิดใช้การควบคุมด้วยเสียง
ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
สำหรับโครงการนี้ เราต้องการ-
ฮาร์ดแวร์
- Raspberry Pi (ฉันใช้บอร์ด 3B)
- Google Home Mini [ไม่บังคับ] (คุณสามารถใช้ผู้ช่วยได้เช่นกัน!)
- สายจัมเปอร์
- โมดูลรีเลย์
ซอฟต์แวร์
- OpenHABian Pi [คุณสามารถใช้ Raspbian OS ได้เช่นกัน]
- IFTTT
ขั้นตอนที่ 2: เริ่มต้นใช้งานซอฟต์แวร์ที่ต้องการ
คุณมีสองตัวเลือกต่อไปนี้ -
- Flash Raspbian แล้วติดตั้ง OpenHAB ลงไป (เหนื่อยและไม่ดี)
- แฟลช OpenHABian โดยตรงไปยังการ์ด SD และเรียกใช้โดยตรง (Damn Easy)
ฉันใช้ตัวเลือกที่สองและแฟลช OpenHABian ลงบนการ์ด SD และใส่ลงใน RPi ดังนั้นฉันจะพูดถึงวิธีนี้ หากคุณต้องการทำตามอันแรก ให้ทำตามคำแนะนำนี้ การติดตั้งด้วยตนเอง
อื่น ๆ ให้ทำตามขั้นตอนด้านล่าง:
- ดาวน์โหลดอิมเมจระบบ OpenHABian ล่าสุด
- แฟลชลงบนการ์ด SD โดยใช้ Etcher.io
- หลังจากแฟลชสำเร็จแล้ว ให้ใส่การ์ด SD ลงใน Rpi และเชื่อมต่ออีเทอร์เน็ตกับ Rpi (คุณอาจใช้ WiFi)
- บูตขึ้น Rpi คุณไม่จำเป็นต้องมีหน้าจอและ/หรือเมาส์และคีย์บอร์ด เนื่องจากเปิดใช้งาน SSH และ Samba แล้ว!
- รอ 30-45 นาทีเพื่อให้ OpenHAB เสร็จสิ้นการตั้งค่าเริ่มต้น
- หลังจากนั้น ไปที่ https://openhabianpi:8080 ซึ่งจะเป็นที่อยู่ของ Rpi ของคุณจากตำแหน่งที่คุณสามารถเข้าถึงได้
นั่นคือทั้งหมดสำหรับส่วนการติดตั้งเริ่มต้น
การกำหนดค่า OpenHAB
หลังจาก OpenHAB ตั้งค่าเริ่มต้นเสร็จแล้ว ให้ไปที่
- ไปที่ Paper UI
- ไปที่ Addons>Bindings ค้นหา GPIO ในแถบค้นหา ติดตั้งการผูก GPIO จากนั้นไปที่แท็บ MISC และติดตั้ง openHAB Cloud Connector
ขั้นตอนที่ 3: กำหนดค่า OpenHAB -สร้างรายการ
ตอนนี้เราต้องเข้าถึง Rpi ของเราผ่าน SSH ฉันจะใช้ PuTTY หากคุณใช้ MacOS หรือ Linux คุณสามารถใช้เทอร์มินัลได้
SSH ผ่าน PuTTY-
- เปิด PuTTY
- ไปที่หน้าผู้ดูแลระบบของเราเตอร์ของคุณและค้นหาที่อยู่ IP จะมีชื่อว่า OpenHABian
- คัดลอกที่อยู่ IP และวางใน PuTTY แล้วคลิกเปิด
- ตอนนี้คุณต้องเข้าสู่ระบบ -
- เข้าสู่ระบบเป็น: openhabianรหัสผ่าน: openhabian
- หลังจากเข้าสู่ระบบแล้วให้พิมพ์คำสั่งต่อไปนี้ -
- $ cd /etc/openhab2$ ls
-
ตอนนี้จะแสดงไดเร็กทอรีที่มีอยู่ทั้งหมด เราจะใช้ - รายการ (เพื่อสร้างรายการต่าง ๆ) กฎ (เพื่อเปิดใช้งานคำสั่งเสียง) และแผนผังเว็บไซต์ (เพื่อสร้างแผนผังเว็บไซต์สำหรับการนำทาง) เราจะสร้างแผนผังเว็บไซต์เป็น -home.sitemap ไฟล์รายการจะเป็น - home.items และไฟล์กฎจะเป็น - home.rules
- $ sudo nano items/home.items$ รหัสผ่าน: openhabian
- นี่จะเป็นการเปิดเอกสารเปล่า เราจะอยู่ที่นี่สร้างรายการของเราที่เราจะควบคุมผ่าน Rpi ในกรณีของฉันฉันใช้ 4 รายการ คุณสามารถใช้ได้มากเท่าที่คุณต้องการ
-
//Items File Switch fan "Fan" { gpio="pin:17 activelow:yes initialValue:low" } Switch night_light "Night Lamp" { gpio="pin:27 activelow:yes initialValue:high" } สวิตช์ไอเสีย "พัดลมดูดอากาศ" " { gpio="pin:23 activelow:yes initialValue:high" } สวิตช์ไฟ "Light" { gpio="pin:5 activelow:yes initialValue:low" }
คำสั่งเสียงสตริง
ที่นี่ ฉันจะอธิบายข้างต้นด้วยตัวอย่าง - Switch fan "Fan" { gpio="pin:17 activelow:yes initialValue:low" } สิ่งที่เกิดขึ้นที่นี่มีดังนี้-
- Switch - เป็นคีย์เวิร์ดที่กำหนดว่ารายการนั้นเป็นสวิตช์
-
fan (ทั่วไป - ตั้งชื่ออะไรก็ได้ที่คุณต้องการ) - เป็นตัวระบุที่ผู้ใช้กำหนดสำหรับการตั้งชื่อรายการต่างๆ ที่ต้องการควบคุม
- "แฟน" (ทั่วไป - ตั้งชื่ออะไรก็ได้ที่คุณต้องการ)- เป็นชื่อที่แสดงที่จะแสดงใน UI
- (ชื่อไอคอน)- เป็นชื่อของไอคอนที่จะแสดงพร้อมกับชื่อ
- { gpio="pin:17 activelow:yes initialValue:low" } - นี่คือ gpio ที่บอก OpenHAB ว่ารายการนั้นเชื่อมต่อผ่าน gpio pin:17 คือพินที่คุณต่อกับรีเลย์ activelow:ใช่(หรือไม่ใช่) - แอ็คทีฟต่ำหมายความว่าเมื่อปิดสวิตช์จะไม่มีแรงดันไฟฟ้าใช้กับพิน gpio และเมื่อเปิดสวิตช์จะมีแรงดันไฟฟ้า initialValue:high (หรือต่ำ) - หลังจากนั้นคือ initialValue และสิ่งที่ทำคือบอก openhab ว่าต้องตั้งค่าเริ่มต้นของรายการใดในระหว่างการเริ่มต้น อันนี้ถูกตั้งค่าสูงเพราะฉันต้องการให้สวิตช์ปิดในระหว่างการเริ่มต้น
- String VoiceCommand - เป็นรายการที่จะใช้ในการควบคุมรายการอื่น ๆ โดยใช้คำสั่งเสียง
- คุณสามารถสร้างรายการได้มากเท่าที่คุณต้องการโดยใช้ไวยากรณ์นี้-
- พิมพ์ชื่อรายการ "item-display_name" { gpio="pin:pin-no activelow: (yes or low) initialValue: (high or low)
-
หลังจากทำสิ่งนี้แล้ว ให้กด Ctrl+X จากนั้นกด Y และ Enter
- $ซีดี..
ขั้นตอนที่ 4: การสร้างแผนผังเว็บไซต์
แผนผังเว็บไซต์จะใช้สำหรับการนำทางและควบคุมสวิตช์รีเลย์
- พิจารณาว่าคุณกำลังดำเนินการต่อหลังจากทำตามขั้นตอนข้างต้นแล้ว ให้พิมพ์ terminal
- $ sudo nano แผนผังเว็บไซต์/home.sitemap
- ไฟล์นี้จะเป็นแผนผังเว็บไซต์เริ่มต้นสำหรับการนำทาง คำสั่งดังกล่าวจะเปิดไฟล์เปล่า คุณต้องสร้างแผนผังเว็บไซต์ดังนี้
ป้ายกำกับหน้าแรกของแผนผังเว็บไซต์ = "บ้านอัจฉริยะ"
{
กรอบป้าย = "ห้องของฉัน" {
สลับรายการ=แฟน
สลับรายการ=เบา
เปลี่ยนรายการ=ท่อไอเสีย
สลับรายการ=night_light
}
}
- sitemap home label="Smart Home (ทั่วไปใช้อะไรก็ได้ที่คุณต้องการ)" - นี่คือชื่อของหน้าแรก คุณสามารถใช้อะไรก็ได้ที่คุณต้องการ
- Frame label="My Room (ทั่วไปใช้อะไรก็ได้ที่คุณต้องการ)" - นี่จะเป็นส่วนย่อย หัวเรื่องสามารถเป็นอะไรก็ได้ที่คุณต้องการ
- สลับ item=fan - สิ่งนี้ร่วมกับผู้อื่นจะกำหนดรายการที่คุณต้องการดูและควบคุมจากหน้าแรก คุณต้องป้อนชื่อรายการที่เราสร้างขึ้น อย่าป้อนชื่อที่แสดงของรายการ
- หลังจากกด CTRL+X, Y และ Enter
ขั้นตอนที่ 5: การสร้างกฎสำหรับคำสั่งเสียง-
สำหรับสิ่งนี้ คุณต้องสร้างกฎง่ายๆ ฉันใช้การอ้างอิงจากคู่มือนี้ ดังนั้นสำหรับคำสั่งเสียง ให้สร้างไฟล์กฎพื้นฐาน-
$ sudo nano rule/home.rules
สิ่งนี้จะสร้างไฟล์.rules เปล่า
คุณสามารถเข้าถึงไฟล์กฎได้ที่นี่
นี่เป็นโค้ดขนาดยาวที่มีไฟล์และคำสั่งมากมาย แต่คุณต้องพิจารณาสิ่งต่อไปนี้เพื่อสร้างชุดคำสั่งของคุณเอง
- if (command.contains("turn on fan") || (command.contains("turn on the fan"))) - ที่นี่ฉันได้ระบุสองตัวเลือกที่ฉันสามารถพูดได้ว่าจะทำให้คำสั่งใช้งานได้ สิ่งที่เกิดขึ้นจริงคือ เมื่อฉันพูดบรรทัดที่สงวนไว้ OpenHAB จะรับรู้และตรวจหากฎเฉพาะเพื่อทำสิ่งต่อไป
- fan.sendCommand(ON) - เมื่อเงื่อนไขข้างต้นเป็นจริง ฟังก์ชันนี้จะส่งคำสั่ง ON ไปยังรายการแฟน สามารถปรับเปลี่ยนได้ตามต้องการ
ถ้าคุณมาถึงที่นี่โดยไม่มีปัญหาใดๆ ยินดีด้วย เพราะงานส่วนใหญ่เสร็จแล้ว ตอนนี้เราต้องตั้งค่า UI และเปิดใช้งานการเข้าถึงระยะไกลสำหรับ OpenHAB ของเรา
ขั้นตอนที่ 6: การกำหนดค่า BasicUI
ตอนนี้ เราต้องบอกให้ OpenHAB ใช้แผนผังเว็บไซต์ที่เราสร้างขึ้นเพื่อใช้เป็นแผนผังเริ่มต้น
นี่คือวิธีการทำ-
- เข้าไปที่
- เปิด UI ของกระดาษ
- การกำหนดค่า > บริการ > UI > กำหนดค่า UI พื้นฐาน
- ที่นี่คุณสามารถเลือกรูปแบบธีมและไอคอน ฯลฯ สิ่งสำคัญที่คุณต้องทำคือเปลี่ยนแผนผังเว็บไซต์เริ่มต้นเป็นหน้าแรก
- คลิกบันทึก
- เข้าไปชมได้ที่
- คลิกที่ Basic UI และ voila คุณจะเห็นแผนผังไซต์ของคุณเองที่นั่น
ขั้นตอนที่ 7: การเปิดใช้งานการเข้าถึงระยะไกล
หากต้องการเปิดใช้งานการเข้าถึงระยะไกล ให้ทำตามขั้นตอนเหล่านี้-
- เข้าไปที่
- เปิด UI ของกระดาษ
- การกำหนดค่า > บริการ > IO > กำหนดค่า OpenHAB Cloud
- เปลี่ยนโหมดเป็นการแจ้งเตือนและการเข้าถึงระยะไกล URL ฐาน ->https://myopenhab.org/ และรายการที่จะเปิดเผย -> เลือกทั้งหมด
- คลิกบันทึก
- ไปที่
- ลงทะเบียนด้วยที่อยู่อีเมลและรหัสผ่าน
- สำหรับ openHAB UUID ->
- $ sudo nano /var/lib/openhab2/uuid
- คัดลอกและวาง UUID นี้ลงในคอลัมน์ UUID
- สำหรับความลับของ OpenHAB->
- $ sudo nano /var/lib/openhab2/openhabcloud/secret
- คัดลอกและวางลงในคอลัมน์ลับแล้วกดสมัคร
- ตอนนี้หลังจาก Rpi รีบูตสำเร็จ คุณจะเห็นสถานะออนไลน์ในhttps://myopenhab.org
- ไปที่แท็บรายการ
- คุณสามารถดูรายการทั้งหมดที่คุณสร้างขึ้นได้ที่นี่ หากคุณไม่เห็นอะไรเลย คุณต้องสลับรายการเหล่านั้นทั้งหมดอย่างน้อยหนึ่งครั้ง
ขั้นตอนที่ 8: ฮาร์ดแวร์!!!
ระวังให้มากเพราะเราจะจัดการกับไฟ 220 โวลต์และเครื่องใช้ไฟฟ้าอื่นๆ
ระวัง
คุณจะทำสิ่งนี้โดยรับความเสี่ยงเอง
การเชื่อมต่อรีเลย์กับ Raspberry Pi-
ในการเชื่อมต่อรีเลย์กับ Raspberry Pi ให้เชื่อมต่อ VCC กับ 5V บน Rpi
- เชื่อมต่อ GND บนรีเลย์กับ GND ของ Raspberry Pi
- ถัดไปเชื่อมต่อ IN1, IN2, … กับ GPIO ที่กำหนดใน home.items
หากต้องการตรวจสอบว่าทุกอย่างใช้งานได้หรือไม่ ให้ไปที่ BasicUI แล้วลองปิดและเปิดรายการต่างๆ คุณควรได้ยินเสียงคลิกในแต่ละปุ่มสลับ
คุณยังสามารถดาวน์โหลดแอป OpenHAB จาก Play Store เพื่อการควบคุมระบบอัตโนมัติของคุณได้ง่ายขึ้น
ระมัดระวังและดำเนินการตามความเสี่ยงของคุณเอง
ตอนนี้เราจำเป็นต้องเชื่อมต่อสายไฟของอุปกรณ์ที่คุณต้องการทำให้เป็นอัตโนมัติกับสวิตช์รีเลย์ ปิด Rpi และ Main Supply ก่อนทำสิ่งนี้เพื่อความปลอดภัย
หลังจากต่อสายแล้ว ตรวจสอบให้แน่ใจว่าไม่มีสายไฟที่ยังเหลืออยู่ซึ่งอาจพิสูจน์ได้ว่าเป็นอันตรายถึงชีวิต
ตอนนี้หันกลับมาที่ Rpi ของคุณและให้เวลาในการบูต หลังจากบูท คุณจะสามารถควบคุมอุปกรณ์จาก Basic UI หรือจากแอพมือถือได้ หากคุณไม่ต้องการเสียงอัตโนมัติ คุณไม่จำเป็นต้องทำตามขั้นตอนเน็ต
ขั้นตอนที่ 9: การเชื่อมต่อกับ Google Assistant
สำหรับสิ่งนี้เราจะใช้
- ไปที่ IFTTT.com
- สร้างบัญชีหากคุณยังไม่มี
- คลิกที่แอปเพล็ตใหม่
- เลือกตัวเลือกนี้และเลือก Google Assistant แล้วเลือกพูดวลีที่มีส่วนประกอบข้อความ
- คุณต้องการจะพูดอะไรให้ป้อน - Turn $ item-name Ex- Turn $ fan
- คลิกสร้างทริกเกอร์
- เลือกสิ่งนั้นและเลือก OpenHAB เชื่อมโยงบัญชีของคุณ
- เลือกส่งคำสั่งเลือกรายการเป็นคำสั่งเสียง
- คำสั่งในการส่งเป็น - เปลี่ยนชื่อรายการ {{TextField}} อดีตเทิร์น {{TextField}} fan
- สร้างการกระทำ
ให้เวลาประมาณ 10 วินาทีในการเริ่มต้น จากนั้น Voila ใช้ Google Assistant เพื่อส่งคำสั่ง
แค่นั้นแหละ. หากมีข้อสงสัย หรือมีข้อผิดพลาดประการใด คอมเม้นต์ไว้ได้เลยนะครับ ฉันจะช่วยคุณอย่างแน่นอน
หากคุณมีปัญหาหรือข้อสงสัยโปรดติดต่อฉันได้ที่ [email protected]
แนะนำ:
Next Gen Home Automation โดยใช้ Eagle Cad (ตอนที่ 1 - PCB): 14 ขั้นตอน
Next Gen Home Automation โดยใช้ Eagle Cad (ตอนที่ 1 - PCB): บทนำ: ทำไมฉันถึงพูดถึงรุ่นต่อไป: เพราะมันใช้ส่วนประกอบบางอย่างที่ดีกว่าอุปกรณ์ระบบอัตโนมัติภายในบ้านแบบเดิม สามารถควบคุมเครื่องใช้โดย: Google Voice Commands Touch Panel บน Device Control จากแอป
Google Assistant-Home Automation Iot โดยใช้ Esp8266: 6 ขั้นตอน
Google Assistant | Home Automation Iot โดยใช้ Esp8266: ในคำแนะนำนี้ฉันจะแสดงให้คุณเห็น Google Assistant ควบคุมระบบอัตโนมัติภายในบ้าน
DIY Home Automation โดยใช้ ESP8266: 5 ขั้นตอน
DIY Home Automation โดยใช้ ESP8266: ในโครงการนี้ ฉันจะแสดงวิธีสร้างระบบ Home Automation โดยใช้โมดูล ESP8266 WiFi ระบบนี้ใช้บอร์ดรีเลย์ Esp8266 ที่คุณสามารถใช้เพื่อควบคุมเครื่องใช้ในบ้านของคุณผ่าน WiFi โดยใช้แอป Blynk โปรเจ็กต์นี้ได้รับการสนับสนุนโดย JLCPCB
วิธีสร้างระบบ Firebase Home Automation โดยใช้ NodeMCU - ในแพลตฟอร์ม IOT: 14 ขั้นตอน
วิธีสร้างระบบ Firebase Home Automation โดยใช้ NodeMCU | ในแพลตฟอร์ม IOT: วัตถุประสงค์ของโครงการนี้ โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อพัฒนาระบบโฮมออโตเมชั่นที่ช่วยให้ผู้ใช้ควบคุมอุปกรณ์ที่ควบคุมจากระยะไกลทั้งหมดในบ้านของตนได้อย่างสมบูรณ์โดยใช้แอป IOT Android มีเซิร์ฟเวอร์และแพลตฟอร์มออนไลน์ของบุคคลที่สามมากมาย
IR Home Automation โดยใช้ Arduino: 8 ขั้นตอน
IR Home Automation โดยใช้ Arduino: ทำตามขั้นตอนนี้และแปลงบ้านของคุณเป็นบ้านอัจฉริยะ