Kurz: Připojení sady ESPRESSIF ESP32-Azure IoT Kit ke službě IoT Hub
V tomto kurzu použijete middleware Azure IoT pro FreeRTOS k připojení sady ESPRESSIF ESP32-Azure IoT Kit (od této chvíle ESP32 DevKit) k Azure IoT.
Provedete následující úkoly:
- Instalace sady integrovaných vývojových nástrojů pro programování sady ESP32 DevKit
- Sestavení image a jeho flash na ESP32 DevKit
- Použití Azure CLI k vytvoření a správě centra Azure IoT, ke kterému se devKit ESP32 připojuje
- Použití Azure IoT Exploreru k registraci zařízení ve službě IoT Hub, zobrazení vlastností zařízení, zobrazení telemetrie zařízení a volání přímých příkazů na zařízení
Požadavky
- Počítač s Windows 10 nebo Windows 11
- Git pro klonování úložiště
- Hardware
- ESPRESSIF ESP32-Azure IoT Kit
- USB 2.0 Muž na kabel Micro USB
- Wi-Fi 2,4 GHz
- Aktivní předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Příprava vývojového prostředí
Instalace nástrojů
Pokud chcete nastavit vývojové prostředí, nejprve nainstalujete prostředí sestavení ESPRESSIF ESP-IDF. Instalační program obsahuje všechny nástroje potřebné ke klonování, sestavování, blesku a monitorování zařízení.
Instalace nástrojů ESP-IDF:
- Stáhněte a spusťte offline instalační program ESP-IDF verze 5.0.
- Když instalační program vypíše součásti k instalaci, vyberte všechny součásti a dokončete instalaci.
Klonování úložiště
Naklonujte následující úložiště a stáhněte si veškerý ukázkový kód zařízení, instalační skripty a dokumentaci k sadě SDK. Pokud jste toto úložiště naklonovali dříve, nemusíte ho znovu provádět.
Pokud chcete naklonovat úložiště, spusťte následující příkaz:
git clone --recursive https://github.com/Azure-Samples/iot-middleware-freertos-samples.git
V případě Windows 10 a 11 se ujistěte, že jsou povolené dlouhé cesty.
Pokud chcete povolit dlouhé cesty, přečtěte si téma Povolení dlouhých cest ve Windows 10.
V Gitu spusťte v terminálu s oprávněními správce následující příkaz:
git config --system core.longpaths true
Vytvoření cloudových komponent
Vytvoření centra IoT
Pomocí Azure CLI můžete vytvořit centrum IoT, které zpracovává události a zasílání zpráv pro vaše zařízení.
Vytvoření centra IoT:
Spusťte aplikaci CLI. Pokud chcete spustit příkazy rozhraní příkazového řádku ve zbytku tohoto rychlého startu, zkopírujte syntaxi příkazu, vložte ho do aplikace CLI, upravte hodnoty proměnných a stiskněte Enter.
- Pokud používáte Cloud Shell, klikněte pravým tlačítkem myši na odkaz pro Cloud Shell a vyberte možnost otevření na nové kartě.
- Pokud používáte Azure CLI místně, spusťte konzolovou aplikaci CLI a přihlaste se k Azure CLI.
Spuštěním příkazu az extension add nainstalujte nebo upgradujte rozšíření azure-iot na aktuální verzi.
az extension add --upgrade --name azure-iot
Spuštěním příkazu az group create vytvořte skupinu prostředků. Následující příkaz vytvoří skupinu prostředků MyResourceGroup v oblasti centralus.
Poznámka:
Volitelně můžete nastavit alternativní
location
. Pokud chcete zobrazit dostupná umístění, spusťte příkaz az account list-locations.az group create --name MyResourceGroup --location centralus
Spuštěním příkazu az iot hub create vytvořte IoT Hub. Vytvoření centra IoT může trvat několik minut.
YourIotHubName. Nahraďte tento zástupný symbol v kódu názvem, který jste zvolili pro centrum IoT. Název centra IoT musí být v Azure globálně jedinečný. Tento zástupný symbol se používá ve zbývající části tohoto rychlého startu k reprezentaci jedinečného názvu centra IoT.
Parametr
--sku F1
vytvoří centrum IoT na úrovni Free. Rozbočovače úrovně Free mají omezenou sadu funkcí a používají se k testování konceptů aplikací. Další informace o úrovních, funkcích a cenách služby IoT Hub najdete v tématu Ceny služby Azure IoT Hub.az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName} --sku F1 --partition-count 2
Po vytvoření centra IoT zobrazte výstup JSON v konzole a zkopírujte
hostName
hodnotu, kterou použijete v pozdějším kroku. HodnotahostName
vypadá jako v následujícím příkladu:{Your IoT hub name}.azure-devices.net
Konfigurace IoT Exploreru
Ve zbývající části tohoto rychlého startu pomocí IoT Exploreru zaregistrujete zařízení do centra IoT, zobrazíte vlastnosti a telemetrii zařízení a odešlete do zařízení příkazy. V této části nakonfigurujete IoT Explorer pro připojení k vytvořenému centru IoT a čtení modelů plug-and play z veřejného úložiště modelů.
Přidání připojení ke službě IoT Hub:
Nainstalujte Azure IoT Explorer. Tento nástroj je multiplatformní nástroj pro monitorování a správu prostředků Azure IoT.
Spuštěním příkazu az iot hub connection-string show v aplikaci CLI získejte připojovací řetězec pro centrum IoT.
az iot hub connection-string show --hub-name {YourIoTHubName}
Zkopírujte připojovací řetězec bez okolních uvozovek.
V Azure IoT Exploreru vyberte v levé nabídce službu IoT Hubs .
Vyberte + Add connection (Přidat připojení).
Vložte připojovací řetězec do pole Připojovací řetězec.
Zvolte Uložit.
Pokud připojení proběhne úspěšně, IoT Explorer přepne do zobrazení Zařízení .
Přidání úložiště veřejného modelu:
V IoT Exploreru se výběrem možnosti Domů vraťte do domovského zobrazení.
V nabídce vlevo vyberte Nastavení technologie Plug and Play IoT.
Ověřte, že existuje položka veřejného úložiště s koncovým bodem
https://devicemodels.azure.com
.Poznámka:
Pokud není k dispozici položka veřejného úložiště, vyberte +Přidat, v rozevírací nabídce vyberte Veřejné úložiště , zadejte hodnotu koncového
https://devicemodels.azure.com
bodu a pak vyberte Uložit.Dokončená položka veřejného úložiště vypadá jako na následujícím snímku obrazovky:
Registrace zařízení
V této části vytvoříte novou instanci zařízení a zaregistrujete ji ve službě IoT Hub, kterou jste vytvořili. Informace o připojení pro nově zaregistrované zařízení použijete k bezpečnému připojení fyzického zařízení v další části.
Registrace zařízení:
V domovském zobrazení v IoT Exploreru vyberte IoT Hubs.
Mělo by se zobrazit připojení, které jste přidali dříve. Pod vlastnostmi připojení vyberte Zobrazit zařízení v tomto centru .
Vyberte + Nový a zadejte ID zařízení pro vaše zařízení,
mydevice
například . Ponechte všechny ostatní vlastnosti stejné.Vyberte Vytvořit.
Pomocí tlačítek kopírování zkopírujte pole ID zařízení a primárního klíče .
Než budete pokračovat k další části, uložte všechny následující hodnoty načtené z předchozích kroků do bezpečného umístění. Tyto hodnoty použijete v další části ke konfiguraci zařízení.
hostName
deviceId
primaryKey
Příprava zařízení
Pokud chcete připojit ESP32 DevKit k Azure, upravíte nastavení konfigurace, sestavíte image a blikáte image do zařízení.
Nastavení prostředí
Spuštění prostředí ESP-IDF:
Vyberte Start systému Windows, vyhledejte CMD ESP-IDF 5.0 a spusťte ho.
V ESP-IDF 5.0 CMD přejděte do adresáře iot-middleware-freertos-samples , který jste naklonovali dříve.
Přejděte do adresáře projektu ESP32-Azure IoT Kit demos\projects\ESPRESSIF\aziotkit.
Spuštěním následujícího příkazu spusťte nabídku konfigurace:
idf.py menuconfig
Přidání konfigurace
Přidání konfigurace bezdrátové sítě:
V CMD ESP-IDF 5.0 vyberte middleware Azure IoT pro ukázkovou konfiguraci FreeRTOS ---> a stiskněte Enter.
Nastavte následující nastavení konfigurace pomocí přihlašovacích údajů místní bezdrátové sítě.
Nastavení Hodnota Wi-Fi SSID {Vaše Wi-Fi SSID} Heslo Wi-Fi {Vaše heslo k Wi-Fi} Výběrem klávesy Esc se vraťte do předchozí nabídky.
Přidání konfigurace pro připojení ke službě Azure IoT Hub:
Vyberte middleware Azure IoT pro konfiguraci hlavní úlohy FreeRTOS ---> a stiskněte Enter.
Nastavte následující nastavení konfigurace Azure IoT na hodnoty, které jste uložili po vytvoření prostředků Azure.
Nastavení Hodnota Plně kvalifikovaný název domény služby Azure IoT Hub {Název hostitele} ID zařízení Azure IoT {ID vašeho zařízení} Symetrický klíč zařízení Azure IoT {Váš primární klíč} Poznámka:
V nastavení Metody ověřování Azure IoT ověřte, že je vybraná výchozí hodnota symetrického klíče .
Výběrem klávesy Esc se vraťte do předchozí nabídky.
Uložení konfigurace:
- Výběrem kláves Shift+S otevřete možnosti uložení. Tato nabídka umožňuje uložit konfiguraci do souboru s názvem skconfig v aktuálním adresáři .\aziotkit .
- Konfiguraci uložíte výběrem klávesy Enter .
- Výběrem klávesy Enter zavřete zprávu o potvrzení.
- Výběrem možnosti Q ukončete nabídku konfigurace.
Sestavení a bliknutí obrázku
V této části použijete nástroje ESP-IDF k sestavení, blesku a monitorování SADY ESP32 DevKit při připojení k Azure IoT.
Poznámka:
V následujícíchpříkazch Zadejte cestu sestavení za -B
parametrem v každém příkazu, který ho vyžaduje. Krátká cesta pomáhá vyhnout se aktuálnímu problému v nástrojích ESPRESSIF ESP-IDF, které můžou způsobovat chyby s dlouhými názvy cest sestavení. Následující příkazy jako příklad používají místní cestu C:\espbuild .
Sestavení image:
V CMD ESP-IDF 5.0 z adresáře iot-middleware-freertos-samples\demos\projects\ESPRESSIF\aziotkit spusťte následující příkaz pro sestavení image.
idf.py --no-ccache -B "C:\espbuild" build
Po dokončení sestavení ověřte, že se soubor binární image vytvořil v cestě sestavení, kterou jste zadali dříve.
C:\espbuild\azure_iot_freertos_esp32.bin
Pokud chcete obrázek bliknout:
V ESP32 DevKitu vyhledejte port Micro USB, který je zvýrazněný na následujícím obrázku:
Připojte kabel Micro USB k portu Micro USB na ESP32 DevKitu a připojte ho k počítači.
Otevřete Windows Správce zařízení a zobrazte porty a zjistěte, ke kterému portu COM je ESP32 DevKit připojený.
V SYSTÉMU ESP-IDF 5.0 CMD spusťte následující příkaz a nahraďte <zástupný symbol a závorky vašeho portu> COM správným portem COM z předchozího kroku. Nahraďte například zástupný symbol znakem
COM3
.idf.py --no-ccache -B "C:\espbuild" -p <Your-COM-port> flash
Ověřte, že se výstup dokončí následujícím textem pro úspěšný blesk:
Hash of data verified Leaving... Hard resetting via RTS pin... Done
Ověření, že se zařízení připojuje k Azure IoT Central:
Spuštěním následujícího příkazu v ESP-IDF 5.0 CMD spusťte monitorovací nástroj. Stejně jako v předchozím příkazu nahraďte <zástupný symbol vašeho portu> COM a hranaté závorky portem COM, ke kterému je zařízení připojené.
idf.py -B "C:\espbuild" -p <Your-COM-port> monitor
Zkontrolujte opakující se bloky výstupu podobné následujícímu příkladu. Tento výstup potvrdí, že se zařízení připojí k Azure IoT a odešle telemetrii.
I (50807) AZ IOT: Successfully sent telemetry message I (50807) AZ IOT: Attempt to receive publish message from IoT Hub. I (51057) MQTT: Packet received. ReceivedBytes=2. I (51057) MQTT: Ack packet deserialized with result: MQTTSuccess. I (51057) MQTT: State record updated. New state=MQTTPublishDone. I (51067) AZ IOT: Puback received for packet id: 0x00000008 I (53067) AZ IOT: Keeping Connection Idle...
Zobrazení vlastností zařízení
Pomocí Azure IoT Exploreru můžete zobrazit a spravovat vlastnosti vašich zařízení. V následujících částech použijete možnosti technologie Plug and Play, které jsou viditelné v IoT Exploreru ke správě a interakci s devKitem ESP32. Tyto funkce spoléhají na model zařízení publikovaný pro SADU ESP32 DevKit ve veřejném úložišti modelů. IoT Explorer jste nakonfigurovali tak, aby v tomto úložišti hledali modely zařízení dříve v tomto kurzu. V mnoha případech můžete provést stejnou akci bez použití modulu plug and play výběrem možností nabídky IoT Exploreru. Použití modulu plug-and play ale často poskytuje vylepšené prostředí. IoT Explorer může číst model zařízení určený zařízením plug and play a prezentovat informace specifické pro dané zařízení.
Přístup k komponentám technologie Plug and Play IoT pro zařízení v IoT Exploreru:
V domovském zobrazení v IoT Exploreru vyberte IoT Hubs a pak vyberte Zobrazit zařízení v tomto centru.
Vyberte své zařízení.
Vyberte komponenty technologie Plug and Play IoT.
Vyberte Výchozí komponentu. IoT Explorer zobrazí komponenty ioT technologie Plug and Play implementované na vašem zařízení.
Na kartě Rozhraní zobrazte obsah JSON v popisu modelu zařízení. Json obsahuje podrobnosti konfigurace pro každou komponentu technologie Plug and Play IoT v modelu zařízení.
Každá karta v IoT Exploreru odpovídá jedné ze součástí technologie Plug and Play IoT v modelu zařízení.
Tab Typ Název Popis Rozhraní Rozhraní Espressif ESP32 Azure IoT Kit
Příklad modelu zařízení pro devKit ESP32 Vlastnosti (zapisovatelné) Vlastnost telemetryFrequencySecs
Interval, který zařízení odesílá telemetrii Příkazy Příkaz ToggleLed1
Zapnutí nebo vypnutí indikátoru LED Příkazy Příkaz ToggleLed2
Zapnutí nebo vypnutí indikátoru LED Příkazy Příkaz DisplayText
Zobrazí odeslaný text na obrazovce zařízení.
Zobrazení a úprava vlastností zařízení pomocí Azure IoT Exploreru:
Vyberte kartu Vlastnosti (zapisovatelné). Zobrazí interval odeslání telemetrie.
telemetryFrequencySecs
Změňte hodnotu na 5 a pak vyberte Aktualizovat požadovanou hodnotu. Vaše zařízení teď používá tento interval k odesílání telemetrie.IoT Explorer odpoví oznámením.
Použití Azure CLI k zobrazení vlastností zařízení:
Spusťte příkaz az iot hub device-twin show.
az iot hub device-twin show --device-id mydevice --hub-name {YourIoTHubName}
Zkontrolujte vlastnosti vašeho zařízení ve výstupu konzoly.
Tip
K zobrazení vlastností zařízení můžete také použít Azure IoT Explorer. V levém navigačním panelu vyberte Dvojče zařízení.
Zobrazení telemetrických dat
Pomocí Azure IoT Exploreru můžete zobrazit tok telemetrie ze zařízení do cloudu. Volitelně můžete stejnou úlohu provést pomocí Azure CLI.
Zobrazení telemetrie v Azure IoT Exploreru:
V podokně Komponenty technologie Plug and Play IoT (výchozí komponenta) vašeho zařízení v IoT Exploreru vyberte kartu Telemetrie. Ověřte, že je integrované centrum událostí nastavené na Ano.
Vyberte Spustit.
Zobrazte telemetrii, když zařízení odesílá zprávy do cloudu.
Zaškrtněte políčko Zobrazit modelované události a zobrazte události ve formátu dat určeném modelem zařízení.
Vyberte Zastavit a ukončete příjem událostí.
Použití Azure CLI k zobrazení telemetrie zařízení:
Spusťte příkaz az iot hub monitor-events. Použijte názvy, které jste vytvořili dříve v Azure IoT pro vaše zařízení a Centrum IoT.
az iot hub monitor-events --device-id mydevice --hub-name {YourIoTHubName}
Zobrazte výstup JSON v konzole.
{ "event": { "origin": "mydevice", "module": "", "interface": "dtmi:azureiot:devkit:freertos:Esp32AzureIotKit;1", "component": "", "payload": "{\"temperature\":28.6,\"humidity\":25.1,\"light\":116.66,\"pressure\":-33.69,\"altitude\":8764.9,\"magnetometerX\":1627,\"magnetometerY\":28373,\"magnetometerZ\":4232,\"pitch\":6,\"roll\":0,\"accelerometerX\":-1,\"accelerometerY\":0,\"accelerometerZ\":9}" } }
Výběrem kombinace kláves CTRL+C ukončíte monitorování.
Volání přímé metody na zařízení
Pomocí Azure IoT Exploreru můžete také volat přímou metodu, kterou jste na svém zařízení implementovali. Přímé metody mají název a můžou volitelně mít datovou část JSON, konfigurovatelné připojení a časový limit metody. V této části zavoláte metodu, která zapne nebo vypne indikátor LED. Volitelně můžete stejnou úlohu provést pomocí Azure CLI.
Volání metody v Azure IoT Exploreru:
V podokně Komponenty technologie Plug and Play IoT (výchozí komponenta) pro vaše zařízení v IoT Exploreru vyberte kartu Příkazy.
U příkazu ToggleLed1 vyberte příkaz Odeslat. Indikátor LED na ESP32 DevKit zapne nebo vypne. V IoT Exploreru byste také měli vidět oznámení.
Pro příkaz DisplayText zadejte do pole obsahu nějaký text.
Vyberte příkaz Odeslat. Text se zobrazí na obrazovce ESP32 DevKit.
Použití Azure CLI k volání metody:
Spusťte příkaz az iot hub invoke-device-method a zadejte název metody a datovou část. Pro tuto metodu nastavení
method-payload
znamená, žetrue
indikátor LED přepíná na opak jeho aktuálního stavu.az iot hub invoke-device-method --device-id mydevice --method-name ToggleLed2 --method-payload true --hub-name {YourIoTHubName}
Konzola rozhraní příkazového řádku zobrazuje stav volání metody na zařízení, kde
200
značí úspěch.{ "payload": {}, "status": 200 }
Zkontrolujte své zařízení a potvrďte stav LED.
Řešení problémů a ladění
Pokud máte problémy s sestavením kódu zařízení, blikajícím zařízením nebo připojením, přečtěte si téma Řešení potíží.
Ladění aplikace naleznete v tématu Ladění pomocí editoru Visual Studio Code.
Vyčištění prostředků
Pokud už prostředky Azure vytvořené v tomto rychlém startu nepotřebujete, můžete pomocí Azure CLI odstranit skupinu prostředků a všechny její prostředky.
Důležité
Odstranění skupiny prostředků je nevratné. Skupina prostředků i všechny prostředky v ní obsažené se trvale odstraní. Ujistěte se, že nechtěně neodstraníte nesprávnou skupinu prostředků nebo prostředky.
Odstranění skupiny prostředků podle názvu:
Spusťte příkaz az group delete. Tento příkaz odebere skupinu prostředků, IoT Hub a registraci zařízení, kterou jste vytvořili.
az group delete --name MyResourceGroup
Spuštěním příkazu az group list potvrďte odstranění skupiny prostředků.
az group list
Další kroky
V tomto kurzu jste vytvořili vlastní image, která obsahuje middleware Azure IoT pro ukázkový kód FreeRTOS, a pak jste obrázek blikli na zařízení ESP32 DevKit. Připojili jste sadu ESP32 DevKit ke službě Azure IoT Hub a provedli jste úlohy, jako je zobrazení telemetrie a volání metod na zařízení.
V dalším kroku se podívejte na následující článek, kde najdete další informace o možnostech integrovaného vývoje.