Obsah:
- Zásoby
- Krok 1: Počáteční nastavení (v závislosti na vašem operačním systému)
- Krok 2: Nastavení Mosquitto:
- Krok 3: Zabalit
Video: Bezdrátová komunikace SmartHome: extrémní základy MQTT: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Základy MQTT:
** Budu dělat sérii domácí automatizace, projdu kroky, které jsem podnikl, abych se v budoucnu naučil vše, co jsem udělal. This Instructable is a baseline on how to setup MQTT for use in my future Instructables. Učení v tomto obsahu však bude použitelné pro jakýkoli projekt, kterého byste se chtěli zúčastnit. **
Internet věcí:
Internet věcí ovládá svět a zejména v komunitách, jako je ta naše, zde na Instructables. Od té doby, co jsem se připojil k této komunitě, byla zakořeněná budováním lidí
Zařízení připojená a ovládaná přes internet. Při práci s internetem věcí je těžké nevyhovět protokolu MQTT. Jedná se o komunikační protokol, jaký dnes používají ostatní na internetu, například HTTP nebo FTP, ale způsob jeho fungování je odlišný, což je ideální pro aplikace Internet of Things.
Co je MQTT:
MQTT (Message Queuing Telemetry Transport je lehký komunikační protokol využívající architekturu publikování/odběru. HTTP, který většina internetu používá, je postaven na systému požadavků/odpovědí. To znamená, že dostane požadavek od klienta a odešle odpověď na tohoto klienta. MQTT má také server (nazývaný broker) a také mnoho klientů. Na rozdíl od HTTP umožňuje MQTT klientům publikovat nebo se přihlásit k odběru konkrétních „témat“. To umožňuje širší komunikaci prostřednictvím centralizovaný bod, zprostředkovatel. Každý uzel může publikovat na téma na zprostředkovateli a jakýkoli uzel přihlášený k tomuto tématu obdrží zprávu. Klienti se mohou přihlásit také k odběru více témat a poté mohou obdržet více směrnic nebo aktualizací.
Celý systém je řízen událostmi a umožňuje zasílání zpráv od brokera každému předplacenému klientovi. Takže spíše než HTTP, kde klient požaduje informace, je klientovi informace doručena přímo od makléře po přijetí. Jsou zde také vestavěny služby, které umožňují různé záruky, jako jsou specifikace QOS. Specifikace QOS umožňuje brokerovi určit, zda je či nemá být zpráva doručena maximálně jednou, alespoň jednou nebo přesně jednou. Tím je zajištěno, že data jsou každému klientovi doručena požadovaným způsobem. Klienti mohou také požadovat, aby se zveřejněné zprávy na jejich téma ukládaly do vyrovnávací paměti v makléři v případě, že jsou z něj z jakéhokoli důvodu odpojeni. Jakmile se vrátí online, budou tato data odeslána klientovi.
Téma není nic zvláštního, je to jen řada řetězců, které jsou kombinovány a odděleny lomítky. Formát v příkladu, který bude použit níže, je následující: domov/ložnice/stropní_světlo. Každé lomítko je umístěno za téma, které označuje podtéma. Zprávu lze tedy zveřejnit domů, kde ji přijmou všechna zařízení v domě. Mohlo by to být publikováno přímo do domu/ložnice, kde zprávu obdrží všechna zařízení v ložnici. A může jít dolů na konkrétní zařízení jako první ukázaný domov/ložnice/stropní_světlo, kde zprávu obdrží pouze stropní světlo v ložnici. Způsob, jakým můžeme takto abstrahovat jednotlivá zařízení až do celého ekosystému, je velmi praktický, zvláště pokud jde o domácí automatizaci. Existují další způsoby, jak rozebrat témata, a já se jimi budu dále zabývat v budoucích Instructables, kde má aplikace největší smysl.
Zásoby
Je zapotřebí pouze jedna z následujících možností:
Ubuntu:
Subsystém Windows pro Linux: https://ubuntu.com/wsl (Pouze pokud nemáte Linux/MacOS)
MacOS: Vyžaduje MacBook
To je vyžadováno:
Mosquitto MQTT Broker - staženo pomocí apt -get (Dokumentace:
Krok 1: Počáteční nastavení (v závislosti na vašem operačním systému)
MacOS/Linux:
Není nutné žádné nastavení, stačí otevřít terminál a přeskočit na Mosquitto Setup!
Okna:
Pokud používáte Windows, budete si muset nainstalovat Windows Subsystem pro Linux. Jedná se o velmi snadno použitelný a velmi cenný nástroj, který vám umožní spustit terminál Ubuntu v systému Windows. Není třeba instalovat a duálně spouštět Ubuntu, jen aby se otestoval vývoj v terminálu!
Kroky instalace:
1. Přejděte do Windows Store a vyhledejte ubuntu
2. Stáhněte a nainstalujte subsystém Windows pro Linux
3. Otevřete aplikaci a dokončete nastavení podle pokynů a jste připraveni pokračovat!
Krok 2: Nastavení Mosquitto:
Jak je uvedeno v úvodu o MQTT, protokol vyžaduje brokera (server). Tento makléř je základním bodem všech navázaných připojení ke každému klientovi. Všechny zprávy jsou procházeny a zařazovány do fronty v tomto makléři. Pro brokera je na výběr mnoho možností a ty najdete online, ale ta, kterou budeme používat, je pravděpodobně nejběžnější: Mosquitto.
Mosquitto je MQTT Broker založený na Linuxu s mnoha funkcemi. Nyní se nebudu zabývat specifiky této funkce, ale několik základních požadavků, které splňuje, je autentizace uživatele/hesla a podpora šifrování TLS, které jsou všechny užitečné při vývoji zařízení Internet of Things.
Kroky:
Všechny tyto kroky by měly být provedeny v okně terminálu.
1. Nainstalujte si klienty Mosquitto a MQTT
sudo apt-get install mosquitto mosquitto-clients
2. Přihlaste se k odběru tématu
mosquitto_sub -t "test"
Co to dělá, je přihlášení k odběru tématu. Toto téma je označeno „-t“a hodnota tématu je „test“. Tato hodnota za „-t“může být cokoli, co chcete, s výjimkou několika zvláštních rezervací.
3. Otevřete nové okno terminálu a publikujte zprávu na téma „test“
mosquitto_pub -t "test" -m "Hello World with MQTT!"
Tím se zveřejní zpráva na téma „test“, což umožní naší další instanci terminálu přijmout zprávu na straně předplatného. Publikovaná zpráva je označena „-m“a hodnota zprávy je „Hello World With MQTT“. Tuto zprávu, stejně jako téma, lze změnit na cokoli chcete!
4. Přejděte do prvního okna terminálu, abyste viděli své výsledky! Měli byste obdržet zprávu s nápisem „Hello World With MQTT“. Pokud to nevidíte, zkontrolujte, zda jste zadali správné téma. Pokud jste to úspěšně dokončili, pokračujte v hraní. Vyzkoušejte různá témata, s podtématy a různými zprávami!
Krok 3: Zabalit
A je to! Jakmile budete mít vše hotovo, porozumíte základům fungování MQTT. Toto je velmi základní výukový program, který ukazuje jen minimum protokolu MQTT. Budoucí instruktáže podrobněji prozkoumají, jak protokol v praxi funguje s internetem věcí, zejména s moduly ESP8266 se systémem Arduino. Moje první praktická aplikace bude chytrý kávovar, který mám aktuálně ve svém pokoji. Pokud se chcete dozvědět, jak vyrobit kávovar, který lze ovládat z telefonu i Alexa, sledujte mě a získejte další návody.
Doporučuje:
Bezdrátová komunikace LoRa 3 až 8 km s nízkými náklady na zařízení E32 (sx1278/sx1276) pro Arduino, Esp8266 nebo Esp32: 15 kroků
Bezdrátová komunikace LoRa 3 až 8 km s nízkými náklady na zařízení E32 (sx1278/sx1276) pro Arduino, Esp8266 nebo Esp32: Vytvářím knihovnu pro správu EBYTE E32 na základě řady zařízení LoRa Semtech, velmi výkonného, jednoduchého a levného zařízení. Verze 3 km zde, verze 8 km zde Mohou pracovat na vzdálenost 3000 m až 8 000 m a mají mnoho funkcí
Bezdrátová šifrovaná komunikace Arduino: 5 kroků
Bezdrátová šifrovaná komunikace Arduino: Ahoj všichni, V tomto druhém článku vám vysvětlím, jak používat čip Atecc608a k zabezpečení vaší bezdrátové komunikace. K tomu použiji NRF24L01+ pro bezdrátovou část a Arduino UNO. Mikročip ATECC608A byl navržen
Dlouhý dosah, 1,8 km, bezdrátová komunikace Arduino na Arduino s HC-12 .: 6 kroků (s obrázky)
Bezdrátová komunikace s dlouhým dosahem, 1,8 km, Arduino na Arduino S HC-12 .: V tomto návodu se naučíte, jak komunikovat mezi Arduinosem na dlouhé vzdálenosti až 1,8 km pod širým nebem. HC-12 je bezdrátový sériový port velmi užitečný, extrémně výkonný a snadno použitelný komunikační modul. Nejprve odejdete
Bezdrátová komunikace pomocí levných RF modulů 433 MHz a obrazových mikrokontrolérů. Část 2: 4 kroky (s obrázky)
Bezdrátová komunikace pomocí levných RF modulů 433 MHz a obrazových mikrokontrolérů. Část 2: V první části tohoto pokynu jsem demonstroval, jak naprogramovat PIC12F1822 pomocí kompilátoru MPLAB IDE a XC8, aby bezdrátově odeslal jednoduchý řetězec pomocí levných modulů TX/RX 433 MHz. Modul přijímače byl připojen přes USB k UART TTL kabelová reklama
Bezdrátová sériová komunikace pomocí Bluefruit: 4 kroky
Bezdrátová sériová komunikace pomocí Bluefruit: Zde je jednoduchý krok za krokem průvodce, jak vyměnit vaše vodiče za nízkoenergetické připojení bluetooth: Chvíli mi trvalo, než jsem na to přišel, protože neexistuje téměř žádná dokumentace, jak to udělat s moderními bluetooth nízkoenergetickými technologiemi, jako je jako Bluefrui