Informatie over Azure IoT Edge-modules

Van toepassing op:IoT Edge 1.5-vinkje IoT Edge 1.5 Vinkje voor IoT Edge 1.4 IoT Edge 1.4

Belangrijk

IoT Edge 1.5 LTS en IoT Edge 1.4 LTS worden ondersteund releases. IoT Edge 1.4 LTS eindigt op 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

Met Azure IoT Edge kunt u bedrijfslogica aan de rand implementeren en beheren in de vorm van modules. Azure 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. Als u wilt weten hoe modules worden ontwikkeld, geïmplementeerd en onderhouden, moet u rekening houden met de vier conceptuele elementen van een module:

  • Een module-installatiekopie is een pakket met de software waarmee een module wordt gedefinieerd.
  • Een module-exemplaar is de specifieke rekeneenheid waarop de module-installatiekopieën worden uitgevoerd op een IoT Edge-apparaat. Het module-exemplaar wordt gestart door de IoT Edge-runtime.
  • Een module-id is een stukje informatie (inclusief beveiligingsreferenties) dat is opgeslagen in IoT Hub die is gekoppeld aan elk module-exemplaar.
  • Een moduledubbel is een JSON-document dat is opgeslagen in IoT Hub met statusinformatie voor een module-exemplaar, inclusief metagegevens, configuraties en voorwaarden.

Module-installatiekopieën en exemplaren

Installatiekopieën van IoT Edge-modules bevatten toepassingen die profiteren van de beheer-, beveiligings- en communicatiefuncties van de IoT Edge-runtime. U kunt uw eigen module-installatiekopieën ontwikkelen of een installatiekopieën exporteren vanuit een ondersteunde Azure-service, zoals Azure Stream Analytics. De installatiekopieën bevinden zich in de cloud en ze kunnen worden bijgewerkt, gewijzigd en geïmplementeerd in verschillende oplossingen. Een module die gebruikmaakt van machine learning om de uitvoer van productielijnen te voorspellen, bestaat bijvoorbeeld als een afzonderlijke afbeelding dan een module die computer vision gebruikt om een drone te beheren.

Telkens wanneer een module-installatiekopie wordt geïmplementeerd op een apparaat en wordt gestart door de IoT Edge-runtime, wordt er een nieuw exemplaar van die module gemaakt. Twee apparaten in verschillende delen van de wereld kunnen dezelfde module-installatiekopieën gebruiken. Elk apparaat heeft echter een eigen module-exemplaar wanneer de module op het apparaat wordt gestart.

Diagram - Moduleafbeeldingen in de cloud, module-exemplaren op apparaten

In de implementatie bestaan installatiekopieën van modules als containerinstallatiekopieën in een opslagplaats en module-exemplaren zijn containers op apparaten.

Module-identiteiten

Wanneer een nieuw module-exemplaar wordt gemaakt door de IoT Edge-runtime, krijgt deze een bijbehorende module-id. De module-identiteit wordt opgeslagen in IoT Hub en wordt gebruikt als adresserings- en beveiligingsbereik voor alle lokale en cloudcommunicatie voor dat module-exemplaar.

De identiteit die is gekoppeld aan een module-exemplaar, is afhankelijk van de identiteit van het apparaat waarop het exemplaar wordt uitgevoerd en de naam die u aan die module in uw oplossing opgeeft. Als u bijvoorbeeld een module aanroept insight die gebruikmaakt van Azure Stream Analytics en deze implementeert op een apparaat met de naam Hannover01, maakt de IoT Edge-runtime een bijbehorende module-id met de naam /devices/Hannover01/modules/insight.

In scenario's waarin u één module-installatiekopieën meerdere keren op hetzelfde apparaat moet implementeren, kunt u dezelfde installatiekopieën meerdere keren met verschillende namen implementeren.

Diagram: module-identiteiten zijn uniek binnen apparaten en op verschillende apparaten

Moduledubbels

Elk module-exemplaar heeft ook een bijbehorende moduledubbel die u kunt gebruiken om het module-exemplaar te configureren. Het exemplaar en de dubbel zijn aan elkaar gekoppeld via de module-identiteit.

Een moduledubbel is een JSON-document waarin modulegegevens en configuratie-eigenschappen worden opgeslagen. Dit concept parallelleert het concept van de apparaatdubbel vanuit IoT Hub. De structuur van een moduledubbel is hetzelfde als een apparaatdubbel. De API's die worden gebruikt voor interactie met beide typen tweelingen zijn ook hetzelfde. Het enige verschil tussen de twee is de identiteit die wordt gebruikt om de client-SDK te instantiëren.

// Create a ModuleClient object. This ModuleClient will act on behalf of a
// module since it is created with a module’s connection string instead
// of a device connection string.
ModuleClient client = new ModuleClient.CreateFromEnvironmentAsync(settings);
await client.OpenAsync();

// Get the module twin
Twin twin = await client.GetTwinAsync();

Functionaliteiten offline

Azure IoT Edge-modules kunnen voor onbepaalde tijd offline werken na de synchronisatie met IoT Hub ten minste één keer. IoT Edge-apparaten kunnen deze offlinemogelijkheid ook uitbreiden naar andere IoT-apparaten. Zie Uitgebreide offlinemogelijkheden voor IoT Edge-apparaten, -modules en downstreamapparaten voor meer informatie.

Volgende stappen