Azure IoT Edge-apparaten verbinden met een Azure IoT Central-toepassing
Azure IoT Edge verplaatst cloudanalyse en aangepaste bedrijfslogica van de cloud naar uw apparaten. Met deze benadering kan uw cloudoplossing zich richten op zakelijke inzichten in plaats van gegevensbeheer. Schaal uw IoT-oplossing uit door uw bedrijfslogica in te pakken in standaardcontainers, deze containers op uw apparaten te implementeren en deze vanuit de cloud te bewaken.
In dit artikel wordt het volgende beschreven:
- IoT Edge-gatewaypatronen met IoT Central.
- Hoe IoT Edge-apparaten verbinding maken met een IoT Central-toepassing.
- IoT Central gebruiken om uw IoT Edge-apparaten te beheren.
Zie Wat is Azure IoT Edge voor meer informatie over IoT Edge?
IoT Edge
IoT Edge bestaat uit drie onderdelen:
- IoT Edge-modules zijn containers waarop Azure-services, partnerservices of uw eigen code worden uitgevoerd. Modules worden geïmplementeerd op IoT Edge-apparaten en worden lokaal uitgevoerd op deze apparaten. Een implementatiemanifest geeft de modules op die moeten worden geïmplementeerd op een IoT Edge-apparaat.
- De IoT Edge-runtime wordt uitgevoerd op elk IoT Edge-apparaat en beheert de modules die op elk apparaat zijn geïmplementeerd. De runtime bestaat uit twee IoT Edge-modules: IoT Edge-agent en IoT Edge-hub.
- Met een cloudinterface kunt u op afstand de IoT Edge-apparaten controleren en beheren. IoT Central is een voorbeeld van een cloudinterface.
IoT Central biedt de volgende mogelijkheden voor IoT Edge-apparaten:
- Distributiemanifestbeheer. Een IoT Central-toepassing kan een verzameling implementatiemanifesten beheren en deze toewijzen aan apparaten.
- Apparaatsjablonen om de mogelijkheden van een IoT Edge-apparaat te beschrijven, zoals:
- De telemetrie die elke IoT Edge-module verzendt.
- De eigenschappen van elke IoT Edge-modulerapporten.
- De opdrachten waar elke IoT Edge-module op reageert.
- De relaties tussen een IoT Edge-gatewayapparaat en downstreamapparaat.
- Cloudeigenschappen die niet zijn opgeslagen op het IoT Edge-apparaat.
- Apparaatweergaven en -formulieren.
- De mogelijkheid om IoT Edge-apparaten op schaal in te richten met behulp van de Azure IoT-apparaatinrichtingsservice.
- Regels en acties.
- Aangepaste dashboards en analyses.
- Continue gegevensexport van telemetrie van IoT Edge-apparaten.
Een IoT Edge-apparaat kan het volgende zijn:
- Een zelfstandig apparaat dat bestaat uit aangepaste modules.
- Een gatewayapparaat, met downstreamapparaten die er verbinding mee maken. Een gatewayapparaat kan aangepaste modules bevatten.
IoT Edge-apparaten en IoT Central
IoT Edge-apparaten kunnen handtekeningtokens voor gedeelde toegang of X.509-certificaten gebruiken om te verifiëren met IoT Central. U kunt uw IoT Edge-apparaten handmatig registreren in IoT Central voordat ze voor het eerst verbinding maken, of de Device Provisioning Service gebruiken om de registratie af te handelen. Zie Hoe apparaten verbinding maken voor meer informatie.
IoT Central maakt optioneel gebruik van apparaatsjablonen om te definiëren hoe IoT Central communiceert met een IoT Edge-apparaat. Een apparaatsjabloon geeft bijvoorbeeld het volgende op:
- De typen telemetrie en eigenschappen die een IoT Edge-apparaat verzendt, zodat IoT Central deze kan interpreteren en visualisaties kan maken.
- De opdrachten waarop een IoT Edge-apparaat reageert, zodat IoT Central een gebruikersinterface kan weergeven voor een operator om de opdrachten aan te roepen.
Als er geen apparaatsjabloon is gekoppeld aan een apparaat, worden telemetrie- en eigenschapswaarden weergegeven als niet-gemodelleerde gegevens. U kunt echter nog steeds de mogelijkheden voor het exporteren van IoT Central-gegevens gebruiken om telemetrie- en eigenschapswaarden door te sturen naar andere back-endservices.
IoT Edge-implementatiemanifesten
In IoT Edge implementeert en beheert u bedrijfslogica in de vorm van modules. IoT Edge-modules zijn de kleinste rekeneenheid die wordt beheerd door IoT Edge en kan Azure-services zoals Azure Stream Analytics of uw eigen oplossingsspecifieke code bevatten.
Een IoT Edge-implementatiemanifest bevat de IoT Edge-modules die op het apparaat moeten worden geïmplementeerd en hoe u deze configureert.
Navigeer in Azure IoT Central naar Edge-manifesten om de implementatiemanifesten voor de IoT Edge-apparaten in uw oplossing te importeren en te beheren.
In het volgende codefragment ziet u een voorbeeld van een IoT Edge-implementatiemanifest:
{
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.0",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
"createOptions": "{}"
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
"createOptions": "{}"
}
}
},
"modules": {
"SimulatedTemperatureSensor": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
"createOptions": "{}"
}
}
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {
"route": "FROM /* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
},
"SimulatedTemperatureSensor": {
"properties.desired": {
"SendData": true,
"SendInterval": 10
}
}
}
}
In het vorige fragment ziet u het volgende:
- Er zijn drie modules. De IoT Edge-agent en ioT Edge-hubsysteemmodules die aanwezig zijn in elk implementatiemanifest. De aangepaste module SimulatedTemperatureSensor .
- De installatiekopieën van de openbare module worden opgehaald uit een Azure Container Registry-opslagplaats waarvoor geen referenties nodig zijn om verbinding te maken. Voor installatiekopieën van privémodules stelt u de referenties voor het containerregister in die moeten worden gebruikt in de
registryCredentials
instelling voor de IoT Edge-agentmodule . - De aangepaste module SimulatedTemperatureSensor heeft twee beschrijfbare eigenschappen
"SendData": true
en"SendInterval": 10
.
In de volgende schermopname ziet u dit implementatiemanifest dat is geïmporteerd in IoT Central:
Als uw toepassing gebruikmaakt van organisaties, kunt u uw implementatiemanifesten toewijzen aan specifieke organisaties. In de vorige schermopname ziet u het implementatiemanifest dat is toegewezen aan de organisatie Store Manager/Amerika .
Zie IoT Edge-implementatiemanifesten beheren in uw IoT Central-toepassing voor meer informatie over het gebruik van de pagina Edge-manifesten en het toewijzen van implementatiemanifesten aan IoT Edge-apparaten.
Een niet-toegewezen apparaat beheren
Een IoT Edge-apparaat dat geen gekoppelde apparaatsjabloon heeft, wordt een niet-toegewezen apparaat genoemd. U kunt geen IoT Central-functies gebruiken, zoals dashboards, apparaatgroepen, analyses, regels en taken met niet-toegewezen apparaten. U kunt echter de volgende mogelijkheden gebruiken met niet-toegewezen apparaten:
- Onbewerkte gegevens weergeven, zoals telemetrie en eigenschappen.
- Apparaatopdrachten aanroepen.
- Lees- en schrijfeigenschappen.
U kunt ook afzonderlijke modules beheren op niet-toegewezen apparaten:
IoT Edge-apparaatsjablonen
IoT Central-apparaatsjablonen gebruiken modellen om de mogelijkheden van IoT Edge-apparaten te beschrijven. Apparaatsjablonen zijn optioneel voor IoT Edge-apparaten. Met de apparaatsjabloon kunt u communiceren met telemetrie, eigenschappen en opdrachten met behulp van IoT Central-mogelijkheden, zoals dashboards en analyses. In het volgende diagram ziet u de structuur van het model voor een IoT Edge-apparaat:
IoT Central modelleren als volgt een IoT Edge-apparaat:
- Elke IoT Edge-apparaatsjabloon heeft een mogelijkheidsmodel.
- Voeg voor elke aangepaste module in het implementatiemanifest een moduledefinitie toe als u IoT Central wilt gebruiken om met die module te communiceren.
- Een modulemogelijkheidsmodel implementeert een of meer moduleinterfaces.
- Elke moduleinterface bevat telemetrie, eigenschappen en opdrachten.
U kunt het basisondersteuningsmodel genereren op basis van de modules en eigenschappen die zijn gedefinieerd in het apparaatmanifest. Zie Modules en eigenschappen toevoegen aan apparaatsjablonen voor meer informatie.
IoT Edge-gatewaypatronen
IoT Central ondersteunt de volgende IoT Edge-apparaatpatronen:
IoT Edge als een transparante gateway
Downstreamapparaten maken verbinding met IoT Central via de gateway met hun eigen identiteit.
Het IoT Edge-apparaat wordt ingericht in IoT Central, samen met de downstreamapparaten die zijn verbonden met het IoT Edge-apparaat. Runtime-ondersteuning voor het inrichten van downstreamapparaten via de gateway wordt momenteel niet ondersteund.
De IoT Edge-hubmodule gedraagt zich als IoT Central en verwerkt verbindingen van apparaten die zijn geregistreerd in IoT Central. Berichten worden van downstreamapparaten doorgegeven aan IoT Central alsof er geen gateway tussen deze apparaten is. In een transparante gateway kunt u geen aangepaste modules gebruiken om de berichten van de downstreamapparaten te bewerken.
Notitie
IoT Central biedt momenteel geen ondersteuning voor het verbinden van een IoT Edge-apparaat als downstreamapparaat met een transparante IoT Edge-gateway. Dit komt doordat alle apparaten die verbinding maken met IoT Central worden ingericht met behulp van Device Provisioning Service (DPS) en DPS momenteel geen ondersteuning biedt voor geneste IoT Edge-scenario's.
IoT Edge als protocolomzettingsgateway
Met dit patroon kunt u apparaten verbinden die geen van de protocollen kunnen gebruiken die door IoT Central worden ondersteund.
Het IoT Edge-apparaat wordt ingericht in IoT Central en alle telemetriegegevens van uw downstreamapparaten worden weergegeven als afkomstig van het IoT Edge-apparaat. Downstreamapparaten die zijn verbonden met het IoT Edge-apparaat, worden niet ingericht in IoT Central.
IoT Edge als een gateway voor identiteitsomzetting
Downstreamapparaten maken verbinding met een module in de gateway die IoT Central-apparaatidentiteiten voor hen biedt.
Het IoT Edge-apparaat wordt ingericht in IoT Central, samen met de downstreamapparaten die zijn verbonden met het IoT Edge-apparaat. Momenteel biedt IoT Central geen runtime-ondersteuning voor een gateway om een identiteit te bieden en downstreamapparaten in te richten. Als u uw eigen module voor identiteitsomzetting gebruikt, kan IoT Central dit patroon ondersteunen.
Downstreamapparaatrelaties met een gateway en modules
Als de downstreamapparaten via de IoT Edge-hubmodule verbinding maken met een IoT Edge-gatewayapparaat, is het IoT Edge-apparaat een transparante gateway:
Als de downstreamapparaten via een aangepaste module verbinding maken met een IoT Edge-gatewayapparaat, is het IoT Edge-apparaat een vertaalgateway. In het volgende voorbeeld maken downstreamapparaten verbinding via een aangepaste Modbus-module die de protocolomzetting doet:
In het volgende diagram ziet u verbindingen met een IoT Edge-gatewayapparaat via beide typen modules. In dit scenario is het IoT Edge-apparaat zowel een transparante als een vertaalgateway:
Downstreamapparaten kunnen verbinding maken met een IoT Edge-gatewayapparaat via meerdere aangepaste modules. In het volgende diagram ziet u downstreamapparaten die verbinding maken via een aangepaste Modbus-module, een aangepaste BLE-module en de IoT Edge-hubmodule :
Zie Hoe een IoT Edge-apparaat kan worden gebruikt als gateway voor meer informatie over de patronen van de IoT Edge-gateway.
De IoT Edge-runtime implementeren
Zie ondersteunde systemen van Azure IoT Edge voor meer informatie over waar u de IoT Edge-runtime kunt uitvoeren.
U kunt de IoT Edge-runtime ook installeren in de volgende omgevingen:
- Azure IoT Edge voor Linux installeren of verwijderen
- Azure IoT Edge voor Linux installeren en inrichten op een Windows-apparaat (preview)
- Azure IoT Edge uitvoeren op virtuele Ubuntu-machines in Azure
Uw IoT Edge-apparaten bewaken
Zie Metrische gegevens verzamelen en transporteren voor meer informatie over het extern bewaken van uw IoT Edge-vloot.
Volgende stappen
Een voorgestelde volgende stap is om te leren hoe u uw eigen IoT Edge-modules ontwikkelt.