Megosztás a következőn keresztül:


Oktatóanyag: ESPRESSIF ESP32-Azure IoT-készlet csatlakoztatása az IoT Hubhoz

Ebben az oktatóanyagban a FreeRTOS-hez készült Azure IoT köztes szoftver használatával csatlakoztatja az ESPRESSIF ESP32-Azure IoT Kitet (mostantól az ESP32 DevKitet) az Azure IoT-hez.

A következő feladatokat hajtja végre:

  • Beágyazott fejlesztői eszközök telepítése ESP32 DevKit programozásához
  • Kép létrehozása és villogása az ESP32 DevKitre
  • Az Azure CLI használatával létrehozhat és kezelhet egy Azure IoT Hubot, amelyhez az ESP32 DevKit csatlakozik
  • Az Azure IoT Explorer használatával regisztrálhat egy eszközt az IoT Hubon, megtekintheti az eszköz tulajdonságait, megtekintheti az eszköz telemetriáját, és közvetlen parancsokat hívhat meg az eszközön

Előfeltételek

  • Windows 10-et vagy Windows 11-et futtató számítógép
  • Git az adattár klónozásához
  • Hardver
  • Aktív Azure-előfizetés. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

A fejlesztési környezet előkészítése

Az eszközök telepítése

A fejlesztési környezet beállításához először telepítse az ESPRESSIF ESP-IDF buildkörnyezetet. A telepítő tartalmazza az eszköz klónozásához, összeállításához, villogásához és monitorozásához szükséges összes eszközt.

Az ESP-IDF-eszközök telepítése:

  1. Töltse le és indítsa el az ESP-IDF v5.0 offline-installert.
  2. Amikor a telepítő felsorolja a telepíteni kívánt összetevőket, jelölje ki az összes összetevőt, és fejezze be a telepítést.

Az adattár klónozása

Klónozza az alábbi adattárat az összes eszközkód, beállítási szkript és SDK-dokumentáció letöltéséhez. Ha korábban klónozta ezt az adattárat, nem kell újra elvégeznie.

Az adattár klónozásához futtassa a következő parancsot:

git clone --recursive  https://github.com/Azure-Samples/iot-middleware-freertos-samples.git

Windows 10 és 11 esetén győződjön meg arról, hogy a hosszú útvonalak engedélyezve vannak.

  1. A hosszú útvonalak engedélyezéséről a Hosszú útvonalak engedélyezése a Windows 10-ben című témakörben olvashat.

  2. A Gitben futtassa a következő parancsot egy rendszergazdai engedélyekkel rendelkező terminálban:

    git config --system core.longpaths true
    

A felhőösszetevők létrehozása

IoT Hub létrehozása

Az Azure CLI használatával létrehozhat egy IoT Hubot, amely kezeli az eszköz eseményeit és üzenetkezelését.

IoT Hub létrehozása:

  1. Indítsa el a CLI-alkalmazást. A parancssori felület parancsainak a rövid útmutató további részében való futtatásához másolja ki a parancs szintaxisát, illessze be a PARANCSSOR-alkalmazásba, szerkessze a változóértékeket, és nyomja le az Enter billentyűt.

    • Ha Cloud Shellt használ, kattintson a jobb gombbal a Cloud Shell hivatkozására, és válassza ki azt a lehetőséget, hogy megnyíljon egy új lapon.
    • Ha helyileg használja az Azure CLI-t, indítsa el a CLI-konzolalkalmazást, és jelentkezzen be az Azure CLI-be.
  2. Futtassa az az extension add parancsot az azure-iot bővítmény telepítéséhez vagy frissítéséhez az aktuális verzióra.

    az extension add --upgrade --name azure-iot
    
  3. Futtassa az az group create parancsot egy erőforráscsoport létrehozásához. A következő parancs létrehoz egy MyResourceGroup nevű erőforráscsoportot a centralus régióban.

    Feljegyzés

    Igény szerint másikat is beállíthat location. Az elérhető helyek megtekintéséhez futtassa az az account list-locations parancsot.

    az group create --name MyResourceGroup --location centralus
    
  4. Futtassa az az iot hub create parancsot egy IoT Hub létrehozásához. Az IoT Hub létrehozása eltarthat néhány percig.

    YourIotHubName. Cserélje le ezt a helyőrzőt a kódban az IoT Hubhoz választott névre. Az IoT Hub nevének globálisan egyedinek kell lennie az Azure-ban. Ez a helyőrző a rövid útmutató többi részében az egyedi IoT Hub-nevet jelöli.

    A --sku F1 paraméter létrehozza az IoT Hubot az ingyenes szinten. Az ingyenes szintű központok korlátozott funkciókészlettel rendelkeznek, és a koncepcióalkalmazások ellenőrzésére szolgálnak. Az IoT Hub szintjeiről, funkcióiról és díjszabásáról további információt az Azure IoT Hub díjszabásában talál.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName} --sku F1 --partition-count 2
    
  5. Az IoT Hub létrehozása után tekintse meg a konzol JSON-kimenetét, és másolja a hostName használni kívánt értéket egy későbbi lépésben. Az hostName érték a következő példához hasonlóan néz ki:

    {Your IoT hub name}.azure-devices.net

Az IoT Explorer konfigurálása

A rövid útmutató további részében az IoT Explorer használatával regisztrálhat egy eszközt az IoT Hubon, megtekintheti az eszköz tulajdonságait és telemetriáját, és parancsokat küldhet az eszköznek. Ebben a szakaszban úgy konfigurálja az IoT Explorert, hogy csatlakozzon a létrehozott IoT Hubhoz, és hogy beolvassa a plug and play modelleket a nyilvános modell adattárából.

Kapcsolat hozzáadása az IoT Hubhoz:

  1. Telepítse az Azure IoT Explorert. Ez az eszköz egy platformfüggetlen segédprogram az Azure IoT-erőforrások monitorozásához és kezeléséhez.

  2. A CLI-alkalmazásban futtassa az az iot hub connection-string show parancsot az IoT Hub kapcsolati sztring lekéréséhez.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  3. Másolja a kapcsolati sztring a környező idézőjelek nélkül.

  4. Az Azure IoT Explorerben válassza az IoT Hubs lehetőséget a bal oldali menüben.

  5. Válassza a + Kapcsolat hozzáadása lehetőséget.

  6. Illessze be a kapcsolati sztring a Kapcsolati sztring mezőbe.

  7. Válassza a Mentés lehetőséget.

    Képernyőkép kapcsolat hozzáadásáról az IoT Explorerben.

Ha a kapcsolat sikeres, az IoT Explorer az Eszközök nézetre vált.

A nyilvános modell adattárának hozzáadása:

  1. Az IoT Explorerben válassza a Kezdőlap lehetőséget a kezdőlap nézethez való visszatéréshez.

  2. A bal oldali menüben válassza az IoT Plug and Play beállításai lehetőséget.

  3. Győződjön meg arról, hogy van egy meglévő nyilvános adattárbejegyzés a következő végponttal https://devicemodels.azure.com: .

    Feljegyzés

    Ha nincs bejegyzés a nyilvános adattárban, válassza a +Hozzáadás lehetőséget, válassza a Nyilvános adattár lehetőséget a legördülő menüből, adja meg a végpont értékét, majd válassza a https://devicemodels.azure.com Mentés lehetőséget.

    A nyilvános adattár befejezett bejegyzése a következő képernyőképhez hasonlóan néz ki:

    Képernyőkép a nyilvános modell adattárának az IoT Explorerben való hozzáadásáról.

Eszköz regisztrálása

Ebben a szakaszban létrehoz egy új eszközpéldányt, és regisztrálja azt a létrehozott IoT Hubon. Az újonnan regisztrált eszköz kapcsolati adataival biztonságosan csatlakoztathatja a fizikai eszközt egy későbbi szakaszban.

