Hoe een IoT Edge-apparaat kan worden gebruikt als gateway

Van toepassing op:IoT Edge 1.4 checkmark IoT Edge 1.4

Belangrijk

IoT Edge 1.4 is de ondersteunde release. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

IoT Edge-apparaten kunnen werken als gateways, waardoor er een verbinding tussen andere apparaten in het netwerk en IoT Hub wordt geboden.

De IoT Edge-hubmodule fungeert als IoT Hub, zodat verbindingen van andere apparaten met dezelfde IoT-hub kunnen worden verwerkt. Dit type gatewaypatroon wordt transparant genoemd omdat berichten van downstreamapparaten naar IoT Hub kunnen worden doorgegeven alsof er geen gateway tussen deze apparaten is.

Voor apparaten die zelf geen 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 vereist om de verwerkingsstappen af te handelen.

De transparante en vertaalgatewaypatronen sluiten elkaar niet wederzijds uit. Eén IoT Edge-apparaat kan fungeren als een transparante gateway en een vertaalgateway.

Alle gatewaypatronen bieden de volgende voordelen:

  • Analyse aan de rand : AI-services lokaal gebruiken om gegevens te verwerken die afkomstig zijn van downstreamapparaten zonder volledige telemetrie naar de cloud te verzenden. Lokaal inzichten zoeken en erop reageren en alleen een subset met gegevens verzenden naar IoT Hub.
  • Isolatie van downstreamapparaten: het gatewayapparaat kan alle downstreamapparaten afschermen van blootstelling aan internet. Het kan zich bevinden tussen een operationeel technologienetwerk (OT) dat geen connectiviteit heeft en een IT-netwerk (information technology) dat toegang tot het web biedt. Op dezelfde manier kunnen apparaten die niet zelf verbinding kunnen maken met IoT Hub, verbinding maken met een gatewayapparaat.
  • Verbinding maken ion multiplexing: 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.
  • Verkeersafdichting : het IoT Edge-apparaat implementeert automatisch exponentieel uitstel als IoT Hub verkeer beperkt, terwijl de berichten lokaal worden bewaard. Dit voordeel maakt uw oplossing tolerant voor pieken in het verkeer.
  • Offlineondersteuning : op het gatewayapparaat worden berichten en dubbele updates opgeslagen die niet kunnen worden geleverd aan IoT Hub.

Transparante gateways

In het transparante gatewaypatroon kunnen apparaten die theoretisch verbinding kunnen maken met IoT Hub verbinding maken met een gatewayapparaat. De downstreamapparaten hebben hun eigen IoT Hub-identiteiten 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 hun communicatie bemiddelt. Dit gebrek aan bewustzijn betekent dat de gateway als transparant wordt beschouwd.

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

Vanaf versie 1.2 van IoT Edge kunnen transparante gateways verbindingen verwerken vanaf downstream IoT Edge-apparaten.

Bovenliggende en onderliggende relaties

U declareert transparante gatewayrelaties in IoT Hub door de IoT Edge-gateway in te stellen als het bovenliggende element van een downstreamapparaat dat er verbinding mee maakt.

Notitie

Een downstreamapparaat verzendt gegevens rechtstreeks naar internet of naar gatewayapparaten (ioT Edge ingeschakeld of niet). Een onderliggend apparaat kan een downstreamapparaat of een gatewayapparaat in een geneste topologie zijn.

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

Cloudidentiteiten

Alle apparaten in een transparant gatewayscenario hebben cloudidentiteiten nodig, zodat ze zich kunnen verifiëren bij IoT Hub. Wanneer u een apparaat-id maakt of bijwerkt, 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 instellen van het bovenliggende apparaat in IoT Hub was een optionele stap voor downstreamapparaten die gebruikmaken van symmetrische sleutelverificatie. Vanaf versie 1.1.0 moet elk downstreamapparaat echter worden toegewezen aan een bovenliggend apparaat.

U kunt de IoT Edge-hub configureren 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. Standaard kan een bovenliggend element maximaal 100 onderliggende elementen hebben. U kunt deze limiet wijzigen door de omgevingsvariabele Max Verbinding maken edClients in de edgeHub-module van het bovenliggende apparaat in te stellen.

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

Gatewaydetectie

Een onderliggend apparaat moet het bovenliggende apparaat kunnen vinden op 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 verbindingsreeks om naar het bovenliggende apparaat te verwijzen.

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

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 maken met elkaar in een gatewayhiërarchie, moeten alle apparaten in de hiërarchie één certificaatketen gebruiken.

Apparaatmogelijkheden achter transparante gateways

Alle IoT Hub-primitieven die werken met de berichtenpijplijn van IoT Edge ondersteunen ook transparante gatewayscenario's. Elke IoT Edge-gateway heeft mogelijkheden voor het opslaan en doorsturen van berichten die erdoorheen komen.

Gebruik de volgende tabel om te zien hoe verschillende IoT Hub-mogelijkheden 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
D2C-berichten (Device-to-Cloud) Yes - IoT D2C Yes - child IoT D2C Yes - IoT Edge D2C Yes - child IoT Edge D2C
Cloud-naar-apparaat-berichten (C2D) Yes - IoT C2D Yes - IoT child C2D No - IoT Edge C2D No - IoT Edge child C2D
Directe methoden Yes - IoT direct method Yes - child IoT direct method Yes - IoT Edge direct method Yes - child IoT Edge direct method
Apparaatdubbels en moduledubbels Yes - IoT twins Yes - child IoT twins Yes - IoT Edge twins Yes - child IoT Edge twins
Bestand uploaden Yes - IoT file upload No - IoT child file upload No - IoT Edge file upload No - IoT Edge child file upload
Pulls containerinstallatiekopie Yes - IoT Edge container pull Yes - child IoT Edge container pull
Blob uploaden Yes - IoT Edge blob upload Yes - child IoT Edge blob upload

Containerinstallatiekopieën kunnen worden gedownload, opgeslagen en geleverd van bovenliggende apparaten naar onderliggende apparaten.

Blobs, waaronder 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 een vertaler. 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-hubmodule zonder enige voorverwerking.

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

Er zijn twee patronen voor vertaalgateways: protocolomzetting en identiteitsomzetting.

Diagram showing translation gateway patterns.

Protocolomzetting

In het protocolomzettingsgatewaypatroon heeft alleen de IoT Edge-gateway een identiteit met IoT Hub. De vertaalmodule ontvangt berichten van downstreamapparaten, vertaalt deze 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-primitieven, zoals dubbels en directe methoden, alleen ondersteund voor het gatewayapparaat, niet downstreamapparaten. Gateways in dit patroon worden als ondoorzichtig beschouwd in tegenstelling tot transparante gateways, omdat ze de identiteiten van downstreamapparaten verbergen.

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

Omzetting van identiteiten

Het gatewaypatroon voor identiteitsomzetting is gebaseerd op protocolomzetting, 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.

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

Apparaatmogelijkheden achter vertaalgateways

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

Mogelijkheid Protocolomzetting Omzetting van identiteiten
Identiteiten die zijn opgeslagen in het IoT Hub-identiteitsregister Alleen de identiteit van het gatewayapparaat Identiteiten van alle verbonden apparaten
Dubbel apparaat Alleen de gateway heeft een apparaat- en moduledubbel Elk verbonden apparaat heeft een eigen apparaatdubbel
Directe methoden en cloud-naar-apparaat-berichten De cloud kan alleen het gatewayapparaat aanpakken De cloud kan elk verbonden apparaat afzonderlijk aanpakken
IoT Hub-beperkingen en -quota Toepassen op het gatewayapparaat Toepassen op elk apparaat

Wanneer u het protocolomzettingspatroon gebruikt, delen alle apparaten die verbinding maken via die gateway dezelfde cloud-naar-apparaatwachtrij, die maximaal 50 berichten kan bevatten. Gebruik dit patroon alleen wanneer er weinig apparaten verbinding maken via elke veldgateway en hun cloud-naar-apparaat-verkeer laag is.

De IoT Edge-runtime bevat geen mogelijkheden voor protocol- of identiteitsomzetting. Voor deze patronen zijn aangepaste modules of modules van derden vereist die vaak specifiek zijn voor de gebruikte hardware en protocollen. Azure Marketplace bevat verschillende modules voor protocolomzetting waaruit u kunt kiezen. Zie Azure IoT Edge LoRaWAN Starter Kit voor een voorbeeld dat gebruikmaakt van het identiteitsomzettingspatroon.

Volgende stappen

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