Hoe een IoT Edge-apparaat kan worden gebruikt als gateway

Van toepassing op:  Ja pictogram IoT Edge 1,1 andere versies: IOT Edge 1,2

Van toepassing op:  Ja pictogram IoT Edge 1,2 andere versies: IOT Edge 1,1

IoT Edge kunnen als gateways worden gebruikt, waardoor er een verbinding tussen andere apparaten in het netwerk en IoT Hub.

De IoT Edge hub-module fungeert als IoT Hub, zodat verbindingen kunnen worden verwerkt vanaf andere apparaten die een identiteit hebben met dezelfde IoT-hub. Dit type gatewaypatroon wordt transparant genoemd omdat berichten van downstreamapparaten naar IoT Hub worden verzonden alsof er geen gateway tussen de apparaten is.

Voor apparaten die niet zelf verbinding kunnen maken met IoT Hub, kunnen IoT Edge gateways die verbinding bieden. Dit type gatewaypatroon wordt vertaling genoemd omdat het IoT Edge-apparaat verwerking moet uitvoeren op binnenkomende downstreamapparaatberichten voordat ze kunnen worden doorgestuurd naar IoT Hub. Voor deze scenario's zijn extra modules op de IoT Edge gateway nodig om de verwerkingsstappen te verwerken.

De transparante en vertaalgatewaypatronen sluiten elkaar niet uit. Een enkel IoT Edge kan fungeren als zowel een transparante gateway als een vertaalgateway.

Alle gatewaypatronen bieden de volgende voordelen:

  • Analyse aan de rand: gebruik AI-services lokaal om gegevens te verwerken die afkomstig zijn van downstreamapparaten zonder dat er volledige telemetriegegevens naar de cloud worden verzonden. Zoek en reageer lokaal op inzichten en verzend alleen een subset van gegevens naar IoT Hub.
  • Downstreamapparaatisolatie: het gatewayapparaat kan alle downstreamapparaten afschermen tegen blootstelling aan internet. Het kan tussen een netwerk met operationele technologie (OT) zitten dat geen connectiviteit heeft en een IT-netwerk (information technology) dat toegang biedt tot het web. Op dezelfde manier kunnen apparaten die niet zelf verbinding kunnen maken met IoT Hub, verbinding maken met een gatewayapparaat.
  • Multiplexing van verbindingen: alle apparaten die verbinding maken met IoT Hub via een IoT Edge-gateway, kunnen dezelfde onderliggende verbinding gebruiken. Deze multiplexing-mogelijkheid vereist dat de IoT Edge gateway AMQP als upstream-protocol gebruikt.
  • Probleemloos verlopen van verkeer: het IoT Edge implementeert automatisch exponentieel IoT Hub vertraging van verkeer, terwijl de berichten lokaal worden persistent gemaakt. Dit voordeel maakt uw oplossing bestand tegen pieken in het verkeer.
  • Offlineondersteuning: het gatewayapparaat slaat berichten en dubbele updates op die niet aan de IoT Hub.

Transparante gateways

In het transparante gatewaypatroon kunnen apparaten die theoretisch verbinding kunnen maken met IoT Hub in plaats daarvan verbinding maken met een gatewayapparaat. De downstreamapparaten hebben hun eigen IoT Hub en maken verbinding met behulp van MQTT- of AMQP-protocollen. Via de gateway wordt simpelweg communicatie tussen de apparaten en IoT Hub doorgegeven. Zowel de apparaten als de gebruikers die met hen communiceren via IoT Hub weten niet dat een gateway de communicatie bemediat. Dit gebrek aan kennis betekent dat de gateway als transparant wordt beschouwd.

Zie Inzicht in de Azure IoT Edge-runtimeen de architectuur voor meer informatie over hoe de IoT Edge hub de communicatie tussen downstreamapparaten en de cloud beheert.

Diagram - Transparant gatewaypatroon

Notitie

In IoT Edge versie 1.1 en ouder kunnen IoT Edge niet downstream zijn van een IoT Edge-gateway.

Vanaf versie 1.2 van IoT Edge kunnen transparante gateways verbindingen van downstreamapparaten IoT Edge verwerken. Ga voor meer informatie naar de IoT Edge versie 1.2 van dit artikel.

Vanaf versie 1.2 van IoT Edge kunnen transparante gateways verbindingen van downstreamapparaten IoT Edge verwerken.

Bovenliggende en onderliggende relaties

U declareer transparante gatewayrelaties in IoT Hub door de IoT Edge-gateway in te stellen als het bovenliggende bovenliggende apparaat dat er verbinding mee maakt.

De bovenliggende/onderliggende relatie wordt op drie punten in de gatewayconfiguratie tot stand gebracht:

Cloudidentiteiten

Alle apparaten in een scenario met transparante gateways hebben cloudidentiteiten nodig, zodat ze kunnen worden geverifieerd IoT Hub. Wanneer u een apparaat-id maakt of bij bijgewerkt, kunt u de bovenliggende of onderliggende apparaten van het apparaat instellen. Met deze configuratie wordt het bovenliggende gatewayapparaat gemachtigd om verificatie voor de onderliggende apparaten af te handelen.

Notitie

Het bovenliggende apparaat instellen in IoT Hub een optionele stap voor downstreamapparaten die gebruikmaken van verificatie met een symmetrische sleutel. Vanaf versie 1.1.0 moet elk downstreamapparaat echter worden toegewezen aan een bovenliggend apparaat.

U kunt de hub IoT Edge om terug te gaan naar het vorige gedrag door de omgevingsvariabele AuthenticationMode in te stellen op de waarde CloudAndScope.

Onderliggende apparaten kunnen slechts één bovenliggend apparaat hebben. Een bovenliggend kan standaard maximaal 100 kinderen hebben. U kunt deze limiet wijzigen door de omgevingsvariabele MaxConnectedClients in te stellen in de edgeHub-module van het bovenliggende apparaat.

IoT Edge kunnen zowel ouders als kinderen zijn in transparante gatewayrelaties. Er kan een hiërarchie IoT Edge meerdere apparaten die aan elkaar rapporteren. Het bovenste knooppunt van een gatewayhiërarchie kan maximaal vijf generaties van kinderen hebben. Een apparaat met IoT Edge kan bijvoorbeeld vijf lagen van apparaten IoT Edge gekoppeld als kinderen eronder. Maar het IoT Edge in de vijfde generatie kan geen kinderen hebben, IoT Edge of anderszins.

Gatewaydetectie

Een onderliggend apparaat moet het bovenliggende apparaat kunnen vinden in het lokale netwerk. Configureer gatewayapparaten met een hostnaam, ofwel een FQDN (Fully Qualified Domain Name) of een IP-adres, die de onderliggende apparaten gebruiken om deze te vinden.

Gebruik op downstream-IoT-apparaten de parameter gatewayHostname in de connection string naar het bovenliggende apparaat te wijzen.

Gebruik op downstream IoT Edge apparaten de parameter parent_hostname in het configuratiebestand om naar het bovenliggende apparaat te wijzen.

Beveiligde verbinding

Bovenliggende en onderliggende apparaten moeten ook hun verbindingen met elkaar verifiëren. Elk apparaat heeft een kopie nodig van een gedeeld basis-CA-certificaat dat de onderliggende apparaten gebruiken om te controleren of ze verbinding maken met de juiste gateway.

Wanneer meerdere IoT Edge gateways verbinding met elkaar maken in een gatewayhiërarchie, moeten alle apparaten in de hiërarchie één certificaatketen gebruiken.

Apparaatmogelijkheden achter transparante gateways

Alle IoT Hub die werken met de berichtenpijplijn van IoT Edge bieden ook ondersteuning voor transparante gatewayscenario's. Elke IoT Edge gateway beschikt over opslag- en doorsturenmogelijkheden voor berichten die erdoor worden verzonden.

Gebruik de volgende tabel om te zien hoe verschillende IoT Hub worden ondersteund voor apparaten in vergelijking met apparaten achter gateways.

Mogelijkheid IoT-apparaat IoT achter een gateway IoT Edge-apparaat IoT Edge achter een gateway
Apparaat-naar-cloud-berichten (D2C) Ja - IoT D2C Ja - onderliggende IoT D2C Ja - IoT Edge D2C Ja- onderliggende IoT Edge D2C
C2D-berichten (Cloud-to-Device) Ja - IoT C2D Ja - IoT onderliggende C2D Nee - IoT Edge C2D Nee- IoT Edge onderliggende C2D
Directe methoden Ja: directe IoT-methode Ja: onderliggende directe IoT-methode Ja- IoT Edge directe methode Ja: onderliggende IoT Edge directe methode
Apparaat-tweelingen en module-tweelingen Ja- IoT-tweelingen Ja- onderliggende IoT-tweelingen Ja- IoT Edge tweelingen Ja: onderliggende IoT Edge tweelingen
Bestand uploaden Ja- uploaden van IoT-bestand Nee: uploaden van onderliggend IoT-bestand Nee- IoT Edge uploaden van bestanden Nee: IoT Edge bestand uploaden
Container-image pulls Ja- IoT Edge container pull Ja: pull van IoT Edge container
Blob uploaden Ja: IoT Edge blob uploaden Ja: uploaden van onderliggende IoT Edge blob

Containerafbeeldingen kunnen worden gedownload, opgeslagen en geleverd van bovenliggende apparaten naar onderliggende apparaten.

Blobs, inclusief ondersteuningsbundels en logboeken, kunnen worden geüpload van onderliggende apparaten naar bovenliggende apparaten.

Vertaalgateways

Als downstreamapparaten geen verbinding kunnen maken met IoT Hub, moet de IoT Edge gateway fungeren als translator. Dit patroon is vaak vereist voor apparaten die geen ondersteuning bieden voor MQTT, AMQP of HTTP. Omdat deze apparaten geen verbinding kunnen maken met IoT Hub, kunnen ze ook geen verbinding maken met de IoT Edge hub-module zonder enige voorverwerking.

Aangepaste modules of modules van derden die vaak specifiek zijn voor de hardware of het protocol van het downstreamapparaat, moeten worden geïmplementeerd op de IoT Edge gateway. Deze vertaalmodules nemen de binnenkomende berichten om in een indeling die kan worden begrepen door IoT Hub.

Er zijn twee patronen voor vertaalgateways: protocolvertaling en identiteitsvertaling.

Diagram - vertaalgatewaypatronen

Protocolvertaling

In het protocolvertalingsgatewaypatroon heeft alleen IoT Edge gateway een identiteit met IoT Hub. De vertaalmodule ontvangt berichten van downstreamapparaten, zet deze om in een ondersteund protocol en vervolgens verzendt het IoT Edge-apparaat de berichten namens de downstreamapparaten. Alle informatie ziet eruit alsof deze afkomstig is van één apparaat, de gateway. Downstreamapparaten moeten extra identificatiegegevens in hun berichten insluiten als cloudtoepassingen de gegevens per apparaat willen analyseren. Daarnaast worden IoT Hub zoals tweelingen en directe methoden alleen ondersteund voor het gatewayapparaat, niet voor downstreamapparaten. Gateways in dit patroon worden als ondoorzichtig beschouwd in tegenstelling tot transparante gateways, omdat ze de identiteiten van downstreamapparaten verborgen maken.

Protocolvertaling ondersteunt apparaten die beperkt zijn tot resources. Veel bestaande apparaten produceren gegevens die bedrijfsinzichten mogelijk maken; ze zijn echter niet ontworpen met cloudconnectiviteit in gedachten. Met ondoorzichtige gateways kunnen deze gegevens worden ontgrendeld en gebruikt in een IoT-oplossing.

Identiteitsvertaling

Het gatewaypatroon voor identiteitsvertaling bouwt voort op protocolvertaling, maar de IoT Edge-gateway biedt ook een IoT Hub-apparaat-id namens de downstreamapparaten. De vertaalmodule is verantwoordelijk voor het begrijpen van het protocol dat wordt gebruikt door de downstreamapparaten, het verstrekken van identiteiten en het vertalen van hun berichten in IoT Hub primitieven. Downstreamapparaten worden in IoT Hub weergegeven als eersteklasapparaten met apparaatdubbels en methoden. Een gebruiker kan communiceren met de apparaten in IoT Hub en is zich niet bewust van het tussenliggende gatewayapparaat.

Identiteitsvertaling biedt de voordelen van protocolvertaling en biedt bovendien volledige beheerbaarheid van downstreamapparaten vanuit de cloud. Alle apparaten in uw IoT-oplossing worden in IoT Hub ongeacht het protocol dat ze gebruiken.

Apparaatmogelijkheden achter vertaalgateways

In de volgende tabel wordt uitgelegd hoe IoT Hub worden uitgebreid naar downstreamapparaten in beide vertaalgatewaypatronen.

Mogelijkheid Protocolvertaling Identiteitsvertaling
Identiteiten die zijn opgeslagen in IoT Hub identiteitsregister Alleen de identiteit van het gatewayapparaat Identiteiten van alle verbonden apparaten
Dubbel apparaat Alleen de gateway heeft een apparaat- en module-tweeling Elk verbonden apparaat heeft een eigen apparaat dubbel
Directe methoden en cloud-naar-apparaat-berichten De cloud kan alleen het gatewayapparaat adresseren De cloud kan elk verbonden apparaat afzonderlijk aanpakken
IoT Hub en quota's Toepassen op het gatewayapparaat Toepassen op elk apparaat

Wanneer u het protocolvertalingspatroon gebruikt, delen alle apparaten die via die gateway verbinding maken, dezelfde cloud-naar-apparaat-wachtrij, die uit meer dan 50 berichten kan bestaan. Gebruik dit patroon alleen wanneer er weinig apparaten verbinding maken via elke veldgateway en het verkeer van de cloud naar het apparaat laag is.

De IoT Edge runtime bevat geen mogelijkheden voor het vertalen van protocollen of identiteiten. Voor deze patronen zijn aangepaste modules of modules van derden vereist die vaak specifiek zijn voor de gebruikte hardware en protocol. Azure Marketplace bevat verschillende protocolvertalingsmodules waar u uit kunt kiezen. Zie loRaWAN Starter Kit voor een voorbeeld dat gebruikmaakt van Azure IoT Edge identiteitsvertalingspatroon.

Volgende stappen

Meer informatie over de drie stappen voor het instellen van een transparante gateway: