Vytvoření a zřízení IoT Edge zařízení v systému Linux pomocí symetrických klíčů

Platí pro:  ikona Ano IoT Edge 1,1 jiných verzí: IoT Edge 1,2

Platí pro:  ikona Ano IoT Edge 1,2 jiných verzí: IoT Edge 1,1

Tento článek obsahuje kompletní pokyny k registraci a zřízení zařízení se systémem Linux IoT Edge, včetně instalace IoT Edge.

Každé zařízení, které se připojuje ke IoT Hub, má ID zařízení, které se používá ke sledování komunikace z cloudu na zařízení nebo ze zařízení do cloudu. Zařízení nakonfigurujete s informacemi o připojení, které zahrnují název hostitele IoT Hub, ID zařízení a informace, které zařízení používá k ověření IoT Hub.

Kroky v tomto článku vás provedou procesem, který se nazývá ruční zřizování, kde připojíte jedno zařízení ke službě IoT Hub. Pro ruční zřizování máte dvě možnosti ověřování IoT Edge zařízení:

  • Symetrické klíče: když v IoT Hub vytvoříte novou identitu zařízení, služba vytvoří dva klíče. Do zařízení umístíte jeden z klíčů a při ověřování se zobrazí klíč, který se IoT Hub.

    Tato metoda ověřování je rychlejší, aby se dala začít, ale ne tak bezpečné.

  • X. 509 podepsaný svým držitelem: vytvoříte dva certifikáty identit x. 509 a umístíte je na zařízení. Když v IoT Hub vytvoříte novou identitu zařízení, zadáváte kryptografické otisky z obou certifikátů. Když se zařízení ověří IoT Hub, zobrazí jeden certifikát a IoT Hub ověří, že certifikát odpovídá jeho kryptografickému otisku.

    Tato metoda ověřování je bezpečnější a doporučuje se pro produkční scénáře.

Tento článek popisuje použití symetrických klíčů jako metody ověřování. Pokud chcete používat certifikáty X. 509, přečtěte si téma Vytvoření a zřízení IoT Edge zařízení v systému Linux pomocí certifikátů x. 509.

Poznámka

Pokud máte k dispozici mnoho zařízení a nechcete je ručně zřídit, použijte jeden z následujících článků a zjistěte, jak IoT Edge pracuje se službou IoT Hub Device Provisioning:

Požadavky

Tento článek popisuje registraci zařízení IoT Edge a instalaci IoT Edge na něj. Tyto úlohy mají různé požadavky a nástroje, které se používají k jejich splnění. Před pokračováním se ujistěte, že máte všechny požadované předpoklady.

Nástroje pro správu zařízení

k postupu registrace zařízení můžete použít Azure Portal, Visual Studio Code nebo rozhraní příkazového řádku Azure . Každý nástroj má své vlastní požadavky:

Bezplatné nebo standardní Centrum IoT ve vašem předplatném Azure.

Instalace IoT Edge

Zařízení x64, ARM32 nebo ARM64 Linux.

Microsoft poskytuje instalační balíčky pro Ubuntu Server 18,04 a malinu PI pro roztažené operační systémy.

Nejnovější informace o tom, které operační systémy se aktuálně podporují pro produkční scénáře, najdete v tématu Azure IoT Edge podporovaných systémech.

Poznámka

Podpora pro zařízení ARM64 je ve verzi Public Preview.

Registrace zařízení

Zařízení můžete zaregistrovat pomocí Azure Portal, Visual Studio Code nebo Azure CLI.

Ve službě IoT Hub v Azure Portal se IoT Edge zařízení vytvářejí a spravují odděleně od zařízení IoT, která nemají povolené hraniční zařízení.

  1. Přihlaste se k Azure Portal a přejděte do svého centra IoT.

  2. V levém podokně vyberte IoT Edge a pak vyberte Přidat IoT Edge zařízení.

    Přidání IoT Edge zařízení z Azure Portal

  3. Na stránce Vytvořit zařízení zadejte následující informace:

    • Vytvořte popisné ID zařízení. Poznamenejte si toto ID zařízení, protože ho použijete později.
    • Jako typ ověřování vyberte Symetrický klíč.
    • Pomocí výchozího nastavení můžete automaticky vygenerovat ověřovací klíče a připojit nové zařízení k centru.
  4. Vyberte Uložit.

Teď, když máte zařízení zaregistrované v IoT Hub, načtěte informace, které použijete k dokončení instalace a zřízení modulu runtime IoT Edge runtime.

Zobrazení registrovaných zařízení a načtení informací o zřizování

Zařízení, která používají ověřování pomocí symetrického klíče, potřebují své připojovací řetězce k dokončení instalace a IoT Edge modulu runtime.

Všechna hraniční zařízení, která se připojují k centru IoT, jsou uvedená na IoT Edge portálu.

Pomocí Azure Portal můžete zobrazit všechna IoT Edge zařízení ve vašem centru IoT.

Až budete připraveni nastavit zařízení, budete potřebovat připojovací řetězec, který prováže vaše fyzické zařízení s jeho identitou v centru IoT.

Zařízení, která se ověřují pomocí symetrických klíčů, mají své připojovací řetězce k dispozici ke kopírování na portálu.

  1. Na IoT Edge portálu klikněte v seznamu zařízení na ID IoT Edge zařízení.
  2. Zkopírujte hodnotu primárního připojovacího řetězce nebo sekundárního připojovacího řetězce.

Nainstalovat IoT Edge

V této části připravíte virtuální počítač se systémem Linux nebo fyzické zařízení pro IoT Edge. Potom nainstalujete IoT Edge.

Než budete připraveni nainstalovat modul runtime IoT Edge, musíte na svém zařízení provést dva kroky. Vaše zařízení potřebuje přístup k instalačním balíčkům společnosti Microsoft a musí mít nainstalovaný kontejnerový modul.

Přístup k instalačním balíčkům Microsoftu

  1. Stáhněte si konfigurační balíček úložiště, který odpovídá operačnímu systému vašeho zařízení.

    • Ubuntu Server 18,04:

      curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb > ./packages-microsoft-prod.deb
      
    • Malina Pi OS Stretch:

      curl https://packages.microsoft.com/config/debian/stretch/multiarch/packages-microsoft-prod.deb > ./packages-microsoft-prod.deb
      
  2. Nainstalujte konfigurační balíček pro přidání úložiště balíčků Microsoftu a veřejného klíče GPG.

    sudo apt install ./packages-microsoft-prod.deb
    

Poznámka

Azure IoT Edge softwarové balíčky podléhají licenčním podmínkám, které jsou umístěny v každém balíčku ( usr/share/doc/{package-name} nebo LICENSE adresáři). Přečtěte si licenčních podmínek před použitím balíčku. Vaše instalace a používání balíčku znamená přijetí těchto podmínek. Pokud s licenčními podmínkami nesouhlasíte, nepoužívejte tento balíček.

Instalace modulu kontejneru

Azure IoT Edge spoléhá na modul runtime kontejneru kompatibilní s rozhraním OCI. V produkčních scénářích doporučujeme použít modul Moby. Modul Moby je jediným kontejnerovým modulem, který je oficiálně podporován s IoT Edge. image kontejneru docker CE/EE jsou kompatibilní s modulem runtime Moby.

  1. Aktualizuje seznamy balíčků na vašem zařízení.

    sudo apt-get update
    
  2. Nainstalujte modul Moby.

    sudo apt-get install moby-engine
    

    Tip

    Pokud při instalaci modulu kontejneru Moby dojde k chybám, ověřte, že se v jádru Linux nachází kompatibilita Moby. Někteří výrobci integrovaných zařízení dodávají obrázky zařízení, které obsahují vlastní jádra systému Linux bez funkcí vyžadovaných pro kompatibilitu modulu kontejneru. Spusťte následující příkaz, který pomocí skriptu check-config , který poskytuje Moby, zkontroluje konfiguraci jádra:

    curl -ssl https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh -o check-config.sh
    chmod +x check-config.sh
    ./check-config.sh
    

    Ve výstupu skriptu ověřte, zda jsou všechny položky pod Generally Necessary a Network Drivers povoleny. Pokud funkce postrádáte, povolte je opětovným sestavením jádra ze zdroje a výběrem přidružených modulů pro zahrnutí do příslušných .config jádra. Podobně platí, že pokud používáte generátor konfigurace jádra, jako defconfig menuconfig je nebo, najděte a povolte příslušné funkce a odpovídajícím způsobem Sestavte jádro. Po nasazení nově upraveného jádra spusťte skript check-config znovu, abyste ověřili, že všechny požadované funkce byly úspěšně povoleny.

Instalace modulu runtime IoT Edge

Démon zabezpečení IoT Edge poskytuje a udržuje standardy zabezpečení na zařízení IoT Edge. Démon procesu se spustí při každém spuštění a spustí zařízení spuštěním zbytku modulu runtime IoT Edge.

Postup v této části představuje typický proces instalace nejnovější verze do zařízení, které má připojení k Internetu. Pokud potřebujete nainstalovat určitou verzi, třeba předběžnou verzi, nebo potřebujete instalaci v režimu offline, postupujte podle pokynů k instalaci offline nebo specifické verze dále v tomto článku.

Aktualizuje seznamy balíčků na vašem zařízení.

sudo apt-get update

Nainstalujte IoT Edge verze 1,1. * společně s balíčkem libiothsm-STD :

sudo apt-get install iotedge

Poznámka

IoT Edge verze 1,1 je dlouhodobá podpůrná větev IoT Edge. Pokud používáte starší verzi, doporučujeme nainstalovat nebo aktualizovat nejnovější opravu, protože starší verze už nejsou podporované.

Služba IoT Edge poskytuje a udržuje standardy zabezpečení na zařízení IoT Edge. Služba se spustí při každém spuštění a spustí zařízení spuštěním zbytku modulu runtime IoT Edge.

Služba identity IoT byla představena společně s verzí 1,2 IoT Edge. Tato služba zpracovává zřizování a správu identit pro IoT Edge a další součásti zařízení, které potřebují komunikovat s IoT Hub.

Postup v této části představuje typický proces instalace nejnovější verze do zařízení, které má připojení k Internetu. Pokud potřebujete nainstalovat určitou verzi, třeba předběžnou verzi, nebo potřebujete instalaci v režimu offline, postupujte podle pokynů k instalaci offline nebo specifické verze dále v tomto článku.

Poznámka

Postup v této části ukazuje, jak nainstalovat IoT Edge verze 1,2.

Pokud už máte IoT Edge zařízení se starší verzí a chcete upgradovat na 1,2, použijte postup v části aktualizace IoT Edge démona zabezpečení a modulu runtime. Verze 1,2 je dostatečně odlišná od předchozích verzí IoT Edge, že konkrétní kroky jsou nezbytné k upgradu.

Aktualizuje seznamy balíčků na vašem zařízení.

sudo apt-get update

Zkontrolujte, které verze IoT Edge a služba IoT identity jsou k dispozici.

apt list -a aziot-edge aziot-identity-service

Chcete-li nainstalovat nejnovější verzi IoT Edge a balíček služby IoT identity, použijte následující příkaz:

sudo apt-get install aziot-edge

Zřízení zařízení pomocí cloudové identity

Teď, když je v zařízení nainstalovaný modul pro vytváření kontejnerů a IoT Edge runtime, jste připraveni k dalšímu kroku, ve kterém můžete nastavit zařízení s jeho identitou v cloudu a ověřovacími informacemi.

Na zařízení IoT Edge otevřete konfigurační soubor.

sudo nano /etc/iotedge/config.yaml

Vyhledejte konfigurace zřizování souboru a odkomentujte konfiguraci ručního zřizování pomocí připojovacího řetězce , pokud již není odkomentovat.

# Manual provisioning configuration using a connection string
provisioning:
  source: "manual"
  device_connection_string: "ADD_DEVICE_CONNECTION_STRING_HERE"

Aktualizujte hodnotu device_connection_string připojovacím řetězcem ze zařízení IoT Edge. Ujistěte se, že jsou všechny ostatní oddíly pro zřizování zakomentovány. Ujistěte se, že zřizování: řádek neobsahuje žádné předchozí prázdné znaky a že vnořené položky jsou odsazeny dvěma mezerami.

Vložení obsahu schránky do nano Shift+Right Click nebo stisknutím klávesy Shift+Insert .

Uložte soubor a zavřete ho.

CTRL + X, Y, Enter

Po zadání informací o zřizování do konfiguračního souboru restartujte démona:

sudo systemctl restart iotedge

Zařízení IoT Edge s ověřováním pomocí symetrického klíče můžete rychle nakonfigurovat pomocí následujícího příkazu:

sudo iotedge config mp --connection-string 'PASTE_DEVICE_CONNECTION_STRING_HERE'

iotedge config mpPříkaz vytvoří na zařízení konfigurační soubor a do souboru vloží připojovací řetězec.

Použijte změny konfigurace.

sudo iotedge config apply

Pokud chcete zobrazit konfigurační soubor, můžete ho otevřít:

sudo nano /etc/aziot/config.toml

Ověřit úspěšnou konfiguraci

Ověřte, že modul runtime byl úspěšně nainstalován a nakonfigurován na vašem zařízení IoT Edge.

Tip

Ke spouštění příkazů iotedge potřebujete zvýšená oprávnění. Vaše oprávnění se automaticky aktualizují, jakmile se po instalaci modulu runtime IoT Edge odhlásíte z počítače a poprvé se k němu opět přihlásíte. Do té doby použijte sudo před příkazy.

Zkontrolujte, zda je spuštěna služba IoT Edge System.

sudo systemctl status iotedge
sudo iotedge system status

Úspěšná odpověď na stav je Ok .

Pokud potřebujete řešit potíže se službou, načtěte protokoly služby.

journalctl -u iotedge
sudo iotedge system logs

Použijte check Nástroj k ověření stavu konfigurace a připojení zařízení.

sudo iotedge check

Tip

Vždy používejte sudo ke spuštění nástroje pro kontrolu i po aktualizaci vašich oprávnění. Tento nástroj potřebuje zvýšená oprávnění pro přístup ke konfiguračnímu souboru pro ověření stavu konfigurace.

Zobrazte všechny moduly spuštěné na vašem zařízení IoT Edge. Při prvním spuštění služby by se měl zobrazit jenom modul edgeAgent spuštěný. Ve výchozím nastavení se spustí modul edgeAgent a pomůže vám nainstalovat a spustit všechny další moduly, které nasadíte do svého zařízení.

sudo iotedge list

Když vytvoříte nové IoT Edge zařízení, zobrazí se stavový kód 417 -- The device's deployment configuration is not set v Azure Portal. Tento stav je normální a to znamená, že zařízení je připravené přijmout nasazení modulu.

Instalace offline nebo konkrétní verze (volitelné)

Kroky v této části se týkají scénářů, které nejsou zahrnuté do standardních kroků instalace. To může zahrnovat:

  • Nainstalovat IoT Edge v režimu offline
  • Nainstalovat Release Candidate verzi

Postup v této části použijte, pokud chcete nainstalovat určitou verzi Azure IoT Edge runtime, která není dostupná prostřednictvím apt-get install . Seznam balíčků Microsoft obsahuje jenom omezené sady posledních verzí a jejich dílčích verzí, takže tento postup je pro kohokoli, kdo chce nainstalovat starší verzi nebo Release Candidate verzi.

pomocí příkazů oblé můžete cílit na soubory součástí přímo z úložiště GitHub IoT Edge.

  1. Přejděte do vydaných verzí Azure IoT Edgea vyhledejte verzi pro vydání, na kterou chcete cílit.

  2. Rozbalte část assets (prostředky ) pro danou verzi.

  3. Každé vydání by mělo mít nové soubory pro démona zabezpečení IoT Edge a hsmlib. Pokud se chystáte nainstalovat IoT Edge do offline zařízení, Stáhněte si tyto soubory před časem. V opačném případě tyto součásti aktualizujte pomocí následujících příkazů.

    1. Vyhledejte soubor libiothsm-STD , který odpovídá architektuře zařízení IoT Edge. Klikněte pravým tlačítkem na odkaz na soubor a zkopírujte adresu odkazu.

    2. Pomocí zkopírovaného odkazu v následujícím příkazu nainstalujte tuto verzi nástroje hsmlib:

      curl -L libiothsm-std_link_here -o libiothsm-std.deb && sudo apt-get install ./libiothsm-std.deb
      
    3. Vyhledejte soubor iotedge , který odpovídá architektuře zařízení IoT Edge. Klikněte pravým tlačítkem na odkaz na soubor a zkopírujte adresu odkazu.

    4. Pomocí zkopírovaného odkazu v následujícím příkazu nainstalujte tuto verzi procesu démona zabezpečení IoT Edge.

      curl -L iotedge_link_here -o iotedge.deb && sudo apt-get install ./iotedge.deb
      

Poznámka

Pokud je v zařízení aktuálně spuštěný IoT Edge verze 1,1 nebo starší, odinstalujte balíčky iotedge a libiothsm-STD a teprve potom postupujte podle kroků uvedených v této části. Další informace najdete v článku aktualizace z 1,0 nebo 1,1 na 1,2.

  1. Přejděte do vydaných verzí Azure IoT Edgea vyhledejte verzi pro vydání, na kterou chcete cílit.

  2. Rozbalte část assets (prostředky ) pro danou verzi.

  3. Každé vydání by mělo mít nové soubory pro IoT Edge a službu identit. Pokud se chystáte nainstalovat IoT Edge do offline zařízení, Stáhněte si tyto soubory před časem. V opačném případě tyto součásti aktualizujte pomocí následujících příkazů.

    1. Vyhledejte soubor aziot-identity-Service , který odpovídá architektuře zařízení IoT Edge. Klikněte pravým tlačítkem na odkaz na soubor a zkopírujte adresu odkazu.

    2. Pomocí zkopírovaného odkazu v následujícím příkazu nainstalujte tuto verzi služby identity:

      curl -L <identity service link> -o aziot-identity-service.deb && sudo apt-get install ./aziot-identity-service.deb
      
    3. Najděte aziot soubor, který odpovídá architektuře zařízení IoT Edge. Klikněte pravým tlačítkem na odkaz na soubor a zkopírujte adresu odkazu.

    4. Pomocí zkopírovaného odkazu v následujícím příkazu nainstalujte tuto verzi IoT Edge.

      curl -L <iotedge link> -o aziot-edge.deb && sudo apt-get install ./aziot-edge.deb
      

Teď, když je v zařízení nainstalovaný modul pro vytváření kontejnerů a IoT Edge runtime, jste připraveni na další krok, kterým se zařízení zřídí s cloudovou identitou.

Odinstalace IoT Edge

Pokud chcete odebrat instalaci IoT Edge ze zařízení, použijte následující příkazy.

Odeberte modul runtime IoT Edge.

sudo apt-get remove iotedge
sudo apt-get remove aziot-edge

Příznak použijte v --purge případě, že chcete odstranit všechny soubory přidružené k IoT Edge včetně konfiguračních souborů. Pokud chcete přeinstalovat IoT Edge a v budoucnu použít stejné konfigurační informace, ponechejte tento příznak.

Po odebrání modulu runtime IoT Edge dojde k zastavení všech kontejnerů, které byly vytvořeny, ale stále existují na vašem zařízení. Zobrazením všech kontejnerů zjistíte, které z nich zůstanou.

sudo docker ps -a

Odstraňte kontejnery ze zařízení včetně dvou kontejnerů modulu runtime.

sudo docker rm -f <container name>

Nakonec odeberte modul runtime kontejneru z vašeho zařízení.

sudo apt-get remove --purge moby-cli
sudo apt-get remove --purge moby-engine

Další kroky

Pokračujte v nasazení IoT Edge moduly a Naučte se, jak nasadit moduly do svého zařízení.