สารบัญ:

การสื่อสารไร้สาย SmartHome: พื้นฐานขั้นสูงสุดของ MQTT: 3 ขั้นตอน
การสื่อสารไร้สาย SmartHome: พื้นฐานขั้นสูงสุดของ MQTT: 3 ขั้นตอน

วีดีโอ: การสื่อสารไร้สาย SmartHome: พื้นฐานขั้นสูงสุดของ MQTT: 3 ขั้นตอน

วีดีโอ: การสื่อสารไร้สาย SmartHome: พื้นฐานขั้นสูงสุดของ MQTT: 3 ขั้นตอน
วีดีโอ: เรียนรู้ MQTT และควบคุมอุปกรณ์ IoTs จากทุกมุมโลกด้วย MQTT เข้าใจง่าย #mqtt 2024, พฤศจิกายน
Anonim
การสื่อสารไร้สาย SmartHome: พื้นฐานขั้นสูงของ MQTT
การสื่อสารไร้สาย SmartHome: พื้นฐานขั้นสูงของ MQTT
การสื่อสารไร้สาย SmartHome: พื้นฐานขั้นสูงของ MQTT
การสื่อสารไร้สาย SmartHome: พื้นฐานขั้นสูงของ MQTT

ข้อมูลเบื้องต้นเกี่ยวกับ 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 โปรดติดตามฉันเพื่อดูบทแนะนำเพิ่มเติม

แนะนำ: