Obsah:

Bezdrôtová komunikácia SmartHome: Extrémne základy MQTT: 3 kroky
Bezdrôtová komunikácia SmartHome: Extrémne základy MQTT: 3 kroky

Video: Bezdrôtová komunikácia SmartHome: Extrémne základy MQTT: 3 kroky

Video: Bezdrôtová komunikácia SmartHome: Extrémne základy MQTT: 3 kroky
Video: Programovanie PLC UniPi Neuron M203 v Node RED 2024, Júl
Anonim
Bezdrôtová komunikácia SmartHome: Extrémne základy MQTT
Bezdrôtová komunikácia SmartHome: Extrémne základy MQTT
Bezdrôtová komunikácia SmartHome: Extrémne základy MQTT
Bezdrôtová komunikácia SmartHome: Extrémne základy MQTT

Základy MQTT:

** Budem robiť sériu domácej automatizácie, prejdem krokmi, ktoré som urobil, aby som sa v budúcnosti dozvedel všetko, čo som urobil. Tento návod je východiskovým bodom pre nastavenie MQTT na použitie v mojich budúcich pokynoch. Učenie v tomto obsahu však bude platiť pre každý projekt, do ktorého by ste sa chceli zapojiť. **

Internet vecí:

Internet vecí ovláda svet a obzvlášť v komunitách, ako je tá naša, tu na Instructables. Odkedy som sa pridal k tejto komunite, bola zakorenená v budovaní ľudí

Zariadenia pripojené k internetu a ovládané cez internet. Pri práci s internetom vecí je ťažké nevyhovieť protokolu MQTT. Toto je komunikačný protokol, ako sa dnes používajú na internete, ako napríklad HTTP alebo FTP, ale spôsob, akým funguje, je odlišný, a preto je ideálny pre aplikácie Internet of Things.

Čo je MQTT:

