Vysvětlení rozšířených možností offline pro zařízení, moduly a podřízená zařízení IoT Edge

Platí pro:IoT Edge 1.4 checkmark IoT Edge 1.4

Důležité

IoT Edge 1.4 je podporovaná verze. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.

Azure IoT Edge podporuje rozšířené offline operace na vašich zařízeních IoT Edge a umožňuje také offline operace na podřízených zařízeních. Pokud má zařízení IoT Edge jednu příležitost připojit se ke službě IoT Hub, zařízení a všechna podřízená zařízení můžou dál fungovat s přerušovaným nebo žádným internetovým připojením.

Jak to funguje

Když zařízení IoT Edge přejde do offline režimu, převezme centrum IoT Edge tři role:

  • Ukládá všechny zprávy, které by přešly do nadřazeného proudu, a ukládá je, dokud se zařízení znovu nepřipojí.
  • Místo IoT Hubu ověřuje moduly a podřízená zařízení, aby mohly i nadále fungovat.
  • Umožňuje komunikaci mezi podřízenými zařízeními, která by normálně procházela IoT Hubem.

Následující příklad ukazuje, jak scénář IoT Edge funguje v offline režimu:

  1. Konfigurace zařízení

    Zařízení IoT Edge mají automaticky povolené funkce offline. Pokud chcete tuto funkci rozšířit na jiná zařízení, musíte nakonfigurovat podřízená zařízení tak, aby důvěřovala přiřazeným nadřazeným zařízením, a směrovat komunikaci typu zařízení-cloud prostřednictvím nadřazeného zařízení jako brány.

  2. Synchronizace se službou IoT Hub

    Alespoň jednou po instalaci modulu runtime IoT Edge musí být zařízení IoT Edge online pro synchronizaci se službou IoT Hub. V této synchronizaci získá zařízení IoT Edge podrobnosti o všech podřízených zařízeních, která jsou k němu přiřazená. Zařízení IoT Edge také bezpečně aktualizuje místní mezipaměť, aby umožňovalo offline operace a načítá nastavení místního úložiště zpráv telemetrie.

  3. Přejít do offline režimu

    I když je zařízení IoT Edge, nasazené moduly a všechna podřízená zařízení můžou fungovat neomezeně dlouho. Moduly a podřízená zařízení se můžou spustit a restartovat ověřením v centru IoT Edge v offline režimu. Telemetrie svázaná s upstreamem do IoT Hubu se ukládá místně. Komunikace mezi moduly nebo mezi podřízenými zařízeními se udržuje prostřednictvím přímých metod nebo zpráv.

  4. Opětovné připojení a opětovná synchronizace se službou IoT Hub

    Po obnovení připojení ke službě IoT Hub se zařízení IoT Edge znovu synchronizuje. Místně uložené zprávy se do IoT Hubu doručují okamžitě, ale závisí na rychlosti připojení, latenci služby IoT Hub a souvisejících faktorech. Jsou doručeny ve stejném pořadí, ve kterém byly uloženy.

    Všechny rozdíly mezi požadovanými a ohlášenými vlastnostmi modulů a zařízení jsou odsouhlasené. Zařízení IoT Edge aktualizuje všechny změny sady přiřazených podřízených zařízení.

Omezení a limity

Zařízení IoT Edge a jejich přiřazená podřízená zařízení můžou po počáteční jednorázové synchronizaci fungovat neomezeně offline. Ukládání zpráv ale závisí na nastavení TTL (Time to Live) a dostupném místu na disku pro ukládání zpráv.

Agent EdgeAgent zařízení aktualizuje ohlášené vlastnosti vždy, když dojde ke změně stavu nasazení, jako je nové nebo neúspěšné nasazení. Když je zařízení offline, agent EdgeAgent nemůže hlásit stav webu Azure Portal. Proto může stav zařízení v Azure Portal zůstat 200 OK, když zařízení IoT Edge nemá připojení k internetu.

Nastavení nadřazených a podřízených zařízení

Ve výchozím nastavení může mít nadřazené zařízení až 100 podřízených zařízení. Tento limit můžete změnit nastavením proměnné prostředí Max Připojení edClients v modulu EdgeHub. Podřízené zařízení má pouze jeden nadřazený objekt.

Poznámka:

Podřízené zařízení vysílá data přímo do internetu nebo do zařízení brány (nebo ne). Podřízené zařízení může být podřízené zařízení nebo zařízení brány v vnořené topologii.

Podřízená zařízení můžou být jakákoli zařízení, IoT Edge nebo jiná než IoT Edge, zaregistrovaná ve stejném IoT Hubu.

Další informace o vytvoření vztahu nadřazenosti a podřízenosti mezi zařízením IoT Edge a zařízením IoT najdete v tématu Ověření podřízeného zařízení ve službě Azure IoT Hub. Oddíly X.509 se symetrickým klíčem, podepsaným svým držitelem a ca-signed X.509 ukazují příklady použití webu Azure Portal a Azure CLI k definování vztahů nadřazenosti a podřízených vztahů při vytváření zařízení. U existujících zařízení můžete deklarovat relaci ze stránky s podrobnostmi o zařízení na webu Azure Portal nadřazeného nebo podřízeného zařízení.

Další informace o vytvoření vztahu nadřazenosti a podřízenosti mezi dvěma zařízeními IoT Edge najdete v tématu Připojení podřízeného zařízení IoT Edge k bráně Azure IoT Edge.

Nastavení nadřazeného zařízení jako brány

Vztah nadřazenosti/podřízenosti si můžete představit jako transparentní bránu, kde má podřízené zařízení ve službě IoT Hub vlastní identitu, ale komunikuje přes cloud prostřednictvím nadřazeného objektu. Pro zabezpečenou komunikaci musí být podřízené zařízení schopné ověřit, že nadřazené zařízení pochází z důvěryhodného zdroje. V opačném případě můžou třetí strany nastavit škodlivá zařízení pro zosobnění rodičů a zachycení komunikace.

Jeden ze způsobů, jak vytvořit tento vztah důvěryhodnosti, je podrobně popsán v následujících článcích:

Určení serverů DNS

Pokud chcete zvýšit odolnost, důrazně doporučujeme zadat adresy serveru DNS používané ve vašem prostředí. Pokud chcete nastavit server DNS pro IoT Edge, podívejte se na překlad modulu agenta Edge, který hlásí prázdný konfigurační soubor a v článku o řešení potíží se nespustí žádné moduly.

Volitelná offline nastavení

Pokud vaše zařízení přejdou do režimu offline, nadřazené zařízení IoT Edge ukládá všechny zprávy typu zařízení-cloud, dokud se připojení znovu nepublikuje. Modul centra IoT Edge spravuje úložiště a předávání offline zpráv.

U zařízení, která můžou po delší dobu přejít do režimu offline, optimalizujte výkon konfigurací dvou nastavení centra IoT Edge:

  • Zvyšte dobu na živé nastavení, takže centrum IoT Edge uchovává zprávy, dokud se vaše zařízení znovu nepřipojí.
  • Přidejte další místo na disku pro úložiště zpráv.

Hodnota TTL (Time to Live)

Nastavení TTL (time to Live ) je doba (v sekundách), po kterou může zpráva čekat, než vyprší její platnost. Výchozí hodnota je 7200 sekund (dvě hodiny). Maximální hodnota je omezena pouze maximální hodnotou celočíselné proměnné, která je přibližně 2 miliardy.

Toto nastavení je požadovaná vlastnost centra IoT Edge, která je uložená ve dvojčeti modulu. Můžete ho nakonfigurovat na webu Azure Portal nebo přímo v manifestu nasazení.

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

Hostování úložiště pro systémové moduly

Zprávy a informace o stavu modulu se ve výchozím nastavení ukládají do místního systému souborů kontejneru centra IoT Edge. Kvůli lepší spolehlivosti, zejména při práci offline, můžete také vyhradit úložiště na hostitelském zařízení IoT Edge. Další informace najdete v tématu Poskytnutí přístupu modulů k místnímu úložišti zařízení.

Další kroky

Přečtěte si další informace o tom, jak nastavit transparentní bránu pro připojení nadřazeného nebo podřízeného zařízení: