Uitgebreide offlinemogelijkheden voor IoT Edge-apparaten, -modules en onderliggende apparaten begrijpen

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.

Azure IoT Edge ondersteunt uitgebreide offlinebewerkingen op uw IoT Edge-apparaten en maakt ook offlinebewerkingen op downstreamapparaten mogelijk. Zolang een IoT Edge-apparaat één mogelijkheid heeft gehad om verbinding te maken met IoT Hub, kunnen dat apparaat en alle downstreamapparaten blijven functioneren met onregelmatige of geen internetverbinding.

Hoe het werkt

Wanneer een IoT Edge-apparaat naar de offlinemodus gaat, krijgt de IoT Edge-hub drie rollen:

  • Hiermee worden alle berichten opgeslagen die upstream zouden gaan en bewaard totdat het apparaat opnieuw verbinding maakt.
  • Het treedt op namens IoT Hub om modules en downstreamapparaten te verifiëren, waardoor ze kunnen blijven werken.
  • Het maakt de communicatie tussen downstreamapparaten mogelijk die normaal gesproken via IoT Hub zou lopen.

In het volgende voorbeeld ziet u hoe een IoT Edge-scenario werkt in de offlinemodus:

  1. Apparaten configureren

    IoT Edge-apparaten hebben automatisch offlinemogelijkheden ingeschakeld. Als u deze mogelijkheid wilt uitbreiden naar andere apparaten, moet u de downstreamapparaten configureren om hun toegewezen bovenliggende apparaat te vertrouwen en de apparaat-naar-cloud-communicatie te routeren via het bovenliggende apparaat als gateway.

  2. Synchroniseren met IoT Hub

    Ten minste één keer na de installatie van de IoT Edge-runtime moet het IoT Edge-apparaat online zijn om te synchroniseren met IoT Hub. In deze synchronisatie krijgt het IoT Edge-apparaat details over alle downstreamapparaten die eraan zijn toegewezen. Het IoT Edge-apparaat werkt ook de lokale cache veilig bij om offlinebewerkingen in te schakelen en instellingen voor lokale opslag van telemetrieberichten op te halen.

  3. Offline gaan

    Hoewel de verbinding met IoT Hub is verbroken, kunnen het IoT Edge-apparaat, de geïmplementeerde modules en downstreamapparaten voor onbepaalde tijd werken. Modules en downstreamapparaten kunnen worden gestart en opnieuw worden opgestart door de IoT Edge-hub offline te verifiëren. Telemetrie die is gekoppeld aan IoT Hub, wordt lokaal opgeslagen. Communicatie tussen modules of tussen downstreamapparaten wordt onderhouden via directe methoden of berichten.

  4. Opnieuw verbinding maken en opnieuw synchroniseren met IoT Hub

    Zodra de verbinding met IoT Hub is hersteld, wordt het IoT Edge-apparaat opnieuw gesynchroniseerd. Lokaal opgeslagen berichten worden direct bezorgd bij de IoT Hub, maar zijn afhankelijk van de snelheid van de verbinding, ioT Hub-latentie en gerelateerde factoren. Ze worden geleverd in dezelfde volgorde waarin ze zijn opgeslagen.

    Eventuele verschillen tussen de gewenste en gerapporteerde eigenschappen van de modules en apparaten worden afgestemd. Het IoT Edge-apparaat werkt eventuele wijzigingen bij in de set toegewezen downstreamapparaten.

Beperkingen en limieten

IoT Edge-apparaten en hun toegewezen downstreamapparaten kunnen voor onbepaalde tijd offline werken na de eerste eenmalige synchronisatie. De opslag van berichten is echter afhankelijk van de TTL-instelling (Time to Live) en de beschikbare schijfruimte voor het opslaan van de berichten.

EdgeAgent van een apparaat werkt de gerapporteerde eigenschappen bij wanneer er een wijziging in de implementatiestatus is, zoals een nieuwe of mislukte implementatie. Wanneer een apparaat offline is, kan De EdgeAgent de status niet rapporteren aan Azure Portal. Daarom kan de apparaatstatus in de Azure Portal 200 OK blijven wanneer IoT Edge apparaat geen internetverbinding heeft.

Bovenliggende en onderliggende apparaten instellen

Een bovenliggend apparaat kan standaard maximaal 100 kinderen hebben. U kunt deze limiet wijzigen door de omgevingsvariabele Max Verbinding maken edClients in te stellen in de edgeHub-module. Een onderliggend apparaat heeft slechts één bovenliggend apparaat.

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.

Downstreamapparaten kunnen elk apparaat, IoT Edge of niet-IoT Edge zijn, dat is geregistreerd bij dezelfde IoT Hub.

Zie Een downstreamapparaat verifiëren bij Azure IoT Hub voor meer informatie over het maken van een relatie tussen een IoT Edge-apparaat en een IoT-apparaat. In de secties symmetrische sleutel, zelfondertekende X.509- en DOOR CA ondertekende X.509-secties ziet u voorbeelden van het gebruik van Azure Portal en Azure CLI om de bovenliggende en onderliggende relaties te definiëren bij het maken van apparaten. Voor bestaande apparaten kunt u de relatie declareren vanaf de pagina met apparaatdetails in Azure Portal van het bovenliggende of onderliggende apparaat.

Zie Verbinding maken een downstream IoT Edge-apparaat naar een Azure IoT Edge-gateway voor meer informatie over het maken van een bovenliggende en onderliggende relatie tussen twee IoT Edge-apparaten.

Het bovenliggende apparaat instellen als gateway

U kunt een bovenliggende/onderliggende relatie beschouwen als een transparante gateway, waarbij het onderliggende apparaat een eigen identiteit heeft in IoT Hub, maar via de cloud communiceert via de bovenliggende gateway. Voor beveiligde communicatie moet het onderliggende apparaat kunnen controleren of het bovenliggende apparaat afkomstig is van een vertrouwde bron. Anders kunnen derden kwaadwillende apparaten instellen om ouders te imiteren en communicatie te onderscheppen.

Een manier om deze vertrouwensrelatie te maken, wordt uitgebreid beschreven in de volgende artikelen:

DNS-servers opgeven

Om de robuustheid te verbeteren, wordt u ten zeerste aangeraden de DNS-serveradressen op te geven die in uw omgeving worden gebruikt. Als u uw DNS-server voor IoT Edge wilt instellen, raadpleegt u de resolutie voor de Edge Agent-module met de melding 'leeg configuratiebestand' en er worden geen modules gestart op het apparaat in het artikel over probleemoplossing.

Optionele offlineinstellingen

Als uw apparaten offline gaan, slaat het bovenliggende IoT Edge-apparaat alle apparaat-naar-cloud-berichten op totdat de verbinding opnieuw tot stand is gebracht. De IoT Edge-hubmodule beheert de opslag en het doorsturen van offlineberichten.

Voor apparaten die gedurende langere tijd offline kunnen gaan, optimaliseert u de prestaties door twee IoT Edge-hubinstellingen te configureren:

  • Verhoog de time-to-live-instelling , zodat de IoT Edge-hub berichten bewaart totdat uw apparaat opnieuw verbinding maakt.
  • Voeg extra schijfruimte toe voor berichtopslag.

Time to live

De time-to-live-instelling is de hoeveelheid tijd (in seconden) die een bericht kan wachten totdat het verloopt. De standaardwaarde is 7200 seconden (twee uur). De maximumwaarde wordt alleen beperkt door de maximumwaarde van een gehele getalvariabele, die ongeveer 2 miljard is.

Deze instelling is een gewenste eigenschap van de IoT Edge-hub, die wordt opgeslagen in de moduledubbel. U kunt deze configureren in Azure Portal of rechtstreeks in het implementatiemanifest.

"$edgeHub": {
    "properties.desired": {
        "schemaVersion": "1.1",
        "routes": {},
        "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
        }
    }
}

Hostopslag voor systeemmodules

Berichten en modulestatusgegevens worden standaard opgeslagen in het lokale bestandssysteem van de IoT Edge-hub. Voor een betere betrouwbaarheid, met name wanneer u offline werkt, kunt u ook opslag besteden aan het IoT Edge-hostapparaat. Zie Modules toegang geven tot de lokale opslag van een apparaat voor meer informatie.

Volgende stappen

Meer informatie over het instellen van een transparante gateway voor uw bovenliggende/onderliggende apparaatverbindingen: