Obsah:
- Zásoby
- Krok 1: Počiatočné nastavenie (v závislosti od vášho operačného systému)
- Krok 2: Nastavenie komára:
- Krok 3: Zabaľte to
Video: Bezdrôtová komunikácia SmartHome: Extrémne základy MQTT: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
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:
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:
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: 15 krokov
Bezdrôtová komunikácia LoRa 3 km až 8 km s nízkymi nákladmi na zariadenie E32 (sx1278/sx1276) pre Arduino, Esp8266 alebo Esp32: Vytváram knižnicu na správu EBYTE E32 na základe série zariadení LoRa Semtech, veľmi výkonného, jednoduchého a lacného zariadenia. Verzia 3 km tu, verzia 8 km tu Môžu pracovať na vzdialenosť 3 000 až 8 000 m a majú mnoho funkcií
Bezdrôtová šifrovaná komunikácia Arduino: 5 krokov
Bezdrôtová šifrovaná komunikácia Arduino: Ahoj všetci, V tomto druhom článku vám vysvetlím, ako používať čip Atecc608a na zabezpečenie vašej bezdrôtovej komunikácie. Na tento účel použijem NRF24L01+ pre bezdrôtovú časť a Arduino UNO. Mikročip ATECC608A bol navrhnutý
Bezdrôtová komunikácia Arduino na Arduino s dlhým dosahom 1,8 km s HC-12 .: 6 krokov (s obrázkami)
Bezdrôtová komunikácia s dlhým dosahom, 1,8 km, Arduino až Arduino s HC-12 .: V tomto návode sa naučíte, ako komunikovať medzi Arduinosom na dlhé vzdialenosti až 1,8 km pod holým nebom. HC-12 je bezdrôtový sériový port komunikačný modul, ktorý je veľmi užitočný, extrémne výkonný a ľahko sa používa. Najprv odídeš
Bezdrôtová komunikácia pomocou lacných RF modulov 433 MHz a obrazových mikrokontrolérov. Časť 2: 4 kroky (s obrázkami)
Bezdrôtová komunikácia pomocou lacných RF modulov 433 MHz a obrazových mikrokontrolérov. Časť 2: V prvej časti tohto návodu som predviedol, ako naprogramovať PIC12F1822 pomocou kompilátora MPLAB IDE a XC8 tak, aby sa jednoduchý reťazec odoslal bezdrôtovo pomocou lacných modulov TX/RX 433 MHz. Modul prijímača bol pripojený cez USB k UART TTL káblová reklama
Bezdrôtová sériová komunikácia pomocou Bluefruit: 4 kroky
Bezdrôtová sériová komunikácia pomocou programu Bluefruit: Tu je jednoduchý krok za krokom návod, ako nahradiť vaše káble nízkoenergetickým pripojením bluetooth: Chvíľu mi trvalo, kým som na to prišiel, pretože neexistuje takmer žiadna dokumentácia, ako to urobiť pomocou modernej nízkoenergetickej technológie bluetooth, ako je napr. ako Bluefrui