Tartalomjegyzék:

SmartHome vezeték nélküli kommunikáció: az MQTT extrém alapjai: 3 lépés
SmartHome vezeték nélküli kommunikáció: az MQTT extrém alapjai: 3 lépés

Videó: SmartHome vezeték nélküli kommunikáció: az MQTT extrém alapjai: 3 lépés

Videó: SmartHome vezeték nélküli kommunikáció: az MQTT extrém alapjai: 3 lépés
Videó: SONOFF SNZB-01P - новая модель zigbee 3.0 кнопки, обзор и тестирование 2024, November
Anonim
SmartHome vezeték nélküli kommunikáció: az MQTT extrém alapjai
SmartHome vezeték nélküli kommunikáció: az MQTT extrém alapjai
SmartHome vezeték nélküli kommunikáció: az MQTT extrém alapjai
SmartHome vezeték nélküli kommunikáció: az MQTT extrém alapjai

Az MQTT alapjai:

** Házi automatizálási sorozatot fogok készíteni, végig fogom menni azon lépéseken, amelyeket megtettem, hogy megtanuljak mindent, amit a jövőben csináltam. Ez az Instructable az alapvonal annak meghatározásához, hogyan kell beállítani az MQTT -t a jövőbeli Instructables -ben való használatra. Ennek a tartalomnak a tanításai azonban minden olyan projektre vonatkoznak, amelyet vállalni szeretnének. **

A dolgok internete:

A tárgyak internete elfoglalja a világot, és különösen az olyan közösségekben, mint a miénk itt, az Instructables -nél. Amióta belépek ebbe a közösségbe, az emberek épülnek

Az internethez csatlakoztatott és irányított eszközök. Amikor a Dolgok Internetével dolgozik, nehéz nem betartani az MQTT protokollt. Ez egy kommunikációs protokoll, mint mások, amelyeket ma az interneten használnak, mint például a HTTP vagy az FTP, de a működési módja más, ezért ideális a tárgyak internete alkalmazásaihoz.

Mi az MQTT:

Az MQTT (Message Queuing Telemetry Transport egy könnyű kommunikációs protokoll, amely közzétételi/előfizetési architektúrát használ. A HTTP, amelyet az internet nagy része használ, egy kérés/válasz rendszerre épül. Ez azt jelenti, hogy kérést kap egy ügyféltől, és elküldi válasz az adott ügyfélre. Az MQTT -nek van egy szervere is (brókernek nevezik), valamint számos kliens. A HTTP -vel ellentétben az MQTT lehetővé teszi az ügyfelek számára, hogy közzétegyenek vagy feliratkozzanak bizonyos „témákra”. Ez lehetővé teszi a szélesebb körű kommunikációt egy központi pont, a közvetítő. Minden csomópont közzétehet egy témát a közvetítőn, és az adott témára feliratkozott bármely csomópont megkapja az üzenetet. Az ügyfelek több témára is feliratkozhatnak, majd több irányelvet vagy frissítést kaphatnak.

Az egész rendszer eseményvezérelt, és lehetővé teszi, hogy a bróker üzenetei minden előfizetett ügyfélhez eljussanak. Tehát a HTTP helyett, ahol az ügyfél kéri az információt, az ügyfél közvetlenül az alkusztól kapja meg az információt az átvételkor. Vannak beépített szolgáltatások is, amelyek lehetővé teszik a különböző biztosítékokat, például a QOS specifikációkat. A QOS specifikáció lehetővé teszi a brókernek, hogy meghatározza, hogy egy üzenetet legfeljebb egyszer, legalább egyszer vagy pontosan egyszer kell -e kézbesíteni. Ez biztosítja, hogy az adatokat a kívánt módon juttassuk el minden ügyfélhez. Az ügyfelek azt is kérhetik, hogy a témájukban közzétett üzenetek puffereljenek a brókerben abban az esetben, ha bármilyen okból leválasztják őket. Amint visszatér az internetre, az adatok eljutnak az ügyfélhez.

Egy téma semmi különös, csak sokféle karakterlánc, amelyeket egyesítenek és elválasztanak perjelekkel. Az alábbi példában használt formátum a következő: otthon/hálószoba/mennyezeti fény. Minden perjelet egy téma után kell elhelyezni, amely egy altémát jelöl. Így üzenetet lehetne közzétenni otthonra, ahol a ház összes eszköze megkapja. Közvetlenül az otthoni/hálószobába tehető közzé, ahol a hálószobában lévő összes eszköz megkapja az üzenetet. És lemehet az adott eszközre, mint az első otthon/hálószoba/mennyezeti lámpa, ahol csak a hálószoba mennyezeti lámpája fogadja az üzenetet. Rendkívül praktikus, ahogy az ilyen eszközöket absztrahálhatjuk egy egész ökoszisztémáig, különösen, ha az otthoni automatizálásról van szó. Vannak további módszerek a témák lebontására, és a későbbi Instructables -ben részletesebben foglalkozom velük, ahol az alkalmazásnak a legtöbb értelme van.

Kellékek

Az alábbiak közül csak egy szükséges:

Ubuntu:

Windows alrendszer Linuxra: https://ubuntu.com/wsl (Csak akkor, ha nem rendelkezik Linux/MacOS rendszerrel)

MacOS: MacBook szükséges

Ez kötelező:

Mosquitto MQTT Broker - Letöltve az apt -get segítségével (Dokumentáció:

1. lépés: Kezdeti beállítás (az operációs rendszertől függően)

MacOS/Linux:

Nincs szükség beállításra, csak nyissa meg a terminált, és ugorjon át a Mosquitto Setup -ra!

Ablakok:

Ha Windows rendszert használ, telepítenie kell a Windows alrendszert Linuxra. Ez egy rendkívül könnyen használható és rendkívül értékes eszköz, amely lehetővé teszi Ubuntu terminál futtatását a Windows rendszeren belül. Nincs szükség az Ubuntu telepítésére és kettős indítására, csak a fejlesztés teszteléséhez a terminálon!

Telepítési lépések:

1. Lépjen a Windows Store -ba, és keressen rá az ubuntu kifejezésre

2. Töltse le és telepítse a Windows alrendszert Linuxra

3. Nyissa meg az alkalmazást, és kövesse az utasításokat a beállítás befejezéséhez, és készen áll a folytatásra!

2. lépés: Mosquitto beállítás:

Mosquitto beállítás
Mosquitto beállítás
Mosquitto beállítás
Mosquitto beállítás
Mosquitto beállítás
Mosquitto beállítás

Tehát, amint azt az MQTT bevezetőjében tárgyaltuk, a protokollhoz bróker (szerver) szükséges. Ez a bróker az alapja az összes ügyfélkapcsolatnak. Ebben az alkuszban minden üzenet áthalad és sorba kerül. Sok lehetőség közül választhat egy bróker számára, és ezeket megtalálhatja az interneten, de az egyik, amelyet használni fogunk, valószínűleg a leggyakoribb: Mosquitto.

A Mosquitto egy Linux alapú MQTT bróker, rengeteg funkcióval. Ennek a funkciónak a sajátosságaiba most nem térnék ki, de néhány alapvető követelmény, amelyet teljesít, a felhasználó/jelszó hitelesítés, valamint a TLS titkosítás támogatása, amelyek mind hasznosak a dolgok internete eszközeinek fejlesztésében.

Lépések:

Mindezeket a lépéseket egy terminál ablakban kell elvégezni.

1. Telepítse a Mosquitto és az MQTT klienseket

sudo apt-get install mosquitto mosquitto-kliensek

2. Feliratkozás egy témára

mosquitto_sub -t "teszt"

Ez előfizet egy témára. Ezt a témát "-t" jelöli, a téma értéke pedig "teszt". Ez az érték a "-t" után bármi lehet, amit el szeretne menteni néhány speciális foglalás esetén.

3. Nyisson meg egy új terminál ablakot, és tegyen közzé egy üzenetet a "teszt" témához

mosquitto_pub -t "teszt" -m "Hello World with MQTT!"

Ez üzenetet tesz közzé a "teszt" témában, lehetővé téve, hogy másik terminálpéldányunk megkapja az üzenetet az előfizetési oldalon. A közzétett üzenetet "-m" jelzi, és az üzenet értéke "Hello World With MQTT". Ez az üzenet, akárcsak a téma, bármire megváltoztatható!

4. Lépjen az első terminál ablakba az eredmények megtekintéséhez! Egy üzenetet kell kapnia, amely azt mondja: "Hello World With MQTT". Ha ezt nem látja, győződjön meg arról, hogy a megfelelő témát írta be. Ha sikeresen befejezte ezt, folytassa a játékot. Próbáljon ki különböző témákat, altémákkal és különböző üzenetekkel!

3. lépés: Csomagolj

Ez az! Miután mindezt befejezte, megérti az MQTT működésének alapjait. Ez egy nagyon kezdetleges oktatóanyag, amely csak az MQTT protokoll minimumát mutatja. A Future Instructables részletesebben bemutatja, hogyan működik a protokoll a gyakorlatban a tárgyak internetével, különösen az Arduino -t futtató ESP8266 modulokkal. Az első gyakorlati alkalmazásom az okos kávéfőző lesz, ami jelenleg a szobámban van. Ha meg szeretné tanulni, hogyan készítsen egy kávéfőzőt, amelyet a telefonjáról és az Alexa -ról is vezérelhet, kövessen engem további oktatóanyagokért.

Ajánlott: