Delen via


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

Van toepassing op:IoT Edge 1.5-vinkje IoT Edge 1.5

Belangrijk

IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS is het einde van de levensduur vanaf 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.

Met Azure IoT Edge kunnen uw IoT Edge-apparaten gedurende langere perioden offline werken en kunnen downstreamapparaten ook offline werken. Nadat een IoT Edge-apparaat eenmaal verbinding heeft gemaakt met IoT Hub, kunnen het apparaat en elk downstreamapparaat blijven werken met onregelmatige of geen internetverbinding.

Hoe het werkt

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

  • Slaat alle berichten op die naar boven worden gestuurd en bewaart ze totdat het apparaat opnieuw verbinding maakt.
  • Fungeert namens IoT Hub om modules en downstreamapparaten te verifiëren, zodat ze kunnen blijven werken.
  • Maakt communicatie mogelijk tussen downstreamapparaten die normaal gesproken via IoT Hub gaan.

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

  1. Apparaten configureren

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

  2. Synchroniseren met IoT Hub

    Nadat u de IoT Edge-runtime hebt geïnstalleerd, moet u ervoor zorgen dat het IoT Edge-apparaat ten minste één keer online is om te synchroniseren met IoT Hub. Tijdens 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 op te halen voor lokale opslag van telemetrieberichten.

  3. Offline gaan

    Hoewel de verbinding met IoT Hub is verbroken, kunnen het IoT Edge-apparaat, de geïmplementeerde modules en alle downstreamapparaten voor onbepaalde tijd blijven werken. Modules en downstreamapparaten kunnen worden gestart en opnieuw worden opgestart door de IoT Edge-hub offline te verifiëren. Apparaattelemetrie die upstream naar IoT Hub is gebonden, 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

    Wanneer de verbinding met IoT Hub wordt hersteld, wordt het IoT Edge-apparaat opnieuw gesynchroniseerd. Lokaal opgeslagen berichten worden direct bezorgd bij IoT Hub, maar levering is afhankelijk van de snelheid van de verbinding, latentie van IoT Hub en gerelateerde factoren. Berichten worden bezorgd 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 berichtenopslag is echter afhankelijk van de TTL-instelling (Time to Live) en de beschikbare schijfruimte.

EdgeAgent van een apparaat werkt de gerapporteerde eigenschappen bij wanneer de implementatiestatus verandert, 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 Azure Portal 200 OK blijven wanneer het IoT Edge-apparaat geen internetverbinding heeft.

Bovenliggende en onderliggende apparaten instellen

Een bovenliggend apparaat kan standaard maximaal 100 kinderen hebben. Wijzig deze limiet door de omgevingsvariabele MaxConnectedClients 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.

Een downstreamapparaat kan 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. Declareer voor bestaande apparaten de relatie vanaf de pagina met apparaatdetails in de Azure-portal van het bovenliggende of onderliggende apparaat.

Zie Een downstream IoT Edge-apparaat verbinden met 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 ouder/kind-relatie beschouwen als een transparante gateway, waarbij het kinder-apparaat een eigen identiteit heeft in IoT Hub, maar communiceert via de cloud en zijn ouder-gateway. Voor beveiligde communicatie moet het kindapparaat controleren of het ouderapparaat 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

Geef de DNS-serveradressen op die in uw omgeving worden gebruikt om de robuustheid te verbeteren. 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 het opslaan en doorsturen van offlineberichten.

Voor apparaten die lange tijd offline kunnen gaan, optimaliseert u de prestaties door twee IoT Edge-hubopties in te stellen:

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

Tijd om te leven

De time-to-live-instelling bepaalt hoe lang (in seconden) een bericht wacht om te worden bezorgd voordat het verloopt. De standaardwaarde is 7.200 seconden (twee uur). De maximumwaarde wordt beperkt door de maximumwaarde van een geheel getalvariabele, dat ongeveer 2 miljard is.

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

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

Hostopslag voor systeemmodules

Standaard slaat de IoT Edge-hub berichten en modulestatus op in het lokale containerbestandssysteem. Voor een betere betrouwbaarheid, met name wanneer u offline bent, moet u opslag besteden aan het IoT Edge-apparaat van de host. 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: