สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การตั้งค่าเริ่มต้น (ขึ้นอยู่กับระบบปฏิบัติการของคุณ)
- ขั้นตอนที่ 2: การตั้งค่ายุง:
- ขั้นตอนที่ 3: สรุป
วีดีโอ: การสื่อสารไร้สาย SmartHome: พื้นฐานขั้นสูงสุดของ MQTT: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
ข้อมูลเบื้องต้นเกี่ยวกับ MQTT:
**ฉันกำลังจะทำซีรีส์ Home Automation ฉันจะทำตามขั้นตอนที่ฉันทำเพื่อเรียนรู้ทุกสิ่งที่ฉันทำในอนาคต คำแนะนำนี้เป็นพื้นฐานในการตั้งค่า MQTT สำหรับใช้ใน Instructables ในอนาคตของฉัน อย่างไรก็ตาม คำสอนในเนื้อหานี้จะนำไปใช้กับโครงงานที่ต้องการทำ**
อินเทอร์เน็ตของสิ่งต่างๆ:
Internet of Things กำลังครองโลก และโดยเฉพาะอย่างยิ่งในชุมชนเช่นของเราเองที่ Instructables ตั้งแต่ฉันเข้าร่วมชุมชนนี้ ผู้คนก็ยึดติดอยู่กับที่
อุปกรณ์ที่เชื่อมต่อและควบคุมผ่านอินเทอร์เน็ต เมื่อทำงานกับ Internet of Things เป็นเรื่องยากที่จะไม่ใช้โปรโตคอล MQTT นี่เป็นโปรโตคอลการสื่อสารเช่นเดียวกับที่ใช้กับอินเทอร์เน็ตในปัจจุบัน เช่น HTTP หรือ FTP อย่างไรก็ตาม วิธีการทำงานนั้นแตกต่างออกไป ซึ่งทำให้เหมาะสำหรับแอปพลิเคชัน Internet of Things
MQTT คืออะไร:
MQTT (Message Queuing Telemetry Transport เป็นโปรโตคอลการสื่อสารขนาดเล็กที่ใช้สถาปัตยกรรมการเผยแพร่/สมัครรับข้อมูล HTTP ซึ่งเป็นสิ่งที่อินเทอร์เน็ตส่วนใหญ่ใช้ สร้างขึ้นบนระบบคำขอ/ตอบกลับ ซึ่งหมายความว่าได้รับคำขอจากลูกค้า และส่ง การตอบสนองต่อไคลเอนต์นั้น MQTT ยังมีเซิร์ฟเวอร์ (เรียกว่านายหน้า) เช่นเดียวกับไคลเอนต์จำนวนมาก ตรงกันข้ามกับ HTTP MQTT อนุญาตให้ลูกค้าเผยแพร่หรือสมัครรับ "หัวข้อ" เฉพาะ สิ่งนี้ช่วยให้มีการสื่อสารในวงกว้างมากขึ้นผ่าน จุดศูนย์กลาง คือ โบรกเกอร์ แต่ละโหนดสามารถเผยแพร่ไปยังหัวข้อบนนายหน้า และโหนดใดๆ ที่สมัครรับข้อมูลในหัวข้อนั้นจะได้รับข้อความ ลูกค้าสามารถสมัครรับข้อมูลหลายหัวข้อได้เช่นกัน และจากนั้นสามารถรับคำสั่งหรือการอัปเดตได้หลายรายการ
ทั้งระบบขับเคลื่อนด้วยเหตุการณ์และอนุญาตให้ส่งข้อความจากนายหน้าไปยังลูกค้าที่สมัครรับข้อมูลแต่ละราย ดังนั้นแทนที่จะเป็น HTTP ซึ่งลูกค้าร้องขอข้อมูล ลูกค้าจะถูกผลักข้อมูลโดยตรงจากนายหน้าเมื่อได้รับ มีบริการในตัวรวมทั้งช่วยป้องกันต่างๆ เช่นข้อกำหนด QOS ข้อกำหนด QOS ช่วยให้นายหน้ากำหนดว่าต้องส่งข้อความอย่างน้อยหนึ่งครั้ง อย่างน้อยหนึ่งครั้ง หรือเพียงครั้งเดียว สิ่งนี้ทำให้มั่นใจได้ว่าข้อมูลถูกส่งไปในทางที่ต้องการให้กับลูกค้าแต่ละราย ลูกค้ายังสามารถขอให้ข้อความที่เผยแพร่ไปยังหัวข้อของพวกเขาถูกบัฟเฟอร์ในนายหน้าในกรณีที่ยกเลิกการเชื่อมต่อด้วยเหตุผลใดก็ตาม เมื่อกลับมาออนไลน์ ข้อมูลนั้นจะถูกส่งต่อไปยังไคลเอนต์
หัวข้อไม่มีอะไรพิเศษ เป็นเพียงความหลากหลายของสตริงที่รวมและคั่นด้วยเครื่องหมายทับ รูปแบบในตัวอย่างที่จะใช้ด้านล่างมีดังต่อไปนี้: home/bedroom/ceiling_light เครื่องหมายทับแต่ละอันจะอยู่หลังหัวข้อเพื่อแสดงหัวข้อย่อย จึงสามารถเผยแพร่ข้อความถึงบ้าน โดยอุปกรณ์ทั้งหมดในบ้านจะได้รับข้อความนั้น สามารถเผยแพร่ไปยังบ้าน/ห้องนอนได้โดยตรง โดยอุปกรณ์ทั้งหมดในห้องนอนจะได้รับข้อความ และสามารถลงไปที่อุปกรณ์เฉพาะตามที่แสดงครั้งแรก home/bedroom/ceiling_light โดยที่ไฟเพดานในห้องนอนเท่านั้นที่จะได้รับข้อความ วิธีที่เราสามารถสรุปอุปกรณ์แต่ละชิ้นเช่นนี้ไปจนถึงระบบนิเวศทั้งหมดนั้นมีประโยชน์อย่างยิ่ง โดยเฉพาะอย่างยิ่งเมื่อพูดถึงระบบอัตโนมัติภายในบ้าน มีวิธีเพิ่มเติมในการแบ่งหัวข้อ และฉันจะพูดถึงพวกเขาเพิ่มเติมใน Instructables ในอนาคตที่แอปพลิเคชันเหมาะสมที่สุด
เสบียง
ต้องการเพียงอย่างใดอย่างหนึ่งต่อไปนี้:
อูบุนตู:
ระบบย่อย Windows สำหรับ Linux: https://ubuntu.com/wsl (เฉพาะในกรณีที่คุณไม่มี Linux/MacOS)
MacOS: ต้องใช้ MacBook
สิ่งนี้จำเป็น:
Mosquitto MQTT Broker - ดาวน์โหลดโดยใช้ apt-get (เอกสารประกอบ:
ขั้นตอนที่ 1: การตั้งค่าเริ่มต้น (ขึ้นอยู่กับระบบปฏิบัติการของคุณ)
MacOS/ลินุกซ์:
ไม่จำเป็นต้องตั้งค่าใดๆ เพียงแค่เปิดเทอร์มินัลแล้วข้ามไปที่ Mosquitto Setup !
หน้าต่าง:
หากคุณใช้ Windows คุณจะต้องติดตั้งระบบย่อย Windows สำหรับ Linux นี่เป็นเครื่องมือที่ใช้งานง่ายและมีค่าอย่างยิ่งที่ให้คุณเรียกใช้เทอร์มินัล Ubuntu ภายใน Windows ไม่จำเป็นต้องติดตั้งและบูตคู่ Ubuntu เพียงเพื่อทดสอบการพัฒนาในเทอร์มินัล!
ขั้นตอนการติดตั้ง:
1. ไปที่ Windows Store และค้นหา ubuntu
2. ดาวน์โหลดและติดตั้งระบบย่อย Windows สำหรับ Linux
3. เปิดแอปพลิเคชันและทำตามคำแนะนำเพื่อตั้งค่าให้เสร็จสิ้น และคุณพร้อมที่จะดำเนินการต่อ!
ขั้นตอนที่ 2: การตั้งค่ายุง:
ดังที่ได้กล่าวไว้ในบทนำเกี่ยวกับ MQTT โปรโตคอลต้องการโบรกเกอร์ (เซิร์ฟเวอร์) โบรกเกอร์รายนี้เป็นฐานสำหรับการเชื่อมต่อที่สร้างขึ้นทั้งหมดกับลูกค้าแต่ละราย ข้อความทั้งหมดจะถูกส่งผ่านและเข้าคิวในโบรกเกอร์นี้ มีตัวเลือกมากมายให้เลือกสำหรับนายหน้า และคุณสามารถค้นหาสิ่งเหล่านี้ได้ทางออนไลน์ แต่ตัวเลือกที่เราจะใช้นั้นน่าจะเป็นตัวเลือกที่พบบ่อยที่สุด: Mosquitto
Mosquitto เป็นโบรกเกอร์ MQTT บน Linux ที่มีฟังก์ชันการทำงานมากมาย ฉันจะไม่พูดถึงคุณสมบัติเฉพาะของฟังก์ชันนั้นในตอนนี้ แต่ข้อกำหนดพื้นฐานบางประการที่ทำได้คือการตรวจสอบสิทธิ์ผู้ใช้/รหัสผ่าน และการเข้ารหัส TLS รองรับซึ่งทั้งหมดนี้มีประโยชน์ในการพัฒนาอุปกรณ์ Internet of Things
ขั้นตอน:
ขั้นตอนทั้งหมดเหล่านี้ควรเสร็จสิ้นในหน้าต่างเทอร์มินัล
1. ติดตั้งไคลเอนต์ Mosquitto และ MQTT
sudo apt-get ติดตั้ง mosquitto mosquitto-clients
2. สมัครสมาชิกหัวข้อ
mosquitto_sub -t "ทดสอบ"
สิ่งนี้ทำคือสมัครรับข้อมูลจากหัวข้อ หัวข้อนี้แสดงด้วย "-t" และค่าของหัวข้อคือ "test" ค่านี้ที่ตามหลัง "-t" สามารถเป็นอะไรก็ได้ที่คุณต้องการ บันทึกไว้สำหรับการจองพิเศษสองสามรายการ
3. เปิดหน้าต่างเทอร์มินัลใหม่และเผยแพร่ข้อความในหัวข้อ "ทดสอบ"
mosquitto_pub -t "test" -m "สวัสดีชาวโลกด้วย MQTT!"
เผยแพร่ข้อความในหัวข้อ "ทดสอบ" ซึ่งช่วยให้อินสแตนซ์เทอร์มินัลอื่นของเราได้รับข้อความด้านการสมัครรับข้อมูล ข้อความที่เผยแพร่จะแสดงด้วย "-m" และค่าของข้อความคือ "Hello World With MQTT" ข้อความนี้เช่นเดียวกับหัวข้อสามารถเปลี่ยนเป็นสิ่งที่คุณต้องการ!
4. ไปที่หน้าต่างเทอร์มินัลแรกเพื่อดูผลลัพธ์ของคุณ! คุณควรได้รับข้อความว่า "Hello World With MQTT" แสดงขึ้น หากคุณไม่เห็นสิ่งนี้ ตรวจสอบให้แน่ใจว่าคุณได้พิมพ์หัวข้อที่ถูกต้อง หากคุณทำสิ่งนี้สำเร็จแล้ว ให้เล่นต่อไป ลองหัวข้อต่างๆ ด้วยหัวข้อย่อยและข้อความที่แตกต่างกัน!
ขั้นตอนที่ 3: สรุป
แค่นั้นแหละ! เมื่อคุณทำเสร็จแล้ว คุณจะเข้าใจพื้นฐานวิธีการทำงานของ MQTT นี่เป็นบทช่วยสอนพื้นฐานที่แสดงขั้นต่ำสุดของโปรโตคอล MQTT Instructables ในอนาคตจะอธิบายอย่างละเอียดยิ่งขึ้นว่าโปรโตคอลทำงานอย่างไรในทางปฏิบัติกับ Internet of Things โดยเฉพาะอย่างยิ่งกับโมดูล ESP8266 ที่รัน Arduino การใช้งานจริงครั้งแรกของฉันคือเครื่องชงกาแฟอัจฉริยะที่ฉันมีอยู่ในห้องของฉัน หากคุณต้องการเรียนรู้วิธีทำเครื่องชงกาแฟที่สามารถควบคุมได้จากทั้งโทรศัพท์ของคุณและ Alexa โปรดติดตามฉันเพื่อดูบทแนะนำเพิ่มเติม
แนะนำ:
Wirenboard SmartHome (อพาร์ตเมนต์แบบสองห้องนอน): 7 ขั้นตอน
Wirenboard SmartHome (อพาร์ตเมนต์แบบสองห้องนอน): ในบทช่วยสอนนี้ เราจะอธิบายวิธีการทำโครงการบ้านอัจฉริยะของคุณเอง WB6 - เป็นคอมพิวเตอร์ที่เข้ากันได้กับ Raspberry Pi มีอินเทอร์เฟซ I/O ที่ออกแบบมาเป็นพิเศษเพื่อเชื่อมโยงเซ็นเซอร์ รีเลย์ และอุปกรณ์อื่นๆ ลองใช้อพาร์ตเมนต์ 2 ห้องนอนนี้เป็นตัวอย่าง
เครื่องชงกาแฟอัจฉริยะ - ส่วนหนึ่งของระบบนิเวศ SmartHome: 4 ขั้นตอน
เครื่องทำกาแฟอัจฉริยะ - ส่วนหนึ่งของระบบนิเวศ SmartHome: เครื่องชงกาแฟที่ถูกแฮ็ก ทำให้เป็นส่วนหนึ่งของระบบนิเวศ SmartHome ฉันมีเครื่องชงกาแฟ Delonghi (DCM) รุ่นเก่าที่ดี (ไม่ใช่โปรโมชั่นและต้องการให้ "ฉลาด" ดังนั้นฉันจึงแฮ็กโดยติดตั้ง ESP8266 โมดูลที่มีส่วนต่อประสานกับสมอง / ไมโครคอนโทรลเลอร์โดยใช้
SmartHome กับ Raspberry Pi: 5 ขั้นตอน
SmartHome กับ Raspberry Pi: สำหรับโครงการนี้ ฉันได้สร้าง SmartHome ที่สามารถใช้งานได้โดยเว็บไซต์และมือถือ สำหรับสิ่งนี้ ฉันใช้ Raspberry PI เป็นฐานข้อมูลและเว็บเซิร์ฟเวอร์
VW Standheizung Smarthome Einleitung: 4 ขั้นตอน
VW Standheizung Smarthome Einleitung: ในเครื่องดีเซล Projekt zeige ich, wie ich die Standheizung meines Autos in mein Smarthome implementiert habe. Ich wollte, dass sich das Auto selbständig ohne mein Zutun heizt. ตกลง Auch eine Sprachsteuerung und die Steuerung durch eine App sollte möglich se
Inatel - SmartHome - SH2Y - Sistema De Monitoramento E Segurança Física De Ambiente: 6 ขั้นตอน
Inatel - SmartHome - SH2Y - Sistema De Monitoramento E Segurança Física De Ambiente: Foi desenvolvido um "ระบบของ Monitoramento e Segurança Física de Ambiente" สำหรับ Smart Homes, com o intuito de monitorar o status de vari'veis como "Temperatura", "Luminosidade" e "เซ็นเซอร์เดอ