Proč IoT upřednostňuje MQTT?

Apr 21, 2025 Zanechat vzkaz

MQTT (Message Queuing Telemetry Transport) lidsky znamená Message Queuing Telemetry Transport. Před několika lety, kdy PC strana rozšířenosti mnoha inženýrů jednoduše neslyšela okružní termín, ale s postupným rozvojem technologie internetu věcí (IoT) se tento protokol objevuje stále častěji v očích významných inženýrů. To způsobilo, že mnoho inženýrů zná pouze název, ale ne význam, a mnoho lidí si dokonce myslelo, že jde o druh protokolu vyvinutý s rozvojem IoT. Ve skutečnosti byl protokol MQTT poprvé vynalezen před více než 20 lety a v roce 1999 Andy Stanford Clark z IBM a Alan Nippe z Cirrus Link napsali první verzi protokolu. Protokol byl od té doby mezinárodně standardizován jako protokol pro zasílání zpráv založený na publikování/odběru-podle standardu ISO (ISO/IEC PRF 20922.) Společnost IBM předložila specifikaci MQTT verze 3.1 organizaci Structured Information Standards Facilitation Organization v roce 2013 spolu s chartou, aby bylo zajištěno, že od té doby bylo v protokolu MQ použito pouze malé množství specifických změn. výklenků od té doby. Jakmile byla dokončena technická infrastruktura IoT, tento prastarý protokol začal mít první jaro.


Transportní a aplikační vrstvy sítě


Jak všichni víme, rychlý rozvoj internetu věcí zatím nemůže opustit infrastrukturu komunikační sítě, nyní můžete ovládat kterýkoli kout světa v domácnosti vypínačem pokojového osvětlení, nebo k průmyslovému řízení, můžete také dálkově ovládat pohyb robota, vyspělost této technologie je založena na síťové komunikaci jako na základu. Hlavní technologií současné síťové technologie je sedmivrstvý model OSI-, samozřejmě, skutečná aplikace ve skutečnosti používá čtyřvrstvý síťový model TCP/IP-.


TCP / IP čtyř-vrstvý síťový model třetí transportní vrstvy je slavný protokol TCP / IP, tato vrstva hlavního účelu protokolu se používá k odeslání počítače na síťovou komunikaci přenosu dat na zadanou IP adresu druhého výše uvedeného stroje, například IP adresu "192.168.137.19 Například pokud stroj s IP adresou "192.168.168 chce poslat" a191. 16bajtový binární paket do stroje s IP adresou "192.168.137.10", pak je možné k jeho přenosu použít protokol TCP/IP. Místo toho při přenosu dat pomocí TCP běžně používáme sokety.


Ale když IP adresa "192.168.137.19" stroje pro odesílání dat do "192.168.137.10" stroje, tento paket TCP paketů uvnitř dat je ve skutečnosti jménem toho, co znamená přijímací konec IP adresy přijímajícího konce "192.168.137.10" problém, jak ponechat tento datový paket vrstvy nahoře. protokoly k řešení, což jsou protokoly aplikační vrstvy. Samozřejmě, pokud vaše protokoly nechtějí dát běžné síti počítačů na rozlišení, můžete také přejít na vývoj některých vlastních protokolů aplikační vrstvy, na tom nezáleží, účelem transportní vrstvy je pouze předat data cílovému počítači nad ní.


Naše každodenní práce, zábava se často setkáme s různými protokoly aplikační vrstvy, například když otevřete webovou stránku, obrázek se zobrazí v této poloze, tlačítko směřující dolů je k dosažení jaké funkce, to je podle HTML HyperText Transfer Protocol (anglicky: HyperTextTransferProtocol, zkratka: HTTP) dohodnuto. To zajišťuje, že když si stránku na vašem webu vyžádá jakékoli zařízení, toto zařízení ji dokáže správně zobrazit. Kromě HTTP existuje mnoho dalších protokolů aplikační vrstvy jako DNS, FTP atd. a protokol MQTT, který je naším dnešním protagonistou, je jedním z nich.


Proč IoT upřednostňuje MQTT


Se všemi skvělými protokoly aplikační vrstvy, které jsou k dispozici pro naše stávající aplikace, proč MQTT září v prostoru IoT. Volba protokolu MQTT není neopodstatněná; MQTT je lehký, flexibilní síťový protokol, který se snaží najít správnou rovnováhu pro vývojáře IoT:


Tento odlehčený protokol lze implementovat na silně omezený hardware zařízení a na sítích s vysokou latencí a omezenou šířkou pásma.


Jeho flexibilita umožňuje podporovat různé aplikační scénáře pro zařízení a služby IoT.


Většina vývojářů již zná webové služby HTTP. Proč tedy nenechat zařízení IoT připojit se k webovým službám? Zařízení mohou odesílat svá data ve formě HTTP požadavků a přijímat aktualizace ze systému ve formě HTTP odpovědí. Tento model požadavků a odpovědí má některá vážná omezení:


HTTP je synchronizační protokol. Klient musí počkat na odpověď serveru. webové prohlížeče tento požadavek mají, ale za cenu škálovatelnosti. V prostoru internetu věcí velké množství zařízení a sítě, které jsou pravděpodobně nespolehlivé nebo mají vysokou latenci, činí synchronní komunikaci problematickou. Asynchronní protokoly zasílání zpráv jsou vhodnější pro aplikace IoT. Senzory odesílají naměřené hodnoty a umožňují síti určit nejlepší trasu a čas pro jejich doručení do cílových zařízení a služeb.


HTTP je jednosměrný. Klient musí zahájit připojení. V aplikacích IoT je zařízení nebo senzor obvykle klient, což znamená, že nemůže pasivně přijímat příkazy ze sítě.


HTTP je protokol typu one to one{0}}to{1}}. Klient zadá požadavek a server odpoví. Doručování zpráv do všech zařízení v síti je nejen obtížné, ale také nákladné, což je běžný případ použití v aplikacích IoT.


HTTP je těžký protokol s mnoha hlavičkami a pravidly. Není vhodný pro omezené sítě.


Z těchto důvodů většina-výkonných a škálovatelných systémů používá pro interní výměnu dat asynchronní sběrnice zpráv namísto webových služeb.


Model přihlášení/zveřejnění


Je zajímavé, že tento server protokolu MQTT je ve skutečnosti mnohem jednodušší než webový server, protože se snaží být efektivní službou. mechanismus, kterým MQTT primárně odesílá a přijímá zprávy, je poněkud podobný vztahu mezi naším veřejným webem a vámi, čtenáři.


Ve skutečném světě jsme si já a vy podobní, jako když máte zařízení MQTT připojené k jednotnému serveru, přihlásíte se k odběru ze zájmu nebo z nějaké náklonnosti k našemu veřejnému číslu, a když každý den pošlu textovou zprávu, objevíte se v mobilním telefonu Odeslal jsem zprávu, tento proces, získáváte moje informace způsobem známým jako V tomto procesu, způsob, jakým získáváte mé informace a zveřejňování tohoto příspěvku se nazývá "přihlášení k odběru". A každý může k mému článku, můžete mi klidně zanechat zprávu, toto chování je chování každého "publikovat" a já se vždy držím před tlakem, abych viděl zprávu všech, je to druh "předplatitelského" chování. V tomto procesu s námi nemají žádné externí informace nic společného, ​​jednoduše komunikujeme s tokem informací ve dvou směrech. Mechanismus zasílání zpráv v MQTT je také založen na modelu Publish - Subscribe. Mechanismus doručování zpráv MQTT je také založen na modelu „Publikovat“ - „Přihlásit se k odběru“.


Konkrétní kroky MQTT jsou:


Krok 1:První použijte k získání serveru MQTT a poté vytvořte nový komunikační produkt MQTT.


Krok 2:Poté přejděte k připojení k tomuto serveru, dva důležité parametry pro připojení k serveru jsou číslo hostitele (název domény nebo IP adresa) a číslo portu.


Krok 3:Pokud používáte platformu cloudového serveru třetí{0}}strany, může vyžadovat, abyste se k tomuto zařízení přihlásili pomocí ID produktu a ověřovacích informací, které lze nalézt v backendu služby Device Cloud.


Po provedení těchto tří kroků se můžete přihlásit k odběru nebo posílat zprávy k odpovídajícím tématům.


Dám dohromady dokument, který vám ukáže, jak „oddělat“ cloudovou platformu s otevřeným přístupem pro zařízení China Mobile.


Tyto tři kroky platí jak pro vývoj aplikačního softwaru, tak pro vývoj mikrokontroléru. Při vývoji mikrokontroléru, pokud používáte AT příkazy a komunikaci externího WIFI modulu, pak může být obecný modul dodáván s příkazy AT + MQTT, což je nejlepší způsob, jak výrazně snížit tlak na mikrokontrolér. Nebo můžete přímo přistupovat k datům transportní vrstvy TCP/IP a poté analyzovat MQTT, což vyžaduje, aby uživatel měl hluboké znalosti protokolu MQTT, aby mohl analyzovat také svá vlastní data Json, takže obecně při vytváření vestavěných zařízení obecně doporučujeme přímo použít hotový -modul s protokolem MQTT, přímá analýza příkazu AT je pohodlnější.


případová studie:


Dálkové ovládání světel a získávání aktuální pokojové teploty.


V tomto případě jde vlastně o jednu z nejjednodušších aplikací MQTT. Za prvé, vestavěná ovládací deska v místnosti je hlavně připojena k serveru přes WIFI, který může ovládat spínač světla a také sbírat teplotu. Daleko vzdáleným koncovým zařízením je mobilní telefon.


Aby komunikace fungovala, musí být nejprve připojeni ke stejnému serveru MQTT.


Informace o teplotě na straně zařízení shromažďuje zařízení, takže potřebuje publikovat nasbíraná data do tématu "Teplota", zatímco mobilní telefon získá informace o teplotě, takže se musí přihlásit k odběru tématu "Teplota". Jakmile zařízení odešle informaci o teplotě do „tématu teploty“, toto téma přijme mobilní telefon.


Ovládání světel na straně zařízení provádí zařízení, takže se musí přihlásit k tématu "vypínač světel", zatímco mobilní telefon ovládá vypínač, takže musí publikovat informace o ovládání k tomuto tématu "vypínač světel". Jakmile mobilní telefon odešle zprávu se zapnutým světlem na téma „rozsvícení“, toto téma bude přijato terminálem a poté bude proveden příkaz rozsvícení.

Odeslat dotaz

whatsapp

Telefon

E-mail

Dotaz