Dela via


Förstå utökade offlinefunktioner för IoT Edge-enheter, moduler och underordnade enheter

Gäller för: Bockmarkering för IoT Edge 1.5 IoT Edge 1.5 Bockmarkering för IoT Edge 1.4 IoT Edge 1.4

Viktigt!

IoT Edge 1.5 LTS och IoT Edge 1.4 LTS stöds. IoT Edge 1.4 LTS upphör den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.

Azure IoT Edge stöder utökade offlineåtgärder på dina IoT Edge-enheter och aktiverar även offlineåtgärder på underordnade enheter. Så länge en IoT Edge-enhet har haft en möjlighet att ansluta till IoT Hub kan den enheten och eventuella underordnade enheter fortsätta att fungera med tillfällig eller ingen internetanslutning.

Hur det fungerar

När en IoT Edge-enhet hamnar i offlineläge får IoT Edge-hubben tre roller:

  • Lagrar alla meddelanden som skulle gå uppströms och sparar dem tills enheten återansluts.
  • Den autentiserar moduler och nedströms-enheter åt IoT Hub så de kan fortsätta att fungera.
  • Möjliggör kommunikation mellan nedströms-enheter som normalt skulle gå via IoT Hub.

I följande exempel visas hur ett IoT Edge-scenario fungerar i offlineläge:

  1. Konfigurera enheter

    IoT Edge-enheter har automatiskt offlinefunktioner aktiverade. Om du vill utöka den funktionen till andra enheter måste du konfigurera underordnade enheter så att de litar på sin tilldelade överordnade enhet och dirigerar kommunikationen från enhet till moln via den överordnade som en gateway.

  2. Synkronisera med IoT Hub

    Minst en gång efter installationen av IoT Edge-körningen måste IoT Edge-enheten vara online för att synkronisera med IoT Hub. I den här synkroniseringen hämtar IoT Edge-enheten information om eventuella underordnade enheter som tilldelats den. IoT Edge-enheten uppdaterar också sin lokala cache på ett säkert sätt för att aktivera offlineåtgärder och hämtar inställningar för lokal lagring av telemetrimeddelanden.

  3. Gå offline

    När den är frånkopplad från IoT Hub kan IoT Edge-enheten, dess distribuerade moduler och eventuella underordnade enheter fungera på obestämd tid. Moduler och underordnade enheter kan starta och starta om genom att autentisera med IoT Edge-hubben när de är offline. Telemetri som är bunden uppströms till IoT Hub lagras lokalt. Kommunikationen mellan moduler eller mellan nedströmsenheter upprätthålls via direkta metoder eller meddelanden.

  4. Återansluta och synkronisera om med IoT Hub

    När anslutningen till IoT Hub har återställts synkroniseras IoT Edge-enheten igen. Lokalt lagrade meddelanden levereras till IoT Hub direkt, men är beroende av anslutningens hastighet, IoT Hub-svarstid och relaterade faktorer. De levereras i samma ordning som de lagrades.

    Eventuella skillnader mellan de önskade och rapporterade egenskaperna för modulerna och enheterna avstäms. IoT Edge-enheten uppdaterar alla ändringar i sin uppsättning tilldelade underordnade enheter.

Restriktioner och begränsningar

IoT Edge-enheter och deras tilldelade underordnade enheter kan fungera på obestämd tid offline efter den första engångssynkroniseringen. Lagring av meddelanden beror dock på TTL-inställningen (time to live) och det tillgängliga diskutrymmet för lagring av meddelanden.

En enhets EdgeAgent uppdaterar sina rapporterade egenskaper när distributionsstatusen ändras, till exempel en ny eller misslyckad distribution. När en enhet är offline kan EdgeAgent inte rapportera status till Azure-portalen. Därför kan enhetsstatusen i Azure Portal förbli 200 OK när IoT Edge-enhet inte har någon internetanslutning.

Konfigurera överordnade och underordnade enheter

Som standard kan en överordnad enhet ha upp till 100 underordnade enheter. Du kan ändra den här gränsen genom att ange miljövariabeln MaxConnectedClients i edgeHub-modulen. En underordnad enhet har bara en överordnad enhet.

Kommentar

En nedströmsenhet genererar data direkt till Internet eller till gatewayenheter (IoT Edge-aktiverade eller inte). En underordnad enhet kan vara en underordnad enhet eller en gatewayenhet i en kapslad topologi.

Underordnade enheter kan vara valfri enhet, IoT Edge eller icke-IoT Edge, registrerade på samma IoT Hub.

Mer information om hur du skapar en överordnad-underordnad relation mellan en IoT Edge-enhet och en IoT-enhet finns i Autentisera en nedströmsenhet till Azure IoT Hub. Avsnitten symmetrisk nyckel, självsignerade X.509 och CA-signerade X.509 visar exempel på hur du använder Azure-portalen och Azure CLI för att definiera överordnade och underordnade relationer när du skapar enheter. För befintliga enheter kan du deklarera relationen från sidan med enhetsinformation i Azure-portalen för antingen den överordnade eller underordnade enheten.

Mer information om hur du skapar en överordnad-underordnad relation mellan två IoT Edge-enheter finns i Ansluta en nedströms IoT Edge-enhet till en Azure IoT Edge-gateway.

Konfigurera den överordnade enheten som en gateway

Du kan se en överordnad/underordnad relation som en transparent gateway, där den underordnade enheten har en egen identitet i IoT Hub men kommunicerar via molnet via dess överordnade enhet. För säker kommunikation måste den underordnade enheten kunna verifiera att den överordnade enheten kommer från en betrodd källa. Annars kan tredje part konfigurera skadliga enheter för att personifiera föräldrar och avlyssna kommunikation.

Ett sätt att skapa den här förtroenderelationen beskrivs i detalj i följande artiklar:

Ange DNS-servrar

För att förbättra robustheten rekommenderar vi starkt att du anger de DNS-serveradresser som används i din miljö. Om du vill ange DNS-servern för IoT Edge läser du lösningen för Edge Agent-modulrapporterna "tom konfigurationsfil" och inga moduler startar på enheten i felsökningsartikeln.

Valfria offlineinställningar

Om dina enheter går offline lagrar den överordnade IoT Edge-enheten alla meddelanden från enhet till moln tills anslutningen återupprättas. IoT Edge-hubbmodulen hanterar lagring och vidarebefordran av offlinemeddelanden.

För enheter som kan kopplas från under längre tidsperioder optimerar du prestanda genom att konfigurera två IoT Edge-hubbinställningar:

  • Öka inställningen time to live så att IoT Edge-hubben behåller meddelanden tills enheten återansluts.
  • Lägg till ytterligare diskutrymme för meddelandelagring.

Time to live

Inställningen time to live är den tid (i sekunder) som ett meddelande kan vänta på att levereras innan det upphör att gälla. Standardvärdet är 7 200 sekunder (två timmar). Det maximala värdet begränsas endast av det maximala värdet för en heltalsvariabel, vilket är cirka 2 miljarder.

Den här inställningen är en önskad egenskap för IoT Edge-hubben, som lagras i modultvillingen. Du kan konfigurera den i Azure-portalen eller direkt i distributionsmanifestet.

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

Värdlagring för systemmoduler

Meddelanden och modultillståndsinformation lagras som standard i IoT Edge-hubbens lokala containerfilsystem. För bättre tillförlitlighet, särskilt när du arbetar offline, kan du även ägna lagring på värdens IoT Edge-enhet. Mer information finns i Ge moduler åtkomst till en enhets lokala lagring.

Nästa steg

Läs mer om hur du konfigurerar en transparent gateway för dina överordnade/underordnade enhetsanslutningar: