Az Azure Event Grid MQTT-közvetítő által támogatott MQTT-funkciók

A Message Queuing Telemetry Transport (MQTT) egy közzétételt és előfizetést támogató üzenetküldési protokoll, amelyet korlátozott környezetekhez terveztek. Az MQTT hatékony, skálázható és megbízható, ami népszerűvé teszi a kommunikációt az IoT-forgatókönyvekben. Az MQTT-közvetítő támogatja az ügyfeleket, amelyek közzétesznek és feliratkoznak üzenetekre az MQTT v3.1.1, MQTT v3.1.1 WebSocketen keresztül, MQTT v5, valamint MQTT v5 WebSocketen keresztül. Az MQTT-közvetítő az MQTT-verziók (MQTT 3.1.1 és MQTT 5) közötti kommunikációt is támogatja.

Az Azure Event Grid MQTT-közvetítője támogatja az MQTT-üzenetek HTTPS-en keresztül történő küldését is, egyszerűsítve a nem MQTT-ügyfelekkel való integrációt. Az Event Grid lehetővé teszi, hogy MQTT-üzeneteket küldjön a felhőbe adatelemzéshez, tároláshoz és vizualizációkhoz, többek között használati esetekhez. Ez a funkció jelenleg előzetes verzióban érhető el.

Az MQTT v5 számos fejlesztést vezetett be az MQTT 3.1.1-es verzióval szemben, hogy zökkenőmentesebb, átláthatóbb és hatékonyabb kommunikációt biztosítson. A következőt adta hozzá:

  • Jobb hibajelentés.
  • Átláthatóbb kommunikáció az ügyfelekkel olyan funkciókon keresztül, mint a felhasználói tulajdonságok és a tartalomtípus.
  • Az ügyfelek jobban irányítják a kommunikációt olyan funkciókkal, mint az üzenet és a munkamenet lejárata.
  • Szabványos fontos minták, például a kérés-válasz minta.

Kapcsolati folyamat

Az MQTT-ügyfeleknek a Transport Layer Security (TLS) 1.2 vagy TLS 1.3 protokollon keresztül kell csatlakozniuk. A lépés kihagyására tett kísérletek kapcsolódási problémák miatt meghiúsulnak.

Amikor az MQTT-közvetítőhöz csatlakozik, használja a következő portokat az MQTT-en keresztüli kommunikáció során:

  • MQTT v3.1.1 és MQTT v5 a 8883-es TCP-porton
  • MQTT v3.1.1 WebSocket felett és MQTT v5 WebSocket felett a 443-as TCP porton

A CONNECT-csomagnak a következő tulajdonságokat kell tartalmaznia:

  • A ClientId mező kötelező, és tartalmaznia kell az ügyfél munkamenet-nevét. A munkamenet nevének egyedinek kell lennie a névtérben. Az ügyfél-hitelesítési nevet használhatja munkamenetnévként, ha minden ügyfél ügyfélenként egy munkamenetet használ. Ha egy ügyfél több munkamenetet használ, az egyes munkamenetekhez ClientId különböző értékeket kell használnia.
  • A Username mezőre akkor van szükség, ha nem választott ki értéket a alternativeAuthenticationNameSources névtér létrehozása során. Ebben az esetben meg kell adnia az ügyfél hitelesítési nevét a Username mezőben. Ennek a névnek meg kell egyeznie a megadott hitelesítési névvel és az ügyfél tanúsítványmezőjének az ügyfélerőforrás létrehozása során megadott értékével.

További információ az ügyfél-hitelesítésről.

Több munkamenet támogatása

A több munkamenetes támogatás lehetővé teszi, hogy az alkalmazás MQTT-ügyfelei skálázhatóbb és megbízhatóbb implementációval rendelkezzenek, ha egyszerre több aktív munkamenettel csatlakoznak az MQTT-közvetítőhöz.

Névtér konfigurálása

A funkció használata előtt konfigurálnia kell a névteret, hogy ügyfélenként több munkamenet is engedélyezve legyen. Ha ügyfélenként több munkamenetet szeretne konfigurálni az Azure Portalon, kövesse az alábbi lépéseket:

  1. Lépjen a névtérre az Azure Portalon.
  2. A Konfiguráció alatt állítsa be az ügyfél-munkamenetek maximális számát hitelesítési név alapján a kívánt számra.
  3. Válassza az Alkalmazás lehetőséget.

Megjegyzés

Az Azure CLI konfigurációjához frissítse a MaxClientSessionsPerAuthenticationName névtér csomagjának tulajdonságát a kívánt érték szerint.

Kapcsolati folyamat

Az egyes munkamenetekhez tartozó CONNECT-csomagoknak a következő tulajdonságokat kell tartalmazniuk:

  • Adja meg a Username tulajdonságot a CONNECT-csomagban az ügyfél-hitelesítés nevének aláírásához.
  • Adja meg a ClientID CONNECT-csomagban lévő tulajdonságot a munkamenet nevének aláírásához, például ha minden felhasználónévhez egy vagy több érték tartozik az ügyfélazonosítóhoz.

A CONNECT-csomag alábbi kombinációi UsernameClientId például lehetővé teszik, hogy az ügyfél Mgmt-application három független munkameneten keresztül csatlakozzon az MQTT-közvetítőhöz:

  • Első munkamenet:
    • Username: Mgmt-application
    • ClientId: Mgmt-Session1
  • Második munkamenet:
    • Username: Mgmt-application
    • ClientId: Mgmt-Session2
  • Harmadik munkamenet:
    • Username: Mgmt-application
    • ClientId: Mgmt-Session3

Több munkamenetes példát bemutató diagram.

További információ: Több munkamenet létrehozása egyetlen ügyfélhez.

Munkamenetek kezelése

  • Ha egy ügyfél úgy próbálja átvenni egy másik ügyfél aktív munkamenetét, hogy a munkamenet nevét egy másik hitelesítési névvel jeleníti meg, a rendszer jogosulatlan hibával elutasítja a kapcsolatkérést. Ha például a B ügyfél megpróbál csatlakozni az adott időpontban hozzárendelt 123-as munkamenethez az A ügyfél számára, a B ügyfél kapcsolatkérését a rendszer elutasítja. Ha azonban ugyanaz az ügyfél ugyanazzal a munkamenetnévvel és ugyanazzal a hitelesítési névvel próbál újra csatlakozni, átveheti a meglévő munkamenetet.
  • Ha egy ügyfélerőforrást a munkamenet befejezése nélkül törölnek, más ügyfelek csak a munkamenet lejárata után használhatják a munkamenet nevét. Például, ha a B ügyfél létrehoz egy 123 nevű munkamenetet, majd a B ügyfél törlődik, az A ügyfél nem tud csatlakozni a 123 munkamenethez, amíg az le nem jár.
  • Az ügyfélenkénti munkamenetek számának korlátja bármikor érvényes az online és offline munkamenetekre. Vegyük például azt a névteret, ahol az egyes hitelesítési nevekhez legfeljebb 1 ügyfél-munkamenet tartozhat. Az A ügyfél egy 123-as állandó munkamenettel csatlakozik, majd megszakad. Az A ügyfél nem tud csatlakozni a 456-os új munkamenethez, mert a 123-as munkamenete akkor is aktív, ha offline állapotban van. Ennek megfelelően azt javasoljuk, hogy ugyanaz az ügyfél mindig ugyanazokat a statikus munkamenetneveket használja, nem pedig új munkamenetnevet generáljon minden újracsatlakozással.

MQTT-funkciók

Az Event Grid MQTT-közvetítő az alábbi MQTT-funkciókat támogatja.

Szolgáltatás minősége

Az MQTT-közvetítő támogatja a 0. és 1. szintű szolgáltatásminőséget (QoS), amely meghatározza az ügyfelek és az MQTT-közvetítő közötti PUBLISH és SUBSCRIBE csomagok üzenetkézbesítésének garanciáit.

  • A QoS 0 garantálja az egyszeri kézbesítést: Az előfizető nem nyugtázza az üzeneteket a QoS 0-val, és a közzétevő nem küldi újra azokat.
  • A QoS 1 legalább egyszer biztosítja a kézbesítést: Az előfizető tudomásul veszi az üzeneteket, és a közzétevő újra elküldi őket, ha nem nyugtázták őket.

A QoS lehetővé teszi az ügyfelek számára a kommunikáció hatékonyságát és megbízhatóságát.

Állandó munkamenetek

Az MQTT-közvetítő támogatja az MQTT 3.1.1-es verziójának állandó munkameneteit, így az MQTT-közvetítő megőrzi az ügyfél munkamenetével kapcsolatos információkat, amikor le van választva a kommunikáció megbízhatóságának biztosítása érdekében. Ezek az információk tartalmazzák az ügyfél előfizetéseit, valamint a kihagyott vagy ismeretlen QoS 1-üzeneteket. Az ügyfelek konfigurálhatnak egy állandó munkamenetet a cleanSession CONNECT-csomagban falselévő jelölő beállításával.

Tiszta kezdés és munkamenet lejárata

Az MQTT v5 bevezette a tiszta kezdés és munkamenet lejárati funkciókat a munkamenet megőrzés kezelésének javítása érdekében, szemben az MQTT v3.1.1 verzióval. A tiszta kezdés lehetővé teszi, hogy az ügyfél új munkamenetet indítson az MQTT-közvetítővel a korábbi munkamenetadatok elvetése után. A munkamenet lejárata lehetővé teszi, hogy az ügyfél tájékoztassa az MQTT-közvetítőt, ha egy inaktív munkamenet lejártnak minősül, és automatikusan törlődik.

A CONNECT-csomagban az ügyfél beállíthatja a Clean Start zászlót true. Az ügyfél biztonsági okokból rövid munkamenet-lejárati időközt is beállíthat, vagy elkerülheti az előző munkamenet során esetlegesen előforduló adatütközéseket. Az ügyfél beállíthatja a Clean Start jelölőt false vagy egy hosszú munkamenet-lejárati időközt is az állandó munkamenetek megbízhatóságának és hatékonyságának biztosítása érdekében.

Munkamenet lejárati időközének maximális konfigurációja

Konfigurálhatja az Event Grid-névtérhez csatlakozó összes ügyfél számára engedélyezett maximális munkamenet-lejárati időközt. Az MQTT 3.1.1-es verziós ügyfelek esetében a konfigurált korlát az összes állandó munkamenet alapértelmezett lejárati időköze. MQTT v5-ügyfelek esetén a rendszer a konfigurált korlátot alkalmazza a CONNECT-csomag munkamenet-lejárati időköz tulajdonságának maximális értékeként. A korlátot meghaladó értékeket a rendszer módosítja. Ennek a névtértulajdonságnak az alapértelmezett értéke egy óra, és akár nyolc óráig is terjedhet. A munkamenetek maximális lejárati időközének az Azure Portalon való konfigurálásához kövesse az alábbi lépéseket:

  1. Lépjen a névtérre az Azure Portalon.
  2. A Konfiguráció területen módosítsa a munkamenet maximális lejárati időközének értékét órákban a kívánt korlátra.
  3. Válassza az Alkalmazás lehetőséget.

Képernyőkép a munkamenet lejárati időközének maximális konfiguráljáról.

Munkamenet-túlcsordulás

Az MQTT-közvetítő egy üzenetsort tart fenn minden olyan aktív MQTT-munkamenethez, amely nincs csatlakoztatva, amíg az ügyfél újra nem csatlakozik az MQTT-közvetítőhöz az üzenetsorban lévő üzenetek fogadásához. Ha egy ügyfél nem csatlakozik az üzenetsorba helyezett 1. QoS-üzenetek fogadásához, a munkamenet-üzenetsor addig halmozódik, amíg el nem éri a 100 vagy 1 MB-os korlátot. Miután az üzenetsor elérte a korlátot a munkamenet élettartama alatt, a munkamenet leáll.

Végakarat és végrendelet üzenetek

A Last Will and Testament (LWT) értesíti az MQTT klienseket a többi MQTT kliens váratlan kapcsolatmegszakadásairól. Az LWT használatával kiszámítható és megbízható kommunikációt biztosíthat az MQTT-ügyfelek között üzemzavarok esetén. Ez a képesség olyan helyzetekben hasznos, ahol a valós idejű kommunikáció, a rendszer megbízhatósága és az összehangolt műveletek kritikus fontosságúak. Az összetett feladatok végrehajtásában együttműködő ügyfelek a viselkedésük módosításával, a feladatok újraelosztásával vagy a rendszer teljesítményének és stabilitásának fenntartásával reagálhatnak az LWT-üzenetekre.

Az LWT használatához az ügyfél megadhatja az Will üzenetet, a Will témakört és a CONNECT-csomag többi Will tulajdonságát a kapcsolat során. Amikor az ügyfél hirtelen megszakad, az MQTT-közvetítő közzéteszi a Will üzenetet az összes ügyfélnek, aki feliratkozott a Will témakörre. Az ingadozó leválasztások zajának csökkentése érdekében az ügyfél nullánál nagyobb értékre állíthatja a késleltetési időközt. Ebben az esetben, ha az ügyfél hirtelen megszakad, de a késleltetési időköz lejárta előtt visszaállítja a kapcsolatot, a Will üzenet nem lesz közzétéve.

Felhasználói tulajdonságok

Az MQTT-közvetítő támogatja az MQTT v5 PUBLISH csomagok felhasználói tulajdonságait, amelyekkel egyéni kulcs-/értékpárokat vehet fel az üzenet fejlécébe, hogy több kontextust biztosítson az üzenetről. A felhasználói tulajdonságok használati esetei sokoldalúak. Ezzel a funkcióval megadhatja az üzenet célját vagy forrását, hogy a fogadó a hasznos adatok elemzése nélkül kezelje az üzenetet, ami számítási erőforrásokat takarít meg. Például egy felhasználói tulajdonsággal rendelkező üzenet, amely "figyelmeztetésként" jelzi a célját, eltérő kezelési logikát válthat ki, mint egy "információ" céllal.

Kérelem-válasz minta

Az MQTT v5 olyan mezőket vezetett be az MQTT PUBLISH csomagfejlécben, amelyek kontextust biztosítanak a válaszüzenethez a kérés-válasz mintában. Ezek a mezők tartalmaznak egy választémakört és egy korrelációs azonosítót, amelyet a válaszadó előzetes konfiguráció nélkül használhat a válaszban. A válaszinformációk hatékonyabb kommunikációt tesz lehetővé a parancs- és vezérlési forgatókönyvekben használt szabványos kérés-válasz mintához.

Példa kérés-válasz minta ábrázolása.

Üzenet lejárati időköze

Az MQTT v5-ben az üzenet lejárati időköze lehetővé teszi az üzenetek konfigurálható élettartamát. Az üzenet lejárati időköze az üzenet MQTT-közvetítőn való közzététele és a kézbesítetlen üzenet elvetése közötti időintervallum. Ez a funkció olyan esetekben hasznos, amikor az üzenetek csak bizonyos ideig érvényesek, például időérzékeny parancsok, valós idejű adatstreamelés vagy biztonsági riasztások. Az üzenet lejárati időközének beállításával az MQTT-közvetítő automatikusan eltávolíthatja az elavult üzeneteket. Ez a lépés biztosítja, hogy csak a releváns információk álljanak rendelkezésre az előfizetők számára. Ha egy üzenet lejárati időköze nullára van állítva, az azt jelenti, hogy az üzenetnek soha nem szabad lejárnia.

Témakör címkék

Az MQTT v5-ben a témakör aliasai lehetővé teszik, hogy az ügyfél rövidebb aliast használjon a közzétett üzenetben szereplő teljes témakörnév helyett. Az MQTT-közvetítő megfeleltetést tart fenn a témakör aliasa és a tényleges témakör neve között. Ez a funkció csökkentheti a hálózati sávszélességet, és csökkentheti az üzenet fejlécének méretét, különösen a hosszú neveket tartalmazó témakörök esetében. Olyan helyzetekben hasznos, amikor ugyanazt a témakört többször is közzéteszik több üzenetben, például az érzékelőhálózatokban. Az MQTT-közvetítő legfeljebb 10 témakör-aliast támogat. Az ügyfél a Topic Alias mezőjével a PUBLISH csomagban lecserélheti a teljes témakör nevét a megfelelő aliasra.

A témakör aliasának példáját bemutató diagram.

Adatforgalom-vezérlés

Az MQTT v5-ben a folyamatvezérlés az ügyfél által kezelhető üzenetek sebességének és méretének kezelésére szolgáló mechanizmus. A folyamatvezérlés konfigurálásához állítsa be a Maximum Packet Size CONNECT-csomagban lévő paramétereket és Receive Maximum paramétereket. A Receive Maximum paraméter lehetővé teszi az ügyfél számára, hogy a közvetítő által küldött üzenetek számát az ügyfél által kezelt üzenetek számára korlátozza. A Maximum Packet Size paraméter határozza meg az ügyfél által fogadható csomagok maximális méretét. Az MQTT-közvetítő üzenetméretkorlátja 512 KiB. Ez a funkció biztosítja a korlátozott feldolgozási sebességgel vagy tárolási képességekkel rendelkező korlátozott eszközök kommunikációjának megbízhatóságát és stabilitását.

Negatív visszaigazolások és kiszolgáló által kezdeményezett kapcsolatbontási csomag

Az MQTT v5 esetén az MQTT-közvetítő negatív nyugtázásokat és kiszolgáló által kezdeményezett kapcsolatbontási csomagokat küldhet, amelyek további információt nyújtanak az ügyfélnek az üzenetkézbesítési vagy kapcsolati hibákról. Ezek a funkciók segítenek az ügyfélnek diagnosztizálni a hiba okát, és megfelelő enyhítő műveleteket végrehajtani. Az MQTT-közvetítő az MQTT v5 specifikációban meghatározott okkódokat használja.

Üzenetrendezés

Az MQTT v5 biztosítja a sorrendi üzenetkézbesítést minden egyes témakörön és ügyfélen belül, amikor 1-es QoS szintet használnak, ami elengedhetetlen a sorozatintegritást igénylő munkafolyamatok esetében. Ideális olyan forgatókönyvekhez, mint a telemetria, a parancs végrehajtása és az idősoros adatok.

Ez azonban nem garantálja a különböző témakörök közötti sorrendet, illetve a különböző QoS-szinteken küldött üzeneteket. További információért lépjen kapcsolatba velünk a askmqtt@microsoft.com.

Hozzárendelt ügyfélazonosítók

Az MQTT v5 támogatja a hozzárendelt ügyfélazonosítókat, így az MQTT-közvetítő egyedi ügyfélazonosítót hozhat létre és adhat vissza, ha az ügyfél nem ad meg egyet. A szolgáltatás MQTT-közvetítői támogatása biztosítja a zökkenőmentes ügyfél-előkészítést, és csökkenti az ügyfelek számára a saját azonosítóik kezelését. Különösen akkor hasznos, ha az ügyfélkiépítés dinamikus, vagy ha az eszközök nem rendelkeznek előre konfigurált identitással. A hozzárendelt ügyfélazonosítók lekérhetők a CONNACK-válaszból, és újra felhasználhatók a jövőbeli munkamenetekben a konzisztens azonosítás fenntartása érdekében.

Ügyfélazonosító és munkamenetkorlátok kezelése az MQTT-ben

  • A hozzárendelt ügyfélazonosítók lehetővé teszik az ügyfelek számára, hogy előre definiált azonosítók megadása nélkül csatlakozzanak, ami lehetővé teszi az ideiglenes vagy állandó munkameneteket.
  • Az ügyfelek az első kapcsolat során rövid munkamenet-lejárati időközökkel és a hozzárendelt ügyfélazonosító későbbi használatra való mentésével elkerülhetik a zárolást.
  • A belső vezérlőprogram frissítései vagy alaphelyzetbe állítása esetén az ügyfeleknek meg kell őrizniük az ismert ügyfél-azonosítójukat, vagy mérsékelt munkamenet-lejárati időközöket kell használniuk a hosszan tartó zárolások elkerülése érdekében.
  • A névtér konfigurációja növelheti az ügyfélenkénti munkamenetkorlátokat a frissítések vagy visszaállítások során fellépő fennakadások minimalizálása érdekében.

Megosztott előfizetések

Az MQTT megosztott előfizetései lehetővé teszik több ügyfél számára, hogy egy témakör-előfizetésből származó üzeneteket csoportosan használjanak fel, így a közvetítő elosztott terheléselosztással oszthatja meg az üzeneteket közöttük. Ahelyett, hogy minden előfizető minden üzenetet kap, a számítási feladat meg van osztva – minden üzenet csak egy ügyfélnek érkezik a csoporton belül. Ez a minta különösen hasznos a háttérfeldolgozás skálázásához, az átviteli sebesség javításához és a magas rendelkezésre állás biztosításához olyan helyzetekben, mint a telemetriai feldolgozás, a rendeléskezelés vagy az eseményvezérelt mikroszolgáltatások. Az MQTT Broker Azure Event Grid megosztott előfizetések segítenek rugalmas, horizontálisan skálázható fogyasztói alkalmazások létrehozásában anélkül, hogy összetett egyéni terheléselosztási logikára van szükség.

Előfizetés-azonosítók

Subscription identifiers in Azure Event Grid MQTT Broker (MQTT 5) lehetővé teszi, hogy az ügyfél egyedi numerikus azonosítót rendeljen az egyes előfizetésekhez, hogy a bejövő üzenetek könnyen társíthatók legyenek a megfelelő előfizetéssel. Amikor a közvetítő üzenetet küld, tartalmazza az egyező előfizetés(ek) azonosítóit, így az ügyfél hatékonyan irányíthatja és feldolgozhatja az üzeneteket – különösen több vagy egymást átfedő témakörszűrő kezelése esetén.