Eszköz regisztrálása:

  1. Az IoT Explorer kezdőlap nézetében válassza az IoT Hubs lehetőséget.

  2. A korábban hozzáadott kapcsolatnak meg kell jelennie. Válassza az Eszközök megtekintése a központban a kapcsolat tulajdonságai alatt lehetőséget.

  3. Válassza az + Új lehetőséget, és adjon meg egy eszközazonosítót, például mydevice. Az összes többi tulajdonságot hagyja változatlanul.

  4. Válassza a Létrehozás lehetőséget.

    Képernyőkép az Azure IoT Explorer eszközidentitásáról.

  5. A másolási gombokkal másolja ki az eszközazonosító és az elsődleges kulcs mezőit.

Mielőtt továbblép a következő szakaszra, mentse az alábbi értékek mindegyikét a korábbi lépésekből egy biztonságos helyre. Ezeket az értékeket a következő szakaszban az eszköz konfigurálásához használhatja.

  • hostName
  • deviceId
  • primaryKey

Az eszköz előkészítése

Ha az ESP32 DevKitet az Azure-hoz szeretné csatlakoztatni, módosítsa a konfigurációs beállításokat, hozza létre a rendszerképet, és villogtasson a rendszerképet az eszközön.

A környezet beállítása

Az ESP-IDF-környezet elindítása:

  1. Válassza a Windows Start lehetőséget, keresse meg az ESP-IDF 5.0 CMD-t, és futtassa.

  2. Az ESP-IDF 5.0 CMD-ben keresse meg a korábban klónozott iot-middleware-freertos-samples könyvtárat.

  3. Nyissa meg az ESP32-Azure IoT Kit projektkönyvtárat demos\projects\ESPRESSIF\aziotkit.

  4. Futtassa a következő parancsot a konfigurációs menü elindításához:

    idf.py menuconfig
    

Konfiguráció hozzáadása

Vezeték nélküli hálózati konfiguráció hozzáadása:

  1. Az ESP-IDF 5.0 CMD-ben válassza az Azure IoT köztes szoftvereket a FreeRTOS-mintakonfigurációs --->, majd nyomja le az Enter billentyűt.

  2. Adja meg a következő konfigurációs beállításokat a helyi vezeték nélküli hálózati hitelesítő adatokkal.

    Beállítás Érték
    WiFi SSID {Saját Wi-Fi SSID}
    Wi-Fi-jelszó {Az Ön Wi-Fi-jelszava}
  3. Válassza az Esc lehetőséget az előző menübe való visszatéréshez.

Konfiguráció hozzáadása az Azure IoT Hubhoz való csatlakozáshoz:

  1. Válassza az Azure IoT köztes szoftvereket a FreeRTOS fő feladatkonfigurációs --->, majd nyomja le az Enter billentyűt.

  2. Állítsa be az alábbi Azure IoT-konfigurációs beállításokat az Azure-erőforrások létrehozása után mentett értékekre.

    Beállítás Érték
    Azure IoT Hub teljes tartománynév {A gazdagép neve}
    Azure IoT-eszközazonosító {Az eszköz azonosítója}
    Az Azure IoT-eszköz szimmetrikus kulcsa {Az elsődleges kulcs}

    Feljegyzés

    Az Azure IoT-hitelesítési módszer beállításában ellenőrizze, hogy a szimmetrikus kulcs alapértelmezett értéke van-e kiválasztva.

  3. Válassza az Esc lehetőséget az előző menübe való visszatéréshez.

A konfiguráció mentése:

  1. A mentési beállítások megnyitásához válassza a Shift+S lehetőséget. Ez a menü lehetővé teszi a konfiguráció mentését egy skconfig nevű fájlba az aktuális .\aziotkit könyvtárban.
  2. A konfiguráció mentéséhez válassza az Enter billentyűt .
  3. Válassza az Enter lehetőséget a nyugtázási üzenet elvetéséhez.
  4. Válassza a Q lehetőséget a konfigurációs menüből való kilépéshez.

A kép létrehozása és villogása

Ebben a szakaszban az ESP-IDF-eszközökkel hozhatja létre, villogtathatja és figyelheti az ESP32 DevKitet, miközben csatlakozik az Azure IoT-hez.

Feljegyzés

Az ebben a szakaszban található alábbi parancsokban használjon egy rövid buildkimeneti útvonalat a gyökérkönyvtár közelében. Adja meg a buildelési útvonalat a -B paraméter után minden olyan parancsban, amelyhez szükség van rá. A rövid elérési út segít elkerülni az ESPRESSIF ESP-IDF-eszközök aktuális problémáját, amely hosszú buildelési útvonalnevekkel kapcsolatos hibákat okozhat. A következő parancsok egy helyi C:\espbuild elérési utat használnak példaként.

A rendszerkép létrehozása:

  1. Az ESP-IDF 5.0 CMD-ben az iot-middleware-freertos-samples\demos\projects\ESPRESSIF\aziotkit könyvtárból futtassa a következő parancsot a rendszerkép létrehozásához.

    idf.py --no-ccache -B "C:\espbuild" build 
    
  2. A build befejezése után győződjön meg arról, hogy a bináris képfájl a korábban megadott buildelési útvonalon lett létrehozva.

    C:\espbuild\azure_iot_freertos_esp32.bin

A kép villogásához:

  1. Az ESP32 DevKiten keresse meg a Micro USB-portot, amely a következő képen van kiemelve:

    Az ESP32-Azure IoT Kit alaplap fényképe.

  2. Csatlakoztassa a Micro USB-kábelt az ESP32 DevKit micro USB-portjához, majd csatlakoztassa a számítógéphez.

  3. Nyissa meg a Windows Eszközkezelő, és tekintse meg a portokat, hogy megtudja, melyik COM-porthoz csatlakozik az ESP32 DevKit.

    Képernyőkép a Windows Eszközkezelő a csatlakoztatott eszköz COM-portjának megjelenítéséről.

  4. Az ESP-IDF 5.0 CMD-ben futtassa a következő parancsot, és cserélje le a <Saját-COM-port> helyőrzőt és a zárójeleket az előző lépés megfelelő COM-portjára. Cserélje le például a helyőrzőt a következőre COM3: .

    idf.py --no-ccache -B "C:\espbuild" -p <Your-COM-port> flash
    
  5. Győződjön meg arról, hogy a kimenet a következő szöveggel fejeződik be egy sikeres flash esetén:

    Hash of data verified
    
    Leaving...
    Hard resetting via RTS pin...
    Done
    

Annak ellenőrzése, hogy az eszköz csatlakozik-e az Azure IoT Centralhoz:

  1. Az ESP-IDF 5.0 CMD-ben futtassa a következő parancsot a monitorozási eszköz elindításához. Az előző parancshoz hasonlóan cserélje le a <Saját-COM-port> helyőrzőt és a zárójeleket arra a COM-portra, amelyhez az eszköz csatlakozik.

    idf.py -B "C:\espbuild" -p <Your-COM-port> monitor
    
  2. Ellenőrizze az alábbi példához hasonló ismétlődő kimeneti blokkokat. Ez a kimenet megerősíti, hogy az eszköz csatlakozik az Azure IoT-hez, és telemetriát küld.

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

Eszköztulajdonságok megtekintése

Az Azure IoT Explorerrel megtekintheti és kezelheti az eszközök tulajdonságait. A következő szakaszokban az IoT Explorerben látható Plug and Play képességeket használja az ESP32 DevKit kezeléséhez és kezeléséhez. Ezek a képességek az ESP32 DevKit nyilvános modell adattárában közzétett eszközmodellre támaszkodnak. Az IoT Explorert úgy konfigurálta, hogy az oktatóanyag korábbi részében eszközmodelleket keressen az adattárban. Sok esetben ugyanezt a műveletet plug and play használata nélkül is végrehajthatja az IoT Explorer menübeállításainak kiválasztásával. A plug and play használata azonban gyakran továbbfejlesztett élményt nyújt. Az IoT Explorer beolvassa a plug and play eszköz által megadott eszközmodellt, és be tudja mutatni az adott eszközre vonatkozó információkat.

Az eszköz IoT Plug and Play-összetevőinek elérése az IoT Explorerben:

  1. Az IoT Explorer otthoni nézetében válassza az IoT Hubok lehetőséget, majd válassza az Eszközök megtekintése lehetőséget ebben a központban.

  2. Válassza ki az eszközt.

  3. Válassza ki az IoT Plug and Play-összetevőket.

  4. Válassza az Alapértelmezett összetevő lehetőséget. Az IoT Explorer megjeleníti az eszközön implementált IoT Plug and Play-összetevőket.

    Képernyőkép az eszköz alapértelmezett összetevőéről az IoT Explorerben.

  5. A Felület lapon tekintse meg a JSON-tartalmat az eszközmodell leírásában. A JSON az eszközmodell minden IoT Plug and Play-összetevőjének konfigurációs adatait tartalmazza.

    Az IoT Explorer minden lapja megfelel az eszközmodell IoT Plug and Play-összetevőinek.

    Lap Típus Név Leírás
    Interfész Interfész Espressif ESP32 Azure IoT Kit Példa eszközmodell az ESP32 DevKithez
    Tulajdonságok (írható) Tulajdonság telemetryFrequencySecs Az az időköz, amelyet az eszköz telemetriát küld
    Parancsok Parancs ToggleLed1 A LED be- vagy kikapcsolása
    Parancsok Parancs ToggleLed2 A LED be- vagy kikapcsolása
    Parancsok Parancs DisplayText Az elküldött szöveg megjelenítése az eszköz képernyőjén

Eszköztulajdonságok megtekintése és szerkesztése az Azure IoT Explorerrel:

  1. Válassza a Tulajdonságok (írható) lapot. Megjeleníti a telemetriai adatok küldésének időközét.

  2. Módosítsa az telemetryFrequencySecs értéket 5 értékre, majd válassza a Kívánt érték frissítése lehetőséget. Az eszköz most ezt az időközt használja a telemetriai adatok küldéséhez.

    Képernyőkép az eszköz telemetriai időközének beállításáról az IoT Explorerben.

  3. Az IoT Explorer egy értesítéssel válaszol.

Az Azure CLI használata az eszköztulajdonságok megtekintéséhez:

  1. Futtassa az az iot hub device-twin show parancsot.

    az iot hub device-twin show --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Ellenőrizze az eszköz tulajdonságait a konzol kimenetében.

Tipp.

Az Azure IoT Explorer használatával is megtekintheti az eszköz tulajdonságait. A bal oldali navigációs sávon válassza az Ikereszköz lehetőséget.

Telemetria megtekintése

Az Azure IoT Explorerrel megtekintheti az eszközről a felhőbe irányuló telemetriai folyamatokat. Igény szerint ugyanezt a feladatot az Azure CLI-vel is elvégezheti.

Telemetria megtekintése az Azure IoT Explorerben:

  1. Az IoT Plug and Play-összetevők (alapértelmezett összetevő) panelen válassza az IoT Explorerben a Telemetria lapot. Győződjön meg arról, hogy a beépített eseményközpont használata igen értékre van állítva.

  2. Válassza az Indítás lehetőséget .

  3. Tekintse meg a telemetriát, amikor az eszköz üzeneteket küld a felhőbe.

    Képernyőkép az IoT Explorer eszköztelemetria-adatairól.

  4. A modellezett események megjelenítése jelölőnégyzet bejelölésével megtekintheti az eseményeket az eszközmodell által megadott adatformátumban.

    Képernyőkép az IoT Explorer modellezett telemetriai eseményeiről.

  5. Válassza a Leállítás gombra az események fogadásának befejezéséhez.

Az Azure CLI használata az eszköz telemetriájának megtekintéséhez:

  1. Futtassa az az iot hub monitor-events parancsot. Használja a korábban az Azure IoT-ben az eszközhöz és az IoT Hubhoz létrehozott neveket.

    az iot hub monitor-events --device-id mydevice --hub-name {YourIoTHubName}
    
  2. A JSON-kimenet megtekintése a konzolon.

    {
        "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álassza a CTRL+C billentyűkombinációt a figyelés befejezéséhez.

Közvetlen metódus meghívása az eszközön

Az Azure IoT Explorer használatával is meghívhat egy, az eszközön implementált közvetlen metódust. A közvetlen metódusoknak van egy neve, és opcionálisan JSON hasznos adatokkal, konfigurálható kapcsolattal és metódus-időtúllépéssel is rendelkezhetnek. Ebben a szakaszban egy olyan metódust hív meg, amely be- vagy kikapcsol egy LED-et. Igény szerint ugyanezt a feladatot az Azure CLI-vel is elvégezheti.

Metódus meghívása az Azure IoT Explorerben:

  1. Az IoT Explorerben az eszköz IoT Plug and Play-összetevőinek (Alapértelmezett összetevő) paneljén válassza a Parancsok lapot.

  2. A ToggleLed1 parancsnál válassza a Küldés parancsot. Az ESP32 DevKit LED-es kapcsolója be- vagy kikapcsol. Az IoT Explorerben is látnia kell egy értesítést.

    Képernyőkép egy metódus meghívásáról az IoT Explorerben.

  3. A DisplayText parancshoz írjon be egy szöveget a tartalommezőbe.

  4. Válassza a Küldés parancsot. A szöveg megjelenik az ESP32 DevKit képernyőn.

Metódus meghívása az Azure CLI használatával:

  1. Futtassa az az iot hub invoke-device-method parancsot, és adja meg a metódus nevét és hasznos adatait. Ebben a módszerben true a led method-payload a jelenlegi állapotának ellenkezőjére vált.

    az iot hub invoke-device-method --device-id mydevice --method-name ToggleLed2 --method-payload true --hub-name {YourIoTHubName}
    

    A CLI-konzol megjeleníti a metódushívás állapotát az eszközön, amely 200 a sikerességet jelzi.

    {
      "payload": {},
      "status": 200
    } 
    
  2. Ellenőrizze az eszközt a LED állapotának megerősítéséhez.

Hibaelhárítás és hibakeresés

Ha problémákat tapasztal az eszközkód létrehozása, az eszköz villogása vagy a csatlakozás során, tekintse meg a hibaelhárítást.

Az alkalmazás hibakereséséhez lásd a Visual Studio Code hibakeresését.

Az erőforrások eltávolítása

Ha már nincs szüksége az ebben a rövid útmutatóban létrehozott Azure-erőforrásokra, az Azure CLI használatával törölheti az erőforráscsoportot és annak összes erőforrását.

Fontos

Az erőforráscsoport törlése nem vonható vissza. Az erőforráscsoport és a benne foglalt erőforrások véglegesen törlődnek. Figyeljen arra, hogy ne töröljön véletlenül erőforráscsoportot vagy erőforrásokat.

Erőforráscsoport törlése név alapján:

  1. Futtassa az az group delete parancsot. Ez a parancs eltávolítja az erőforráscsoportot, az IoT Hubot és a létrehozott eszközregisztrációt.

    az group delete --name MyResourceGroup
    
  2. Futtassa az az group list parancsot az erőforráscsoport törlésének megerősítéséhez.

    az group list
    

Következő lépések

Ebben az oktatóanyagban létrehozott egy egyéni rendszerképet, amely tartalmazza a FreeRTOS-hez készült Azure IoT köztes szoftvert, majd a rendszerképet az ESP32 DevKit-eszközre villantotta fel. Csatlakoztatta az ESP32 DevKitet az Azure IoT Hubhoz, és olyan feladatokat hajtott végre, mint a telemetriai adatok megtekintése és a hívási módszerek az eszközön.

A következő lépésként tekintse meg a következő cikket, amelyből többet is megtudhat a beágyazott fejlesztési lehetőségekről.