MQTT (Message Queuing Telemetry Transport je ľahký komunikačný protokol využívajúci architektúru publikovania/prihlásenia na odber. HTTP, ktorý väčšina internetu používa, je postavený na systéme požiadaviek a odpovedí. To znamená, že dostane požiadavku od klienta a odošle ju odpoveď na tohto klienta. MQTT má tiež server (nazývaný broker) a mnoho klientov. Na rozdiel od HTTP umožňuje MQTT klientom publikovať alebo sa prihlásiť na odber konkrétnych „tém“. To umožňuje širšiu komunikáciu prostredníctvom centralizovaný bod, sprostredkovateľ. Každý uzol môže publikovať na tému na maklérovi a každý uzol prihlásený na túto tému dostane správu. Klienti sa môžu prihlásiť aj na odber viacerých tém a potom môžu dostávať viacero smerníc alebo aktualizácií.

Celý systém je riadený udalosťami a umožňuje odosielanie správ od makléra každému prihlásenému klientovi. Takže namiesto HTTP, kde si klient vyžiada informácie, mu klient po prijatí informácie postúpi priamo od makléra. Vstavané sú aj služby, ktoré umožňujú rôzne záruky, napríklad špecifikácie QOS. Špecifikácia QOS umožňuje maklérovi určiť, či je potrebné správu doručiť maximálne raz, najmenej raz alebo presne raz. To zaisťuje, že údaje sú každému klientovi doručené požadovaným spôsobom. Klienti môžu tiež požiadať, aby sa zverejnené správy na ich tému ukladali do vyrovnávacej pamäte v maklérovi v prípade, že sú z akéhokoľvek dôvodu od neho odpojení. Akonáhle sa vráti do režimu online, tieto údaje budú odoslané klientovi.

Téma nie je ničím výnimočným, je to len množstvo reťazcov, ktoré sú kombinované a oddelené lomkami. Formát v príklade, ktorý bude použitý nižšie, je nasledujúci: domov/spálňa/stropné_svetlo. Každá lomka je umiestnená za tému, ktorá znamená podtému. Takže správu je možné zverejniť doma, kde ju dostanú všetky zariadenia v dome. Dalo by sa to zverejniť priamo v domácnosti/spálni, kde všetky zariadenia v spálni dostanú správu. A môže ísť až na konkrétne zariadenie, ako bolo najskôr ukázané domov/spálňa/stropné_svetlo, kde správu dostane iba stropné svetlo v spálni. Spôsob, akým môžeme takto abstrahovať jednotlivé zariadenia až do celého ekosystému, je mimoriadne užitočný, najmä pokiaľ ide o domácu automatizáciu. Existujú ďalšie spôsoby, ako rozobrať témy a ja sa im budem venovať ďalej v budúcich pokynoch, v ktorých má aplikácia najväčší zmysel.

Zásoby

Vyžaduje sa iba jedna z nasledujúcich možností:

Ubuntu:

Subsystém Windows pre Linux: https://ubuntu.com/wsl (iba ak nemáte Linux/MacOS)

MacOS: Vyžaduje MacBook

Vyžaduje sa to:

Mosquitto MQTT Broker - stiahnuté pomocou apt -get (Dokumentácia:

Krok 1: Počiatočné nastavenie (v závislosti od vášho operačného systému)

MacOS/Linux:

Nie je potrebné žiadne nastavenie, jednoducho otvorte terminál a preskočte na nastavenie Mosquitto!

Windows:

Ak používate operačný systém Windows, budete si musieť nainštalovať subsystém Windows pre Linux. Je to super ľahko použiteľný a mimoriadne hodnotný nástroj, ktorý vám umožňuje spustiť terminál Ubuntu v systéme Windows. Nie je potrebné inštalovať a duálne bootovať Ubuntu, len aby ste otestovali vývoj v termináli!

Kroky pri inštalácii:

1. Prejdite do obchodu Windows Store a vyhľadajte ubuntu

2. Stiahnite a nainštalujte subsystém Windows pre Linux

3. Otvorte aplikáciu a dokončite nastavenie podľa pokynov a ste pripravení pokračovať!

Krok 2: Nastavenie komára:

Nastavenie komára
Nastavenie komára
Nastavenie komára
Nastavenie komára
Nastavenie komára
Nastavenie komára

Ako je teda uvedené v úvode o MQTT, protokol vyžaduje brokera (server). Tento maklér je základným bodom všetkých vytvorených spojení s každým klientom. V tomto maklérovi sú všetky správy odoslané a zaradené do poradia. Existuje niekoľko možností, z ktorých si môžete vybrať pre makléra, a môžete ich nájsť online, ale tá, ktorú budeme používať, je pravdepodobne najbežnejšia: Mosquitto.

Mosquitto je MQTT Broker založený na Linuxe s množstvom funkcií. Momentálne sa nebudem zaoberať špecifikami tejto funkcie, ale niekoľko základných požiadaviek, ktoré spĺňa, je autentifikácia používateľa/hesla a podpora šifrovania TLS, ktoré sú všetky užitočné pri vývoji zariadení Internet of Things.

Kroky:

Všetky tieto kroky by ste mali vykonať v okne terminálu.

1. Nainštalujte klientov Mosquitto a MQTT

sudo apt-get install mosquitto mosquitto-clients

2. Prihláste sa na odber témy

mosquitto_sub -t "test"

Čo to robí, je prihlásenie sa na odber témy. Táto téma je označená „-t“a hodnota témy je „test“. Táto hodnota za „-t“môže byť čokoľvek, čo chcete, s výnimkou niekoľkých špeciálnych rezervácií.

3. Otvorte nové okno terminálu a zverejnite správu k téme „test“

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

Tým sa zverejní správa na tému „test“, čo umožní našej druhej inštancii terminálu prijať správu na strane predplatného. Zverejnená správa je označená „-m“a hodnota správy je „Hello World With MQTT“. Túto správu, rovnako ako tému, môžete zmeniť na čokoľvek chcete!

4. Prejdite do prvého okna terminálu, aby ste videli svoje výsledky! Mali by ste dostať správu s textom „Hello World With MQTT“. Ak to nevidíte, uistite sa, že ste zadali správnu tému. Ak ste to úspešne dokončili, pokračujte v hre. Vyskúšajte rôzne témy s podtémami a rôznymi správami!

Krok 3: Zabaľte to

To je všetko! Keď máte všetko hotové, porozumiete základom fungovania MQTT. Toto je veľmi základný návod, ktorý ukazuje len minimum protokolu MQTT. Future Instructables sa bude podrobnejšie venovať tomu, ako protokol v praxi funguje s internetom vecí, najmä s modulmi ESP8266 s Arduino. Mojou prvou praktickou aplikáciou bude inteligentný kávovar, ktorý mám momentálne v izbe. Ak by ste sa chceli dozvedieť, ako vyrobiť kávovar, ktorý je možné ovládať z telefónu aj od spoločnosti Alexa, sledujte ma a získajte ďalšie návody.

Odporúča: