สารบัญ:

รางปลั๊กไฟอัจฉริยะที่ใช้ Beaglebone Black และ OpenHAB: 7 ขั้นตอน (พร้อมรูปภาพ)
รางปลั๊กไฟอัจฉริยะที่ใช้ Beaglebone Black และ OpenHAB: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: รางปลั๊กไฟอัจฉริยะที่ใช้ Beaglebone Black และ OpenHAB: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: รางปลั๊กไฟอัจฉริยะที่ใช้ Beaglebone Black และ OpenHAB: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: อยากเห็นเรามุมไหนก็เลือกเอา [ aobaob.pratna25 ] 2024, พฤศจิกายน
Anonim
รางปลั๊กไฟอัจฉริยะจาก Beaglebone Black และ OpenHAB
รางปลั๊กไฟอัจฉริยะจาก Beaglebone Black และ OpenHAB
รางปลั๊กไฟอัจฉริยะจาก Beaglebone Black และ OpenHAB
รางปลั๊กไฟอัจฉริยะจาก Beaglebone Black และ OpenHAB
รางปลั๊กไฟอัจฉริยะจาก Beaglebone Black และ OpenHAB
รางปลั๊กไฟอัจฉริยะจาก Beaglebone Black และ OpenHAB

!!!!! เล่นกับไฟหลัก (110/220V) เป็นอันตราย โปรดใช้ความระมัดระวังให้มาก !!!!

มีการออกแบบรางปลั๊กไฟแบบสมาร์ทที่มีอยู่บางส่วนโดยใช้ "Raspberry Pi" และ Arduinos สองตัวซึ่งแสดงในรูปภาพ "การออกแบบเก่า"

การออกแบบใหม่นี้แตกต่างจากของเก่าในสองวิธี:

  1. เนื่องจาก Raspberry Pi สามารถควบคุม nRF24 ได้โดยใช้ SPI ของตัวเอง จึงไม่มีประสิทธิภาพในการใส่ Arduino เข้าไป นอกจากนี้ ฉันชอบบอร์ด Beaglebone Black เนื่องจากมีราคาถูกและทรงพลัง และโดยเฉพาะอย่างยิ่ง บอร์ดนี้มีอุปกรณ์ต่อพ่วง (เช่น GPIO, SPI) มากกว่า Raspberry Pi
  2. ในรูปแบบเก่า วิธีเดียวที่จะควบคุมรางปลั๊กไฟคือผ่านเว็บอินเทอร์เฟซ (เช่น OpenHAB) อย่างไรก็ตาม การทำเช่นนี้ไม่สะดวกหากปลั๊กพ่วงอยู่ใกล้มือ ดังนั้นในการออกแบบนี้ รางปลั๊กไฟจึงมีสวิตช์แยกสำหรับแต่ละเต้ารับ และผู้คนสามารถเปิด/ปิดแต่ละเต้ารับโดยมีหรือไม่มี OpenHAB (หากใช้ OpenHAB สถานะบน OpenHAB จะได้รับการอัปเดตทุกครั้งที่มีการสลับสวิตช์ทางกายภาพ)

ขั้นตอนที่ 1: สาธิต

Image
Image

ขั้นตอนที่ 2: ภาพรวม

เกตเวย์ - ฮาร์ดแวร์
เกตเวย์ - ฮาร์ดแวร์

รางปลั๊กไฟอัจฉริยะของฉันประกอบด้วยสองส่วน: เกตเวย์และรางปลั๊กไฟ (แสดงในรูปภาพ "การออกแบบของฉัน")

ด้านเกตเวย์ประกอบด้วย:

  1. กระดานดำบีเกิ้ลโบน
  2. โมดูล nRF24L01+
  3. OpenHAB + MQTT (บัสข้อความ)

ด้านรางปลั๊กไฟประกอบด้วย:

  1. คอมโบสวิตช์มาตรฐาน + เต้าเสียบ 3 ชุด (พร้อมกล่อง 3-gang)
  2. บอร์ด Arduino pro mini
  3. โมดูล nRF24L01+
  4. สามโมดูลรีเลย์

รายละเอียดจะกล่าวถึงในขั้นตอนต่อไปนี้

ขั้นตอนที่ 3: เกตเวย์ - ฮาร์ดแวร์

เกตเวย์ - ฮาร์ดแวร์
เกตเวย์ - ฮาร์ดแวร์
เกตเวย์ - ฮาร์ดแวร์
เกตเวย์ - ฮาร์ดแวร์
เกตเวย์ - ฮาร์ดแวร์
เกตเวย์ - ฮาร์ดแวร์

วัสดุ:

กระดานดำบีเกิ้ลโบน

โมดูล nRF24L01+

ตัวเก็บประจุ 10uF (RadioShack, ebay ฯลฯ) เพื่อเพิ่มความน่าเชื่อถือในการรับสัญญาณ

ที่นี่ฉันแสดงการเชื่อมต่อระหว่าง Beaglebone Black และโมดูลวิทยุ ฉันยังแสดงวงจรของฉันด้วย แต่เขียงหั่นขนมก็จะทำงานได้ดีเช่นกัน

ในการใช้โมดูล SPI และ nRF24 ใน Bealebone Black จำเป็นต้องมีสองขั้นตอน

  1. เปิดใช้งาน SPI บน Beaglebone Black
  2. รับ NRF24L01+ วิทยุที่ทำงานบน BAGLEBONE BLACK

ขั้นตอนที่ 4: เกตเวย์ - ซอฟต์แวร์

เกตเวย์ - ซอฟต์แวร์
เกตเวย์ - ซอฟต์แวร์
เกตเวย์ - ซอฟต์แวร์
เกตเวย์ - ซอฟต์แวร์

ในแง่ของซอฟต์แวร์บน Beaglebone Black โครงสร้างโดยรวมแสดงในภาพที่ 1

เนื่องจากมี Debian ทำงานอยู่ จึงง่ายต่อการติดตั้งซอฟต์แวร์โดยใช้คำสั่ง apt-get

OpenHAB เป็น Java ดังนั้นจึงจำเป็นต้องติดตั้ง Java VM โปรดดูรายละเอียดการติดตั้ง OpenHAB (สำหรับ Raspberry Pi แต่ apt-get ใช้ได้กับทั้งสองบอร์ด) ในการเปิดใช้งาน MQTT สำหรับ OpenHAB จะต้องวางไฟล์ "org.openhab.binding.mqtt-x.y.z.jar" ลงในโฟลเดอร์ "addons" ในโฟลเดอร์ซอร์สของ OpenHAB ต้องการไฟล์การกำหนดค่าสามไฟล์ (แนบด้านล่าง) โดยที่ "openhab.cfg", "test.sitemap" และ "test.items" ควรใส่ลงในโฟลเดอร์ "configurations", "configurations/sitemaps" และ "configurations/items" ตามลำดับ จากนั้น เปิด OpenHAB ได้โดยพิมพ์ "./start.sh"

สำหรับบัส MQTT ฉันใช้ Mosquitto ซึ่งเป็นโบรกเกอร์โอเพ่นซอร์ส MQTT เวอร์ชัน Mosquito บน apt-get ค่อนข้างเก่า ดังนั้นฉันจึงดาวน์โหลดซอร์สโค้ดเพื่อคอมไพล์และติดตั้ง

  1. รับซอร์สโค้ดจากเว็บไซต์อย่างเป็นทางการด้านบน
  2. ในโฟลเดอร์ซอร์สโค้ด ให้สร้างโฟลเดอร์ใหม่ชื่อ "build"
  3. ไปที่ "สร้าง" พิมพ์ "cmake.."
  4. จากนั้นกลับไปที่โฟลเดอร์ด้านบน พิมพ์ "make" และ "make install"

สุดท้าย โปรแกรมเกตเวย์เป็นสะพานเชื่อมระหว่าง MQTT บัสและโมดูล nRF24 และสถาปัตยกรรมแสดงในภาพที่ 2 มีสองคิว แต่ละคิวสำหรับทิศทางเดียว (เช่น หนึ่งสำหรับควบคุม CMD จาก OpenHAB ไปยังรางปลั๊ก หนึ่งสำหรับ กลับทิศทาง) โดยทั่วไปจะเป็นการนำตรรกะของผู้ผลิต/ผู้บริโภคไปใช้อย่างง่าย ซอร์สโค้ดของเกตเวย์สามารถพบได้ที่นี่ โดยใช้คุณลักษณะ C++11 บางอย่าง (หากต้องการติดตั้ง GCC ที่ใหม่กว่าบน Beaglebone Black โปรดดูบทความนี้) และถือว่า nRF24 lib ได้รับการติดตั้งแล้ว (โปรดดูขั้นตอนก่อนหน้า)

ขั้นตอนที่ 5: รางปลั๊กไฟ - ฮาร์ดแวร์

รางปลั๊กไฟ - ฮาร์ดแวร์
รางปลั๊กไฟ - ฮาร์ดแวร์
รางปลั๊กไฟ - ฮาร์ดแวร์
รางปลั๊กไฟ - ฮาร์ดแวร์
รางปลั๊กไฟ - ฮาร์ดแวร์
รางปลั๊กไฟ - ฮาร์ดแวร์

วัสดุ:

บอร์ด Arduino pro mini

โมดูล nRF24L01+

ตัวเก็บประจุ 10uF (RadioShack, ebay ฯลฯ) เพื่อเพิ่มความน่าเชื่อถือในการรับสัญญาณ

ตัวต้านทาน 10K สามตัว (RadioShack, ebay เป็นต้น) สำหรับสวิตช์

สามโมดูลรีเลย์

คอมโบสวิตช์/เต้ารับมาตรฐานสามชุดและกล่องหนึ่งกล่อง ฉันซื้อมาจาก Lowe's

โมดูล 110vac ถึง 5vdc เพื่อจ่ายไฟให้กับ Arduino และรีเลย์

ขั้นตอนลงจาก 5vdc ถึง 3vdc เพื่อจ่ายไฟให้กับ nRF24

การเชื่อมต่อจะแสดงในรูปที่ 1

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

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

ขั้นตอนที่ 6: รางปลั๊กไฟ - ซอฟต์แวร์

ฉันใช้ไลบรารี nRF24 เดียวกันสำหรับ Arduino เช่นเดียวกับ Beaglebone Black (ในที่นี้ โฟลเดอร์ librf24-bbb ใช้สำหรับ Beaglebone Black ในขณะที่ไลบรารี่ในโฟลเดอร์รูทสำหรับ Arduino) แต่คุณยังสามารถใช้ Arduion เวอร์ชันที่แข็งแกร่งและทรงพลังกว่าได้ ที่นี่.

ซอร์สโค้ดของฉันสำหรับด้านรางปลั๊กพ่วงอยู่ที่นี่ โปรดใช้ Arduino IDE (หรือทางเลือกอื่น) และโปรแกรมเมอร์ที่ถูกต้องเพื่อติดตั้งบน Arduino pro mini

ขั้นตอนที่ 7: บทสรุป

สนุก!!!

แนะนำ: