Så kan en IoT Edge-enhet användas som gateway

Gäller för:  Ja-ikonen IoT Edge 1,1 andra versioner: IoT Edge 1,2

Gäller för:  Ja-ikonen IoT Edge 1,2 andra versioner: IoT Edge 1,1

IoT Edge enheter kan fungera som gatewayer, vilket ger en anslutning mellan andra enheter i nätverket och IoT Hub.

Modulen IoT Edge fungerar som en IoT Hub, så kan hantera anslutningar från andra enheter som har en identitet med samma IoT-hubb. Den här typen av gatewaymönster kallas transparent eftersom meddelanden kan skickas från nedströmsenheter till IoT Hub som om det inte fanns någon gateway mellan dem.

För enheter som inte eller inte kan ansluta till IoT Hub på egen hand kan IoT Edge-gatewayer tillhandahålla den anslutningen. Den här typen av gatewaymönster kallas översättning eftersom IoT Edge-enheten måste utföra bearbetning på inkommande underordnade enhetsmeddelanden innan de kan vidarebefordras till IoT Hub. De här scenarierna kräver ytterligare moduler IoT Edge gatewayen för att hantera bearbetningsstegen.

Gateway-mönstren för transparent och översättning utesluter inte varandra. En enda IoT Edge enhet kan fungera som både en transparent gateway och en översättningsgateway.

Alla gatewaymönster ger följande fördelar:

  • Analys vid gränsen – Använd AI-tjänster lokalt för att bearbeta data som kommer från nedströmsenheter utan att skicka fullständig telemetri till molnet. Hitta och reagera på insikter lokalt och skicka endast en delmängd data till IoT Hub.
  • Isolering av nedströmsenheter – Gatewayenheten kan skydda alla nedströmsenheter från exponering mot Internet. Det kan vara mellan ett OT-nätverk (Operational Technology) som inte har någon anslutning och ett IT-nätverk (Information Technology) som ger åtkomst till webben. På samma sätt kan enheter som inte har möjlighet att ansluta till IoT Hub på egen hand ansluta till en gatewayenhet i stället.
  • Anslutnings multiplexning – Alla enheter som ansluter till IoT Hub via en IoT Edge-gateway kan använda samma underliggande anslutning. Den här multiplexeringsfunktionerna kräver att IoT Edge gateway använder AMQP som överordnade protokoll.
  • Trafikutjämning – IoT Edge implementerar automatiskt exponentiell backoff om IoT Hub begränsar trafiken, samtidigt som meddelandena sparas lokalt. Den här fördelen gör din lösning motståndskraftig mot trafiktoppar.
  • Offlinesupport – Gatewayenheten lagrar meddelanden och tvillinguppdateringar som inte kan levereras till IoT Hub.

Transparenta gatewayer

I det transparenta gatewaymönstret kan enheter som teoretiskt sett skulle kunna ansluta IoT Hub ansluta till en gatewayenhet i stället. Nedströmsenheterna har sina egna IoT Hub och ansluter med Antingen MQTT- eller AMQP-protokoll. Gatewayen skickar helt enkelt kommunikation mellan enheterna och IoT Hub. Både enheterna och användarna som interagerar med dem via IoT Hub inte om att en gateway medlar sin kommunikation. Den här bristen på medvetenhet innebär att gatewayen anses vara transparent.

Mer information om hur IoT Edge-hubben hanterar kommunikationen mellan nedströmsenheter och molnet finns i Förstå Azure IoT Edge och dess arkitektur.

Diagram – Mönster för transparent gateway

Anteckning

I IoT Edge version 1.1 och senare IoT Edge enheter inte vara underordnade en IoT Edge gateway.

Från och med version 1.2 IoT Edge kan transparenta gatewayer hantera anslutningar från underordnade IoT Edge enheter. Om du vill ha mer information växlar du IoT Edge version 1.2 av den här artikeln.

Från och med version 1.2 IoT Edge kan transparenta gatewayer hantera anslutningar från underordnade IoT Edge enheter.

Överordnade och underordnade relationer

Du deklarerar transparenta gatewayrelationer i IoT Hub genom att ange IoT Edge gateway som överordnad till en underordnad enhet som ansluter till den.

Den överordnade/underordnade relationen upprättas vid tre punkter i gatewaykonfigurationen:

Molnidentiteter

Alla enheter i ett scenario med transparent gateway behöver molnidentiteter så att de kan autentisera till IoT Hub. När du skapar eller uppdaterar en enhetsidentitet kan du ange enhetens överordnade eller underordnade enheter. Den här konfigurationen ger den överordnade gatewayenheten behörighet att hantera autentisering för dess underordnade enheter.

Anteckning

Att ange den överordnade enheten i IoT Hub ett valfritt steg för nedströmsenheter som använder symmetrisk nyckelautentisering. Men från och med version 1.1.0 måste varje underordnad enhet tilldelas till en överordnad enhet.

Du kan konfigurera IoT Edge för att gå tillbaka till det tidigare beteendet genom att ange miljövariabeln AuthenticationMode till värdet CloudAndScope.

Underordnade enheter kan bara ha en överordnad enhet. Som standard kan en överordnad ha upp till 100 underordnade. Du kan ändra den här gränsen genom att ange miljövariabeln MaxConnectedClients i den överordnade enhetens edgeHub-modul.

IoT Edge enheter kan vara både föräldrar och underordnade i transparenta gatewayrelationer. En hierarki med flera IoT Edge enheter som rapporterar till varandra kan skapas. Den översta noden i en gatewayhierarki kan ha upp till fem generationer av underordnade. Till exempel kan en IoT Edge enhet ha fem lager med enheter IoT Edge länkade som underordnade under den. Men enheten IoT Edge den femte generationen får inte ha några underordnade, IoT Edge eller på annat sätt.

Gatewayidentifiering

En underordnad enhet måste kunna hitta sin överordnade enhet i det lokala nätverket. Konfigurera gateway-enheter med ett värdnamn, antingen ett fullständigt kvalificerat domännamn (FQDN) eller en IP-adress som dess underordnade enheter använder för att hitta den.

På underordnade IoT-enheter använder du parametern gatewayHostname i anslutningssträngen för att peka på den överordnade enheten.

På underordnade IoT Edge enheter använder du parametern parent_hostname i konfigurationsfilen för att peka på den överordnade enheten.

Säker anslutning

Överordnade och underordnade enheter måste också autentisera sina anslutningar till varandra. Varje enhet behöver en kopia av ett certifikat från en delad rotcertifikatutfärdare som de underordnade enheterna använder för att verifiera att de ansluter till rätt gateway.

När flera IoT Edge-gatewayer ansluter till varandra i en gatewayhierarki bör alla enheter i hierarkin använda en enda certifikatkedja.

Enhetsfunktioner bakom transparenta gatewayer

Alla IoT Hub primitiver som fungerar med IoT Edge meddelandepipeline stöder också transparenta gatewayscenarier. Varje IoT Edge gateway har funktioner för att lagra och vidarebefordra meddelanden som kommer genom den.

Använd följande tabell för att se hur IoT Hub funktioner stöds för enheter jämfört med enheter bakom gatewayer.

Funktion IoT-enhet IoT bakom en gateway IoT Edge-enhet IoT Edge bakom en gateway
Meddelanden från enhet till moln (D2C) Ja – IoT D2C Ja – underordnad IoT D2C Ja – IoT Edge D2C Ja – underordnad IoT Edge D2C
C2D-meddelanden (moln till enhet) Ja – IoT C2D Ja – IoT-underordnad C2D Nej – IoT Edge C2D Nej – IoT Edge C2D
Direkta metoder Ja – IoT-direktmetod Ja – underordnad IoT-direktmetod Ja – IoT Edge direktmetod Ja – underordnad IoT Edge direktmetod
Enhetstvillingarna och modultvillingarna Ja – IoT-tvillingar Ja – underordnade IoT-tvillingar Ja – IoT Edge tvillingar Ja – underordnade IoT Edge tvillingar
Filuppladdning Ja – IoT-filuppladdning Nej – uppladdning av underordnad IoT-fil Nej – IoT Edge filuppladdning Nej – IoT Edge underordnad filuppladdning
Hämta containeravbildningar Ja – IoT Edge container pull Ja – underordnad IoT Edge container pull
Blobuppladdning Ja – IoT Edge blobuppladdning Ja – underordnad IoT Edge blobuppladdning

Containeravbildningar kan laddas ned, lagras och levereras från överordnade enheter till underordnade enheter.

Blobar, inklusive supportpaket och loggar, kan laddas upp från underordnade enheter till överordnade enheter.

Översättningsgatewayer

Om nedströmsenheter inte kan ansluta till IoT Hub måste IoT Edge gateway fungera som translator. Det här mönstret krävs ofta för enheter som inte stöder MQTT, AMQP eller HTTP. Eftersom dessa enheter inte kan ansluta till IoT Hub kan de inte heller ansluta till IoT Edge hub-modulen utan viss förbearbetning.

Anpassade moduler eller moduler från tredje part som ofta är specifika för nedströmsenhetens maskinvara eller protokoll måste distribueras till IoT Edge gateway. Dessa översättningsmoduler tar inkommande meddelanden och omvandlar dem till ett format som kan tolkas av IoT Hub.

Det finns två mönster för översättningsgatewayer: protokollöversättning och identitetsöversättning.

Diagram – översättningsgatewaymönster

Protokollöversättning

I mönstret för gatewayen för protokollöversättning har endast IoT Edge gateway en identitet med IoT Hub. Översättningsmodulen tar emot meddelanden från nedströmsenheter, översätter dem till ett protokoll som stöds och sedan IoT Edge enheten meddelanden åt nedströmsenheterna. All information ser ut som om den kommer från en enhet, gatewayen. Nedströmsenheter måste bädda in ytterligare identifierande information i sina meddelanden om molnprogram vill analysera data för varje enhet. Dessutom stöds IoT Hub primitiver som tvillingar och direktmetoder endast för gatewayenheten, inte nedströmsenheter. Gatewayer i det här mönstret anses vara täckande till skillnad från transparenta gatewayer, eftersom de döljer identiteter för underordnade enheter.

Protokollöversättning stöder enheter som är resursbegränsade. Många befintliga enheter producerar data som kan ge affärsinsikter. Men de har inte utformats med molnanslutning i åtanke. Opaque-gatewayer gör att dessa data kan låsas upp och användas i en IoT-lösning.

Identitetsöversättning

Gatewaymönstret för identitetsöversättning bygger på protokollöversättning, men IoT Edge gatewayen tillhandahåller också en IoT Hub enhetsidentitet för de underordnade enheternas räkning. Översättningsmodulen ansvarar för att förstå det protokoll som används av nedströmsenheterna, ge dem identitet och översätta deras meddelanden till IoT Hub primitiver. Nedströmsenheter visas i IoT Hub som enheter av första klass med tvillingar och metoder. Användare kan interagera med enheterna i IoT Hub och känner inte till den mellanliggande gatewayenheten.

Identitetsöversättning ger fördelarna med protokollöversättning och möjliggör dessutom fullständig hanterbarhet för nedströmsenheter från molnet. Alla enheter i din IoT-lösning visas IoT Hub oavsett vilket protokoll de använder.

Enhetsfunktioner bakom översättningsgatewayer

I följande tabell beskrivs hur IoT Hub funktioner utökas till nedströmsenheter i båda översättningsgatewaymönstren.

Funktion Protokollöversättning Identitetsöversättning
Identiteter som lagras IoT Hub identitetsregistret Endast gatewayenhetens identitet Identiteter för alla anslutna enheter
Enhetstvilling Endast gatewayen har en enhets- och modultvilling Varje ansluten enhet har en egen enhetstvilling
Direktmetoder och meddelanden från moln till enhet Molnet kan bara adressera gatewayenheten Molnet kan adressera varje ansluten enhet individuellt
IoT Hub begränsningar och kvoter Tillämpa på gatewayenheten Tillämpa på varje enhet

När du använder protokollets översättningsmönster delar alla enheter som ansluter via gatewayen samma moln-till-enhet-kö, som kan innehålla högst 50 meddelanden. Använd bara det här mönstret när få enheter ansluter via varje fältgateway och deras moln-till-enhet-trafik är låg.

Den IoT Edge körningen innehåller inte funktioner för protokoll- eller identitetsöversättning. Dessa mönster kräver anpassade moduler eller moduler från tredje part som ofta är specifika för den maskinvara och det protokoll som används. Azure Marketplace innehåller flera protokollöversättningsmoduler att välja mellan. Ett exempel som använder identitetsöversättningsmönstret finns i Azure IoT Edge LoRaWAN Starter Kit.

Nästa steg

Lär dig de tre stegen för att konfigurera en transparent gateway: