สารบัญ:

RaspberryPi Home Automation โดยใช้ OpenHAB: 9 ขั้นตอน
RaspberryPi Home Automation โดยใช้ OpenHAB: 9 ขั้นตอน

วีดีโอ: RaspberryPi Home Automation โดยใช้ OpenHAB: 9 ขั้นตอน

วีดีโอ: RaspberryPi Home Automation โดยใช้ OpenHAB: 9 ขั้นตอน
วีดีโอ: Installing OpenHab Home Automation On Raspberry Pi 2024, พฤศจิกายน
Anonim
RaspberryPi Home Automation โดยใช้ OpenHAB
RaspberryPi Home Automation โดยใช้ OpenHAB

ระบบอัตโนมัติภายในบ้านโดยใช้ Raspberry Pi 3B และ OpenHAB [ไม่บังคับ] เราจะใช้ Google Home (หรือ Google Assistant) เพื่อเปิดใช้การควบคุมด้วยเสียง

ขั้นตอนที่ 1: อะไหล่ที่จำเป็น

สำหรับโครงการนี้ เราต้องการ-

ฮาร์ดแวร์

  1. Raspberry Pi (ฉันใช้บอร์ด 3B)
  2. Google Home Mini [ไม่บังคับ] (คุณสามารถใช้ผู้ช่วยได้เช่นกัน!)
  3. สายจัมเปอร์
  4. โมดูลรีเลย์

ซอฟต์แวร์

  1. OpenHABian Pi [คุณสามารถใช้ Raspbian OS ได้เช่นกัน]
  2. IFTTT

ขั้นตอนที่ 2: เริ่มต้นใช้งานซอฟต์แวร์ที่ต้องการ

คุณมีสองตัวเลือกต่อไปนี้ -

  1. Flash Raspbian แล้วติดตั้ง OpenHAB ลงไป (เหนื่อยและไม่ดี)
  2. แฟลช 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]

แนะนำ: