สารบัญ:
- ขั้นตอนที่ 1: MQTT คืออะไร
- ขั้นตอนที่ 2: การติดตั้ง MQTT Broker บน Raspberry Pi
- ขั้นตอนที่ 3: เชื่อมต่อ IOT Cricket กับ RaspberryPi ผ่าน MQTT
- ขั้นตอนที่ 4: ตรวจสอบข้อความ MQTT
- ขั้นตอนที่ 5: สรุป
- ขั้นตอนที่ 6: เกี่ยวกับเรา
วีดีโอ: ระบบอัตโนมัติภายในบ้าน WiFi พลังงานต่ำพิเศษ: 6 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
ในโครงการนี้ เราจะแสดงวิธีสร้างระบบอัตโนมัติภายในบ้านขั้นพื้นฐานในไม่กี่ขั้นตอน เราจะใช้ Raspberry Pi ซึ่งจะทำหน้าที่เป็นอุปกรณ์ WiFi ส่วนกลาง สำหรับ end nodes เราจะใช้ IOT Cricket เพื่อสร้างอุปกรณ์ WiFi ที่ใช้พลังงานจากแบตเตอรี่เช่น เซ็นเซอร์อุณหภูมิและเชื่อมต่อกับ RPi โดยไม่ต้องเขียนโค้ดบรรทัดเดียว
ระบบของเราจะใช้โปรโตคอลการสื่อสาร MQTT ซึ่งถูกนำไปใช้อย่างมหาศาลในระบบอัตโนมัติภายในบ้านส่วนใหญ่ ในการตั้งค่า เราเลือกโบรกเกอร์ Mosquitto MQTT (เซิร์ฟเวอร์) และติดตั้งบน Raspberry Pi (ศูนย์กลางของเรา)
IOT Cricket ยังมาพร้อมกับการสนับสนุนโปรโตคอล HTTP(S) และ MQTT เรากำหนดค่าให้ใช้ MQTT เพื่อสื่อสารโดยตรงกับนายหน้า RPi MQTT ของเรา
โครงการนี้สามารถรับรู้ได้โดยผู้สร้างทุกระดับทักษะ อาจต้องใช้การบัดกรีขั้นพื้นฐาน แต่ไม่จำเป็นต้องเขียนโค้ดหรือเขียนโปรแกรมใดๆ ในตอนท้ายของโปรเจ็กต์นี้ คุณจะเข้าใจวิธีสร้างระบบของคุณเองอย่างง่ายดายและขยายอย่างรวดเร็วโดยการเพิ่มโหนดปลาย IOT ของคุณเองลงในระบบ
เสบียง:
- Raspberry Pi (เราใช้ ver. 3 สำหรับโครงการนี้)
- โมดูล IOT Cricket WiFi
- ที่ใส่แบตเตอรี่ 2xAAA
- แบตเตอรี่ AAA 2 ก้อน
ขั้นตอนที่ 1: MQTT คืออะไร
โปรโตคอล MQTT ให้วิธีการที่มีน้ำหนักเบาในการดำเนินการส่งข้อความโดยใช้รูปแบบการเผยแพร่/สมัครรับข้อมูล ทำให้เหมาะสำหรับการส่งข้อความทางอินเทอร์เน็ตของสรรพสิ่ง เช่น เซ็นเซอร์พลังงานต่ำหรืออุปกรณ์พกพา เช่น โทรศัพท์ คอมพิวเตอร์แบบฝัง หรือไมโครคอนโทรลเลอร์ (ที่มา: mosquitto.org)
เราสามารถใช้อุปกรณ์ได้มากเท่าที่ต้องการสมัครรับข่าวสารและฟังข้อความที่จะมาถึง หากอุปกรณ์บางเครื่องเผยแพร่ข้อความในหัวข้อนั้น อุปกรณ์ทั้งหมดที่สมัครรับข้อมูลในหัวข้อนั้นจะได้รับข้อความนั้นทันที หัวข้อสามารถเป็นสตริงใดก็ได้ที่มักจะต่อด้วย / อักขระ เพื่อสร้างหัวข้อตามลำดับชั้น การใช้งาน MQTT โดยทั่วไปที่สุดคือการมีเซิร์ฟเวอร์กลางเพียงเครื่องเดียวที่อุปกรณ์สามารถสมัครและเผยแพร่ข้อความได้ อำนวยความสะดวกในการสื่อสารทั้งหมดระหว่างอุปกรณ์ที่เชื่อมต่อกับเซิร์ฟเวอร์นั้น ในโครงการนี้ เราจะใช้ RPi เพื่อทำหน้าที่เป็นนายหน้ากลาง MQTT ของเราและอุปกรณ์อื่น ๆ ทั้งหมดจะส่งข้อความผ่านนายหน้านี้ วิธีที่ดีที่สุดที่จะเรียนรู้เกี่ยวกับมันก็คือการทำด้วยตัวเอง มีแหล่งข้อมูลมากมายบนอินเทอร์เน็ตบน MQTT อย่างไรก็ตาม สำหรับโครงการนี้ คุณน่าจะโอเคกับการแนะนำพื้นฐานที่เราให้ไว้ข้างต้น
ขั้นตอนที่ 2: การติดตั้ง MQTT Broker บน Raspberry Pi
สำหรับโครงการนี้ เราใช้โอเพ่นซอร์ส Mosquitto MQTT โบรกเกอร์ มีน้ำหนักเบาและเหมาะสำหรับใช้กับอุปกรณ์ทั้งหมดตั้งแต่คอมพิวเตอร์บอร์ดเดี่ยวที่ใช้พลังงานต่ำไปจนถึงเซิร์ฟเวอร์เต็มรูปแบบ
ก่อนที่เราจะเริ่มการติดตั้ง คุณควรอัปเดตส่วนประกอบของระบบก่อน:
$ sudo apt-get update$ sudo apt-get upgrade
ติดตั้งนายหน้า Mosquitto เปิดเทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:
$ sudo apt-get ติดตั้ง mosquitto -y
กำหนดค่านายหน้า Mosquitto แก้ไขไฟล์กำหนดค่า:
$ sudo vi /etc/mosquitto/mosquitto.conf
และเพิ่มบรรทัดต่อไปนี้ที่ด้านบน:
พอร์ต 1883allow_anonymous จริง
รีสตาร์ท RPi เพื่อใช้การเปลี่ยนแปลง:
$ sudo รีบูต
แค่นั้นแหละ! โบรกเกอร์ MQTT ของเราพร้อมให้บริการแล้ว!
หมายเหตุ: เพื่อความเรียบง่ายของโครงการนี้ เราไม่ได้สร้างบัญชี ดังนั้นใครก็ตามในเครือข่ายท้องถิ่นของเราสามารถเชื่อมต่อกับโบรกเกอร์ MQTT นี้ได้โดยไม่ต้องใช้ข้อมูลประจำตัว หากคุณต้องการเพิ่มการตรวจสอบสิทธิ์ผู้ใช้และทำให้ปลอดภัยยิ่งขึ้น มีบทช่วยสอนมากมายบนอินเทอร์เน็ตว่าต้องทำอย่างไร
ตอนนี้ เราแค่ต้องการรับที่อยู่ IP เพื่อให้เราสามารถส่งข้อความไปยังนายหน้า Mosquitto ของเราจากอุปกรณ์อื่นในเครือข่าย:
รับที่อยู่ IP:
$ ชื่อโฮสต์ -I
your_RPi_IP_address (เช่น 192.168.1.10)
ขั้นตอนที่ 3: เชื่อมต่อ IOT Cricket กับ RaspberryPi ผ่าน MQTT
ในโครงการนี้ เราใช้โมดูล IOT Cricket WiFi สำหรับเซ็นเซอร์อย่างง่ายเพื่อรายงานอุณหภูมิทุกๆ 30 วินาทีไปยังระบบของเรา มันจะทำงานโดยใช้แบตเตอรี่เพื่อให้เราสามารถติดได้ทุกที่ที่บ้านหรือในสวน หลังจากนั้น คุณสามารถใช้ IOT Cricket เพื่อสร้างเซ็นเซอร์ที่ใช้พลังงานจากแบตเตอรี่ การเตือน ปุ่ม สวิตช์ และเชื่อมต่อเข้ากับโบรกเกอร์ RPi MQTT ของเราตั้งแต่แกะกล่อง
ในขั้นตอนแรกให้เชื่อมต่อแบตเตอรี่กับคริกเก็ต
คริกเก็ตมาพร้อมกับเซ็นเซอร์อุณหภูมิในตัว เราเพียงแค่ต้องกำหนดค่าให้ส่งค่าอุณหภูมิไปยังโบรกเกอร์ MQTT ของเราโดยการตั้งค่าที่อยู่ IP RPi เพื่อเปิดแผงการกำหนดค่าของ Cricket (ดูขั้นตอนที่นี่) และใช้การตั้งค่าต่อไปนี้ (ดังแสดงในภาพด้านล่าง) ปรับที่อยู่ IP ในกล่อง "url" เป็น RPi ของคุณ)
ตอนนี้เราสามารถออกจากโหมดการกำหนดค่าได้ อุปกรณ์พร้อม! คริกเก็ตส่งข้อมูลไปยังโบรกเกอร์ MQTT ของเราทุก ๆ 30 วินาทีแล้ว
ขั้นตอนที่ 4: ตรวจสอบข้อความ MQTT
ในการดู/รับข้อความที่ส่งไปยังโบรกเกอร์ MQTT ของเรา เราสามารถใช้เครื่องมือต่างๆ
วิธีที่ง่ายที่สุดคือเครื่องมือบรรทัดคำสั่ง mosquitto_sub เราสามารถติดตั้งบนคอมพิวเตอร์เครื่องใดก็ได้ในเครือข่ายของเราหรือบน RPi ของเราด้วยคำสั่งนี้:
$ sudo apt-get ติดตั้ง mosquitto-clients -y
ตอนนี้ เราสามารถรันคำสั่งต่อไปนี้เพื่อฟังหัวข้อและข้อความทั้งหมดที่ส่งผ่านโบรกเกอร์ MQTT ของเรา:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / device_name MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / อุณหภูมิ 26.0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
ข้างต้นเป็นตัวอย่างผลลัพธ์ของสิ่งที่ IOT Cricket ส่งไปยังโบรกเกอร์ของเรา ท่ามกลางข้อมูลอื่น ๆ เราสามารถเห็นได้ว่ามีอุณหภูมิ:
/59A98F494C/อุณหภูมิ 26.0
ความสวยงามของ MQTT คือทำให้เราสามารถสมัครรับเฉพาะหัวข้อที่เราสนใจเท่านั้น หากเราต้องการรับเพียงอุณหภูมิ เราสามารถสมัครรับหัวข้อ /59A98F494C/temp โดยใช้คำสั่งต่อไปนี้:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/ชั่วคราว'
…26.126.527.227.6…
ขั้นตอนที่ 5: สรุป
เราได้แสดงให้เห็นในโครงการนี้ถึงฮาร์ดแวร์และซอฟต์แวร์ที่จำเป็นในการเริ่มสร้างระบบอัตโนมัติภายในบ้านที่ใช้พลังงานต่ำ ประหยัดพลังงาน โดยใช้ WiFi MQTT เป็นหัวใจสำคัญในการสร้างระบบที่ซับซ้อนยิ่งขึ้น
ระบบนิเวศของซอฟต์แวร์และบริการที่สามารถรวมเข้ากับ MQTT นั้นใหญ่มาก! มีระบบที่ยอดเยี่ยมมากมาย เช่น Home Assistant, Node RED, Grafana เป็นต้น เพื่อให้คุณได้สัมผัสกับประสบการณ์ผู้ใช้ที่ยอดเยี่ยมของระบบของคุณเอง ไม่เพียงแต่เราสามารถพิมพ์อุณหภูมิอย่างง่ายๆ เท่านั้น แต่เราสามารถมีแดชบอร์ดที่ยอดเยี่ยมที่แสดงข้อมูลและจัดการอุปกรณ์ของคุณได้
เนื่องจากเรามีโครงสร้างพื้นฐานของระบบพื้นฐานอยู่แล้ว ท้องฟ้าจึงเป็นขีดจำกัดของอุปกรณ์ WiFi อื่นๆ ที่เราสามารถสร้างได้โดยใช้โมดูล IOT Cricket และเพิ่มลงในระบบอัตโนมัติในบ้านของเรา
ขอบคุณสำหรับการมาถึงที่นี่ เราหวังว่าคุณจะสนุกกับการกวดวิชานี้!
ทีมงาน Things On Edge
ขั้นตอนที่ 6: เกี่ยวกับเรา
Things On Edge เป็นบริษัทที่ตั้งอยู่ในเมืองเคมบริดจ์ สหราชอาณาจักร เราออกแบบโมดูล Cricket Wi-Fi ที่ใช้พลังงานแบตเตอรี่ต่ำเป็นพิเศษ เพื่อให้คุณเชื่อมต่ออุปกรณ์อิเล็กทรอนิกส์ต่างๆ กับสมาร์ทโฟนหรือบริการอินเทอร์เน็ตอื่นๆ ได้อย่างแท้จริงในเวลาไม่กี่นาที ไม่ต้องการการเขียนโปรแกรมและการเข้ารหัสใด ๆ ช่วยให้คุณสามารถรวมอุปกรณ์ของคุณเข้ากับบริการระบบนิเวศ IOT ขนาดใหญ่ผ่าน MQTT และ HTTP apis
แนะนำ:
Tiny Fire Alarm Detector Esp8266 MQTT IFTTT ระบบอัตโนมัติภายในบ้าน: 4 ขั้นตอน
Tiny Fire Alarm Detector Esp8266 MQTT IFTTT Home Automation: ฉันต้องการตรวจสอบว่าระบบตรวจจับควันไฟในบ้านของฉันอยู่ในสัญญาณเตือนภัยหรือไม่ ฉันมีเครื่องตรวจจับควันไฟแปดเครื่องในบ้านของฉันและเชื่อมต่อถึงกัน หากเครื่องตรวจจับควันเครื่องหนึ่งอยู่ในสัญญาณเตือนภัย อีกเครื่องหนึ่งจะรับสัญญาณผ่านสายสัญญาณการเชื่อมต่อโครงข่าย เซ็นเซอร์ของฉันอ่าน
ระบบอัตโนมัติภายในบ้าน Bluetooth ผ่าน Android: 3 ขั้นตอน
ระบบอัตโนมัติในบ้านด้วย Bluetooth ผ่าน Android: การใช้ชีวิตในศตวรรษที่ 21 กำลังอยู่ในศตวรรษของระบบอัตโนมัติ อย่างไรก็ตาม ไม่ใช่ทุกคนที่มีความหรูหรานี้ ไม่ต้องกังวล! คำแนะนำนี้จะบอกคุณอย่างชัดเจนถึงวิธีการทำให้เครื่องใช้ของคุณเป็นอัตโนมัติเพื่อให้คุณสามารถเปิดหรือปิดได้เพียงแค่แตะปุ่ม
การสังเคราะห์เสียงพูดย้อนยุค ส่วน: 12 IoT, ระบบอัตโนมัติภายในบ้าน: 12 ขั้นตอน (พร้อมรูปภาพ)
การสังเคราะห์เสียงพูดย้อนยุค ส่วน: 12 IoT, ระบบอัตโนมัติในบ้าน: บทความนี้เป็นบทความที่ 12 ในชุดเกี่ยวกับระบบอัตโนมัติภายในบ้าน Instructables ที่บันทึกวิธีการสร้างและรวมอุปกรณ์สังเคราะห์เสียงพูด IoT Retro เข้ากับระบบอัตโนมัติภายในบ้านที่มีอยู่ รวมถึงฟังก์ชันซอฟต์แวร์ที่จำเป็นทั้งหมดเพื่อเปิดใช้งาน T
IoT เมนส์คอนโทรลเลอร์ ตอนที่ 9: IoT, ระบบอัตโนมัติภายในบ้าน: 10 ขั้นตอน (พร้อมรูปภาพ)
IoT เมนส์คอนโทรลเลอร์ ส่วนที่ 9: IoT ระบบอัตโนมัติในบ้าน: ข้อจำกัดความรับผิดชอบ โปรดอ่านก่อน รายละเอียดของโครงการนี้อธิบายได้โดยใช้ไฟหลัก (ในกรณีนี้คือ UK 240VAC RMS) ในขณะที่ใช้ความระมัดระวังทุกประการเพื่อใช้หลักปฏิบัติที่ปลอดภัยและหลักการออกแบบที่ดี มีความเสี่ยงที่อาจถึงแก่ชีวิตได้เสมอ เลือก
WiFi IoT เซ็นเซอร์อุณหภูมิและความชื้น ส่วน: 8 IoT, ระบบอัตโนมัติภายในบ้าน: 9 ขั้นตอน
WiFi IoT เซ็นเซอร์อุณหภูมิและความชื้น ส่วน: 8 IoT, ระบบอัตโนมัติในบ้าน: คำนำ บทความนี้จัดทำเอกสารเกี่ยวกับความทนทานในทางปฏิบัติและการพัฒนาต่อจากที่สั่งได้ก่อนหน้านี้: 'Pimping' อุปกรณ์ IoT WiFi เครื่องแรกของคุณ ส่วนที่ 4: IoT, Home Automation รวมถึงฟังก์ชันซอฟต์แวร์ที่จำเป็นทั้งหมดเพื่อให้ประสบความสำเร็จ