Sdílet prostřednictvím


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
  • 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:

  1. Stáhněte a spusťte offline instalační program ESP-IDF verze 5.0.
  2. 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.

  1. Pokud chcete povolit dlouhé cesty, přečtěte si téma Povolení dlouhých cest ve Windows 10.

  2. 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:

  1. 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.
  2. 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
    
  3. 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
    
  4. 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
    
  5. Po vytvoření centra IoT zobrazte výstup JSON v konzole a zkopírujte hostName hodnotu, kterou použijete v pozdějším kroku. Hodnota hostName 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:

  1. Nainstalujte Azure IoT Explorer. Tento nástroj je multiplatformní nástroj pro monitorování a správu prostředků Azure IoT.

  2. 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}
    
  3. Zkopírujte připojovací řetězec bez okolních uvozovek.

  4. V Azure IoT Exploreru vyberte v levé nabídce službu IoT Hubs .

  5. Vyberte + Add connection (Přidat připojení).

  6. Vložte připojovací řetězec do pole Připojovací řetězec.

  7. Zvolte Uložit.

    Snímek obrazovky s přidáním připojení v IoT Exploreru

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:

  1. V IoT Exploreru se výběrem možnosti Domů vraťte do domovského zobrazení.

  2. V nabídce vlevo vyberte Nastavení technologie Plug and Play IoT.

  3. 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:

    Snímek obrazovky s přidáním úložiště veřejného modelu v IoT Exploreru

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í:

  1. V domovském zobrazení v IoT Exploreru vyberte IoT Hubs.

  2. Mělo by se zobrazit připojení, které jste přidali dříve. Pod vlastnostmi připojení vyberte Zobrazit zařízení v tomto centru .

  3. Vyberte + Nový a zadejte ID zařízení pro vaše zařízení, mydevicenapříklad . Ponechte všechny ostatní vlastnosti stejné.

  4. Vyberte Vytvořit.

    Snímek obrazovky s identitou zařízení Azure IoT Exploreru

  5. 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:

  1. Vyberte Start systému Windows, vyhledejte CMD ESP-IDF 5.0 a spusťte ho.

  2. V ESP-IDF 5.0 CMD přejděte do adresáře iot-middleware-freertos-samples , který jste naklonovali dříve.

  3. Přejděte do adresáře projektu ESP32-Azure IoT Kit demos\projects\ESPRESSIF\aziotkit.

  4. 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ě:

  1. V CMD ESP-IDF 5.0 vyberte middleware Azure IoT pro ukázkovou konfiguraci FreeRTOS ---> a stiskněte Enter.

  2. 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}
  3. 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:

  1. Vyberte middleware Azure IoT pro konfiguraci hlavní úlohy FreeRTOS ---> a stiskněte Enter.

  2. 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 .

  3. Výběrem klávesy Esc se vraťte do předchozí nabídky.

Uložení konfigurace:

  1. 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 .
  2. Konfiguraci uložíte výběrem klávesy Enter .
  3. Výběrem klávesy Enter zavřete zprávu o potvrzení.
  4. 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:

  1. 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 
    
  2. 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:

  1. V ESP32 DevKitu vyhledejte port Micro USB, který je zvýrazněný na následujícím obrázku:

    Fotka desky ESP32-Azure IoT Kit

  2. Připojte kabel Micro USB k portu Micro USB na ESP32 DevKitu a připojte ho k počítači.

  3. Otevřete Windows Správce zařízení a zobrazte porty a zjistěte, ke kterému portu COM je ESP32 DevKit připojený.

    Snímek obrazovky s Windows Správce zařízení zobrazující port COM připojeného zařízení

  4. 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
    
  5. 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:

  1. 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
    
  2. 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:

  1. V domovském zobrazení v IoT Exploreru vyberte IoT Hubs a pak vyberte Zobrazit zařízení v tomto centru.

  2. Vyberte své zařízení.

  3. Vyberte komponenty technologie Plug and Play IoT.

  4. Vyberte Výchozí komponentu. IoT Explorer zobrazí komponenty ioT technologie Plug and Play implementované na vašem zařízení.

    Snímek obrazovky výchozí komponenty zařízení v IoT Exploreru

  5. 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:

  1. Vyberte kartu Vlastnosti (zapisovatelné). Zobrazí interval odeslání telemetrie.

  2. 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.

    Snímek obrazovky s nastavením intervalu telemetrie na zařízení v IoT Exploreru

  3. IoT Explorer odpoví oznámením.

Použití Azure CLI k zobrazení vlastností zařízení:

  1. Spusťte příkaz az iot hub device-twin show.

    az iot hub device-twin show --device-id mydevice --hub-name {YourIoTHubName}
    
  2. 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:

  1. 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.

  2. Vyberte Spustit.

  3. Zobrazte telemetrii, když zařízení odesílá zprávy do cloudu.

    Snímek obrazovky s telemetrií zařízení v IoT Exploreru

  4. Zaškrtněte políčko Zobrazit modelované události a zobrazte události ve formátu dat určeném modelem zařízení.

    Snímek obrazovky s modelovanými telemetrickými událostmi v IoT Exploreru

  5. Vyberte Zastavit a ukončete příjem událostí.

Použití Azure CLI k zobrazení telemetrie zařízení:

  1. 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}
    
  2. 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}"
        }
    }
    
  3. 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:

  1. V podokně Komponenty technologie Plug and Play IoT (výchozí komponenta) pro vaše zařízení v IoT Exploreru vyberte kartu Příkazy.

  2. 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í.

    Snímek obrazovky volání metody v IoT Exploreru

  3. Pro příkaz DisplayText zadejte do pole obsahu nějaký text.

  4. Vyberte příkaz Odeslat. Text se zobrazí na obrazovce ESP32 DevKit.

Použití Azure CLI k volání metody:

  1. 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á, že true 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
    } 
    
  2. 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:

  1. 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
    
  2. 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.