Miért fontosak az előfizetés-azonosítók?

  • Üzenetkörnyezet törlése: Azonnal tudja, melyik előfizetés aktiválta az üzenetet
  • Egyszerűsített logika: Az ügyféloldali összetett témakörmegfeleltetés elkerülése
  • Hatékony feldolgozás: Üzenetek átirányítása a megfelelő kezelőhöz vagy munkafolyamathoz gyorsan

Intelligens otthoni monitorozási példa

Fontolja meg, hogy két ügyfélalkalmazás különböző típusú adatokat figyel egy otthonról:

  • Előfizetés azonosítója 1 → home/livingroom/temperature
  • 2. előfizetés-azonosító → home/+/humidity

Egy ábra, amely bemutatja, hogy az MQTT-közvetítő miként irányítja a hőmérséklet- és páratartalom-érzékelő üzeneteit az ügyfélalkalmazásokhoz, előfizetési azonosítók használatával a témasztring egyeztetése helyett.

A home/livingroom/temperature címzett üzenetet a közvetítő kézbesíti a következő előfizetés-azonosítóval: 1. A home/kitchen/humidity üzenet közzététele az alábbi előfizetés-azonosítóval történik: 2.

A home/livingroom/temperature téma szövegeinek ellenőrzése helyett a felhasználó egyszerűen csak használhatja:

  • 1. azonosító → Hőmérsékleti adatok feldolgozása
  • 2. azonosító → Páratartalom-adatok feldolgozása

Így az alkalmazáslogika tisztább, gyorsabb és könnyebben karbantartható.

Jelenlegi korlátozások

Az MQTT-közvetítő a jövőben további MQTT v5 és MQTT v3.1.1 funkciókat ad hozzá, hogy jobban igazodjon az MQTT specifikációihoz. Az alábbi lista az MQTT-közvetítő által támogatott funkciók és az MQTT-specifikációk közötti aktuális különbségeket ismerteti.

Az MQTT v5 aktuális korlátozásai

Az MQTT v5 támogatása jelenleg eltér az MQTT v5 specifikációjától az alábbi módokon:

  • Az érvényes késleltetési időköz a megadott késleltetési időköz és a munkamenet lejárati intervallum közül a kisebbik (ha van).
  • A QoS maximális száma 1.
  • A csomagok maximális mérete 512 KiB.
  • A témakör aliasának maximális száma 10. A kiszolgáló jelenleg nem rendel hozzá témakör-aliasokat a kimenő üzenetekhez. Az ügyfelek a megadott korláton belül hozzárendelhetnek és használhatnak témakör-aliasokat.
  • A CONNACK akkor sem adja vissza a Response Information tulajdonságot, ha a CONNECT-kérelem tartalmazza a tulajdonságot Request Response Information .
  • A CONNECT, SUBSCRIBE, DISCONNECT, PUBACK és AUTH csomagok felhasználói tulajdonságait a szolgáltatás nem használja, ezért nem támogatottak. Ha ezen kérések bármelyike felhasználói tulajdonságokat is tartalmaz, a kérés meghiúsul.
  • Ha a kiszolgáló kap egy PUBACK-csomagot egy nem sikeres válaszkóddal rendelkező ügyféltől, a kapcsolat megszakad.
  • A Keep Alive legfeljebb 1160 másodperc.

Az MQTT 3.1.1-es verzióra vonatkozó jelenlegi korlátozásai

Az MQTT-közvetítő jelenleg eltér az MQTT 3.1.1-es verziós specifikációjától a következő módokon:

  • A QoS 2 nem támogatott. A RETAIN zászlóval vagy a QoS 2-vel rendelkező közzétételi kérelem meghiúsul és bezárja a kapcsolatot.
  • A Keep Alive legfeljebb 1160 másodperc.

Kódrészletek

Ez az adattár C#, C és Python kódmintákat tartalmaz, amelyek bemutatják a telemetriai adatok küldését, a parancsok küldését és a riasztások szórását. Minták alapján létrehozott tanúsítványok alkalmasak tesztelésre, de nem alkalmasak éles környezetben.

Az MQTT-ről további információt az MQTT v5 specifikációban talál. Az MQTT-közvetítővel kapcsolatos további információkért lásd: