Obsah:

Bezdrátová komunikace SmartHome: extrémní základy MQTT: 3 kroky
Bezdrátová komunikace SmartHome: extrémní základy MQTT: 3 kroky

Video: Bezdrátová komunikace SmartHome: extrémní základy MQTT: 3 kroky

Video: Bezdrátová komunikace SmartHome: extrémní základy MQTT: 3 kroky
Video: Jak fungují scény a automatizace v chytré domácnosti (Alisczech vol. 793) 2024, Červenec
Anonim
Bezdrátová komunikace SmartHome: extrémní základy MQTT
Bezdrátová komunikace SmartHome: extrémní základy MQTT
Bezdrátová komunikace SmartHome: extrémní základy MQTT
Bezdrátová komunikace SmartHome: extrémní základy MQTT

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:

Nastavení Mosquitto
Nastavení Mosquitto
Nastavení Mosquitto
Nastavení Mosquitto
Nastavení Mosquitto
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: