Nastavení Azure IoT Edge pro Azure Sphere
Důležité
Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.
Azure IoT Edge poskytuje vrstvu filtrování a zpracování dat mezi podřízeným zařízením, jako je Azure Sphere a Azure IoT Hub. Zvažte použití Azure IoT Edge, pokud vaše zařízení Azure Sphere vytváří značné množství dat nebo dat, která vyžadují následné zpracování.
Toto téma popisuje kroky nastavení zařízení Azure IoT Edge pomocí Azure Sphere. Azure Sphere podporuje obě verze 1.1 a 1.2 Azure IoT Edge; v pokynech jsou uvedeny významné rozdíly. Hlavní rozdíly:
- Název balíčku se změnil z
iotedge
naaziot-edge
. - Výchozí konfigurační soubor má nový název a umístění. V Azure IoT Edge 1.1 byl konfigurační soubor /etc/iotedge/config.yaml. V Azure IoT Edge 1.2 je konfigurační soubor /etc/aziot/config.toml.
- Azure IoT Edge 1.2 vyžaduje plně kvalifikovaný název domény (FQDN) přístupný prostřednictvím serveru DNS v síti.
Po dokončení úloh v tomto tématu se zařízení Azure Sphere nakonfiguruje tak, aby odesílala data do Azure IoT Hubu prostřednictvím zařízení Azure IoT Edge, které funguje jako transparentní brána. Další filtrování a zpracování dat můžete přidat pomocí modulu na zařízení Azure IoT Edge podle průvodce modulem Azure IoT Edge.
Než začnete
Kroky v tomto tématu předpokládají, že:
- Zařízení Azure Sphere je připojené k počítači přes USB.
- Máte předplatné Azure.
- Vytvořili jste instanci Azure IoT Hubu a ručně jste zřídili zařízení. Nezapomeňte, že později v postupu (krok 6) budete muset použít certifikát certifikační autority tenanta pro IoT Hub.
- Vytvořili jste skupinu prostředků a všechny prostředky související se službami Azure IoT Hub a IoT Edge musí patřit do této skupiny prostředků.
Důležité
I když můžete vytvořit předplatné Azure bez poplatků, proces registrace vyžaduje, abyste zadali číslo platební karty. Azure poskytuje několik úrovní služby předplatného. Ve výchozím nastavení se při vytváření instance Azure IoT Hubu vybere úroveň Standard, která vyžaduje měsíční poplatek za služby. Pokud se chcete vyhnout měsíčním poplatkům, vyberte úroveň Free. Úroveň Free zahrnuje služby potřebné k použití zařízení s instancí služby Azure IoT Hub, včetně dvojčete zařízení. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Přehled
Nastavení zařízení Azure IoT Edge a jeho konfigurace pro práci se zařízením Azure Sphere vyžaduje vícekrokový proces a měli byste naplánovat asi 8 hodin, abyste mohli projít kroky, zejména pokud neznáte Azure IoT Edge. Pokud pracujete s Azure IoT Edge poprvé, postupujte podle pokynů pro rychlý start v každé části a nastavte a nakonfigurujte zařízení IoT Edge, které běží na virtuálním počítači s Linuxem.
Tyto kroky musí být dokončeny pouze jednou pro tenanta Azure Sphere a zařízení Azure IoT Edge. Každé zařízení Azure Sphere ale musí být ručně nakonfigurované v Azure IoT Hubu a zařízení Azure IoT Edge musí být nastavené jako nadřazené zařízení Azure Sphere.
Kroky nastavení se dají rozdělit do tří logických seskupení:
Vytvoření a konfigurace zařízení IoT Edge jako transparentní brány
- Krok 1. Vytvoření zařízení Azure IoT Edge
- Krok 2. Nakonfigurujte zařízení brány Azure IoT Edge jako server.
- Krok 3. Otevřete porty zařízení brány Azure IoT Edge pro komunikaci.
- Krok 4. Aktualizujte název hostitele brány v config.toml (Azure IoT Edge verze 1.2) nebo config.yaml (Azure IoT Edge verze 1.1).
Konfigurace zařízení Azure Sphere v Azure IoT Hubu
- Krok 5. Nastavte zařízení Azure IoT Edge jako nadřazené zařízení Azure Sphere.
Navázání důvěryhodného připojení mezi zařízením Azure Sphere a zařízením IoT Edge
- Krok 6. Zadejte certifikát certifikační autority tenanta zařízení Azure Sphere do zařízení Azure IoT Edge.
- Krok 7. Do zařízení Azure Sphere zadejte certifikát kořenové certifikační autority zařízení Azure IoT Edge.
Krok 1. Vytvoření zařízení Azure IoT Edge
Pokud jste to ještě neudělali, musíte nastavit zařízení Azure IoT Edge a zaregistrovat ho ve službě Azure IoT Hub.
Ke zřízení zařízení Azure IoT Edge můžete použít službu Device Provisioning Service (DPS). Službu DPS ale nemůžete použít ke zřízení zařízení Azure Sphere. Automatické zřizování zařízení podřízených zařízení Azure IoT Edge s azure IoT Hub DPS se nepodporuje.
Podle kroků v rychlém startu IoT Edge můžete nastavit zařízení Azure IoT Edge, které běží na virtuálním počítači s Linuxem nebo zařízení s Windows, a zaregistrovat ho ve službě Azure IoT Hub.
Pomocí kroků v rychlém startu:
- Zaregistrujte zařízení Azure IoT Edge do vaší instance Azure IoT Hubu. V tomto kroku nevytvořte nové centrum IoT, stačí zaregistrovat zařízení Azure IoT Edge do centra IoT, které jste už vytvořili.
- Nainstalujte a spusťte modul runtime Azure IoT Edge na zařízení Azure IoT Edge.
Poznámka:
V rychlém startu IoT Edge se před nasazením modulu zastavte.
Krok 2. Konfigurace zařízení brány IoT Edge jako serveru
Postupujte podle pokynů ke konfiguraci zařízení Azure IoT Edge tak, aby fungovalo jako transparentní brána (Azure IoT Edge 1.2) nebo Azure IoT Edge 1.1, ale zastavte se, když se dostanete do části Otevření portů na zařízení brány. I když tyto pokyny říkají, že chcete zkopírovat soubory certifikátů do zařízení IoT Edge, nekopírujte soubory do virtuálního počítače do kroku 8 tohoto postupu.
V rámci kroků, které jste dokončili při konfiguraci brány zařízení jako serveru, už budete mít:
- Nakonfigurovali certifikáty zařízení Azure IoT Edge.
- Nasadili jste modul centra Azure IoT Edge.
- Nakonfigurované směrování zpráv přes Azure IoT Edge
V rámci tohoto postupu jste také vytvořili tyto certifikáty:
- Kořenový certifikát certifikační autority:
certs/azure-iot-test-only.root.ca.cert.pem
- Certifikát certifikační autority zařízení a privátní klíč (používaný k registraci zařízení IoT Edge do IoT Hubu):
certs/iot-edge-device-identity-<cert-name>-full-chain.cert.pem
private/iot-edge-device-identity-<cert-name>.key.pem
- Certifikát certifikační autority IoT Edge a privátní klíč (který se má zkopírovat do zařízení IoT Edge a odkazovat na ho v konfiguračním souboru):
certs/iot-edge-device-ca-<cert-name>-full-chain.cert.pem
private/iot-edge-device-ca-<cert-name>.key.pem
Pokud sledujete rychlý start, použijte pokyny pro Linux ke konfiguraci ukázkových certifikátů, pokud počítač, na kterém certifikáty generujete, je počítač se systémem Linux. Pomocí pokynů systému Windows vygenerujte ukázkové certifikáty, pokud počítač, na kterém certifikáty generujete, je počítač se systémem Windows. Informace o kopírování kořenových certifikátů na virtuální počítač s Linuxem nebo do místního počítače s Windows najdete v části Věnované kopírování kořenových certifikátů.
Kořenový certifikát certifikační autority Azure IoT Edge se upraví v kroku 7, ale budete potřebovat původní certifikát v kroku 8. Uchovávejte kopii původního certifikátu, abyste ji mohli znovu použít.
Poznámka:
Při aktualizaci oddílu certifikátů souboru config.toml (Azure IoT Edge 1.2) nebo config.yaml (Azure IoT Edge 1.1) se ujistěte, že certificates:
řádek v souboru config.toml (Azure IoT Edge 1.2) nebo config.yaml (Azure IoT Edge 1.1) neobsahuje žádné předchozí prázdné znaky a že každý z vnořených certifikátů je odsazený dvěma mezerami.
Po aktualizaci souboru ověřte, že modul EdgeHub běží na vašem zařízení Azure IoT Edge:
sudo iotedge list
Další informace najdete v tématu Použití zařízení IoT Edge jako brány (Azure IoT Edge 1.2) nebo Azure IoT Edge 1.1.
Pokud používáte testovací certifikáty, před generováním certifikátu podřízeného zařízení zastavte, jak je uvedeno v tématu Vytvoření podřízených certifikátů zařízení (Azure IoT Edge 1.2) nebo Azure IoT Edge 1.1.
Krok 3. Otevření portů zařízení brány Azure IoT Edge pro komunikaci
Zařízení brány musí být schopná přijímat zprávy ze svých podřízených zařízení. Aby scénář brány fungoval, musí být alespoň jeden z podporovaných protokolů ioT Hubu otevřený pro příchozí provoz z podřízených zařízení.
Azure Sphere používá protokol MQTT. Tento protokol používá port 8883.
Další informace najdete v tématu Otevření portů na zařízení brány (Azure IoT Edge 1.2) nebo Azure IoT Edge 1.1.
Následujícím postupem otevřete port 8883 na virtuálním počítači s Windows po nastavení zařízení Edge v rychlém startu:
- V případě potřeby se přihlaste k webu Azure Portal pomocí svého účtu Azure.
- Přejděte na virtuální počítač, který jste vytvořili v části Krok 1: Vytvoření zařízení Azure IoT Edge.
- V části Nastavení vlevo vyberte Sítě a pak přidejte příchozí pravidlo portu.
- V okně Přidat příchozí pravidlo portu v části Rozsahy cílových portů změňte hodnotu na 8883.
- V části Protokol vyberte TCP.
- V části Název změňte hodnotu na MQTT.
- Ponechte všechna ostatní nastavení jako výchozí a pak vyberte Přidat.
Následujícím postupem otevřete port 8883 na virtuálním počítači s Linuxem po nastavení zařízení Azure IoT Edge v rychlém startu:
Spuštěním následujícího příkazu zkontrolujte, jestli je otevřený port pro MQTT:
sudo netstat -lptu
V případě potřeby otevřete port pomocí následujícího příkazu:
sudo ufw allow 8883
Tím se definuje příchozí pravidlo zabezpečení, které povolí komunikaci protokolu MQTT s bránou Azure IoT Edge.
Krok 4. Aktualizace názvu hostitele brány
Tento krok používá různé postupy v závislosti na verzi Azure IoT Edge, kterou používáte: Azure IoT Edge 1.2 nebo Azure IoT Edge 1.1.
Azure IoT Edge 1.2: Aktualizace názvu hostitele brány v config.toml
Modul runtime Azure IoT Edge podporuje názvy hostitelů, které jsou menší než 64 znaků. Fyzické počítače obvykle nemají dlouhé názvy hostitelů, ale pokud jako zařízení Azure IoT Edge používáte virtuální počítač, jako je příklad v rychlém startu, musíte ručně nakonfigurovat název hostitele.
Informace o řešení potíží s neplatným názvem hostitele najdete v běžných řešeních chyb.
Podle těchto kroků nakonfigurujte název hostitele zařízení Azure IoT Edge po konfiguraci portu MQTT v rychlém startu:
Plně kvalifikovaný název domény (FQDN) pro bránu IoT Edge najdete tak, že přejdete na zařízení IoT Edge (virtuální počítač s Linuxem) na webu Azure Portal a zkopírujete hodnotu názvu DNS ze stránky přehledu.
V případě potřeby se přihlaste k zařízení Azure IoT Edge.
Otevřete soubor config.toml v textovém editoru.
/etc/aziot/config.toml
Vložte plně kvalifikovaný název domény do části název hostitele config.toml. Ujistěte se, že je název malými písmeny.
hostname: "<iotedge_machinename>.<mydomain>"
Poznámka:
Při návrhu se službou Azure IoT Edge verze 1.2 a vyšší musí být název hostitele plně kvalifikovaným názvem domény (IP adresa už není povolená, jak je uvedeno v1.1). Proto je povinný server DNS s odpovídajícím záznamem A ve stejné síti.
iotedge
Restartujte proces démona.sudo systemctl restart iotedge
Pokud se ve stavu zobrazí chyby (barevný text s předponou [ERROR]), projděte si podrobné informace o chybách v protokolech démona.
sudo journalctl -u iotedge --no-pager --no-full
Abyste se vyhnuli upozorněním, nastavte konfiguraci DNS pro moduly na zařízení Azure IoT Edge tak, aby zahrnovala konfigurační soubor v umístění /etc/docker/daemon.json, například:
{ "dns": ["<IP address of your DNS server>"] }
Azure IoT Edge 1.1: Aktualizace názvu hostitele brány v config.yaml
Modul runtime Azure IoT Edge podporuje názvy hostitelů, které jsou menší než 64 znaků. Fyzické počítače obvykle nemají dlouhé názvy hostitelů, ale pokud jako zařízení Azure IoT Edge používáte virtuální počítač, jako je příklad v rychlém startu, musíte ručně nakonfigurovat název hostitele.
Informace o řešení potíží s neplatným názvem hostitele najdete v běžných řešeních chyb.
Podle těchto kroků nakonfigurujte název hostitele zařízení Azure IoT Edge po konfiguraci portu MQTT v rychlém startu:
Na webu Azure Portal přejděte na virtuální počítač. Zkopírujte hodnotu názvu DNS (plně kvalifikovaný název domény počítače) z části Přehled.
V případě potřeby se přihlaste k zařízení Azure IoT Edge.
Otevřete soubor config.yaml v textovém editoru.
/etc/iotedge/config.yaml
Vložte plně kvalifikovaný název domény do části název hostitele souboru config.yaml. Ujistěte se, že je název malými písmeny.
`hostname: "<machinename>.<region>.cloudapp.azure.com"`
Poznámka:
Pokud je překladač DNS v síti, možná budete muset použít název holého počítače pro název hostitele (IP adresu nebo skutečný název hostitele), protože Azure Sphere nepodporuje rozhraní netbios.
iotedge
Restartujte proces démona.sudo systemctl restart iotedge
Pokud se ve stavu zobrazí chyby (barevný text s předponou [ERROR]), projděte si podrobné informace o chybách v protokolech démona.
sudo journalctl -u iotedge --no-pager --no-full
Abyste se vyhnuli upozorněním, nastavte konfiguraci DNS pro moduly na zařízení Azure IoT Edge tak, aby zahrnovala konfigurační soubor v umístění /etc/docker/daemon.json, například:
{ "dns": ["<IP address of your DNS server>"] }
Krok 5. Nastavení zařízení Azure IoT Edge jako nadřazeného zařízení Azure Sphere
Podle těchto kroků nastavte zařízení Azure IoT Edge jako nadřazené zařízení Azure Sphere:
- Přejděte na zařízení Azure Sphere, které bylo ručně zřízeno výše.
- Vyberte ID zařízení.
- V části Žádné nadřazené zařízení vyberte ikonu ozubeného kola.
- Vyberte zařízení Azure IoT Edge, které chcete nastavit jako nadřazené zařízení.
- Vyberte OK a pak Uložit.
Zařízení Azure IoT Edge se teď stane nadřazenou součástí zařízení Azure Sphere.
Krok 6. Zadejte certifikát certifikační autority tenanta zařízení Azure Sphere do zařízení IoT Edge.
Pokud chcete ověřit certifikáty zařízení Azure Sphere, musí mít zařízení Azure IoT Edge vlastní kopii certifikační autority tenanta.
Pokud jste to ještě neudělali, stáhněte si certifikát certifikační autority tenanta. Poznámka: Tuto operaci byste už měli dokončit v rámci konfigurace služby Azure IoT Hub.
Z příkazového řádku se přihlaste pomocí svého přihlášení k Azure Sphere:
azsphere login
Stáhněte si certifikát certifikační autority pro vašeho tenanta Azure Sphere. Tento příkaz stáhne certifikát do souboru s názvem CAcertificate.cer v aktuálním pracovním adresáři. Ujistěte se, že soubor stáhnete do adresáře, ve kterém máte oprávnění k zápisu, nebo operace stahování selže. Výstupní soubor musí mít příponu .cer.
azsphere ca-certificate download --destination CAcertificate.cer
Převeďte certifikát certifikační autority tenanta na formát PEM. Ukázkové pokyny pro převod formátu na počítači s Windows jsou následující:
- Vyhledejte cestu certifikátu v počítači a poklikáním otevřete certifikát.
- Otevřete kartu Podrobnosti a vyberte Kopírovat do souboru.
- V průvodci exportem certifikátu vyberte Další.
- Vyberte formát X.509 (CER) s kódováním Base-64 a pak vyberte Další.
- Zadejte název souboru certifikátu, který chcete exportovat, a pak vyberte Další.
- Průvodce dokončete výběrem možnosti Dokončit .
- Přejmenujte stažený soubor certifikátu tak, aby měl příponu souboru .pem.
Připojte certifikát tenanta k kořenovému certifikátu Azure IoT Edge. Nezapomeňte, že jste v kroku 2 vytvořili certifikáty Azure IoT Edge.
- V případě potřeby se přihlaste k zařízení Azure IoT Edge.
- Vyhledejte cestu kořenového certifikátu certifikační autority zařízení IoT Edge a otevřete ho v textovém editoru. Pokud jste postupovali podle rychlého startu, použili skripty uvedené v úložišti Git Azure IoT Edge k vytvoření ukázkových certifikátů, kořenový certifikát certifikační autority má název azure-iot-test-only.root.ca.cert.pem.
- Otevřete certifikát certifikační autority tenanta Azure Sphere (ve formátu PEM) v textovém editoru. Zkopírujte obsah a vložte ho na konec kořenového certifikátu certifikační autority IoT Edge.
- Uložte změny provedené v kořenovém certifikátu certifikační autority Azure IoT Edge a pak soubor zavřete.
- Restartujte zařízení Azure IoT Edge. V případě zařízení Azure IoT Edge s Linuxem spusťte:
sudo systemctl restart iotedge
. - Ověřte, že moduly běží na vašem zařízení Azure IoT Edge. V případě zařízení Azure IoT Edge s Linuxem spusťte:
sudo iotedge list
.
Krok 7. Poskytnutí certifikátu kořenové certifikační autority zařízení Azure IoT Edge do zařízení Azure Sphere
Aby bylo možné ověřit certifikáty zařízení Azure IoT Edge, musí mít zařízení Azure Sphere (podřízené zařízení) vlastní kopii certifikátu kořenové certifikační autority zařízení Azure IoT Edge, kterou jste nakonfigurovali v kroku 2.
Další informace najdete v tématu Připojení podřízeného zařízení k bráně Azure IoT Edge.
Vyhledejte původní kořenový certifikát zařízení Azure IoT Edge.
- Mějte na paměti, že původní kořenový certifikát zařízení Azure IoT Edge je certifikát, který jste vytvořili v kroku 2.
- Pokud jste postupovali podle rychlého startu a pak jste použili skripty uvedené v úložišti Git IoT Edge k vytvoření ukázkových certifikátů, kořenový certifikát certifikační autority se nazývá azure-iot-test-only.root.ca.cert.pem.
Zkopírujte kořenový certifikát Azure IoT Edge do zařízení Azure Sphere tak, že ho přidáte do balíčku aplikace.
- Podrobné kroky najdete v tématu Vytvoření balíčku image.
- Informace o kopírování kořenových certifikátů na virtuální počítač s Linuxem nebo do místního počítače s Windows najdete v části Věnované kopírování kořenových certifikátů.
Krok 8. Zkopírování kořenového certifikátu IoT do vzdáleného počítače
Pomocí následujícího postupu zkopírujte kořenový certifikát Azure IoT Edge do vzdáleného virtuálního počítače s Linuxem nebo do místního počítače s Windows:
K přenosu souborů můžete nainstalovat nástroj WinSCP. Nástroj poskytuje grafické uživatelské rozhraní, které usnadňuje použití než přístup z příkazového řádku.
Pokud chcete použít příkazový řádek, použijte nástroj příkazového řádku SCP (Secure Copy).
Pokud chcete přenést soubor z místního počítače s Windows na vzdálený virtuální počítač s Linuxem, spusťte v Prostředí Windows PowerShell následující příkaz:
powershell -Command scp -r <path-to-file-name> <userName@remote-ip>:<path-to-destination-directory>
Ukázka syntaxe
scp C:\Documents\cert.pem AzureUser@edgevmname-west.westus22.cloudapp.azure.com:/home/azureUser/test/
Pokud chcete přenést soubor ze vzdáleného virtuálního počítače s Linuxem na místní počítač s Windows, spusťte v Prostředí Windows PowerShell následující příkaz:
powershell -Command scp -r <userName@remote-ip>:<path-to-file-name> <path-to-destination-dir>
Ukázka syntaxe
scp azureUser@edgevmname-west.westus22.cloudapp.azure.com:/home/azureUser/test/cert.pem C:\Documents\
Řešení problému
Pokud ve vašem prostředí dochází k problémům se spuštěním služby Azure IoT Edge, pro řešení potíží a diagnostiku využijte tyto články:
Řešení potíží se zařízením IoT Edge (Azure IoT Edge 1.2) nebo Azure IoT Edge 1.1
Běžné problémy a řešení pro Azure IoT Edge (Azure IoT Edge 1.2) nebo Azure IoT Edge 1.1