Cvičení – poslání dat senzoru prostředí místnosti v reálném čase v Azure RTOS do IoT Hubu

Dokončeno

V tomto cvičení využijeme aplikaci vysoké úrovně, která v reálném čase bude posílat do IoT Hubu data senzoru prostředí místnosti v Azure RTOS.

Krok 1: Otevření projektu

  1. Spusťte Visual Studio Code, ve kterém otevřete projekt.

  2. V nabídce klikněte na Soubora pak Otevřít složku.

  3. Otevřete složku Azure-Sphere lab.

  4. Otevřete složku Lab_7_Partnering_with_RTOS_environment.

  5. Kliknutím na Vybrat složku nebo na tlačítko OK otevřete projekt.

Pokud jste nainstalovali rozšíření Visual Studio Code Peacock, zobrazí se Visual Studio Code modře. Modrá instance je připojena k aplikaci vysoké úrovně běžící na jádru Cortex-A7.

Krok 2: Nastavení konfigurace vývojové desky

Tato cvičení podporují vývojové desky od výrobců Avnet a Seeed Studio. Je nutné nastavit konfiguraci, která odpovídá vaší vývojové desce.

Výchozí konfigurace vývojové desky je určená pro úvodní sadu Avnet Azure Sphere revize 1. Pokud máte tuto desku, není nutné provádět žádnou další konfiguraci.

  1. Otevřete soubor CMakeList.txt.

  2. Přidáním znaku # na začátek řádku AVNET sady řádek zakážete.

  3. Odkomentujte příkaz set, který odpovídá vaší vývojové desce zařízení Azure Sphere.

    set(AVNET TRUE "AVNET Azure Sphere Starter Kit Revision 1 ")
    # set(AVNET_REV_2 TRUE "AVNET Azure Sphere Starter Kit Revision 2 ")
    # set(SEEED_STUDIO_RDB TRUE "Seeed Studio Azure Sphere MT3620 Development Kit (aka Reference Design Board or rdb)")
    # set(SEEED_STUDIO_MINI TRUE "Seeed Studio Azure Sphere MT3620 Mini Dev Board")
    
  4. Soubor uložte. Tím se automaticky vygeneruje mezipaměť CMake.

Krok 3: Konfigurace informací o připojení Azure IoT

  1. Otevřete soubor app_manifest.json.

  2. NEKOPÍRUJTE soubor app_manifest.json, který jste si uložili do poznámkového bloku, protože v tomto manifestu aplikace jsou nové vlastnosti.

  3. Pro Azure IoT Hub aktualizujte vlastnosti připojení.

    • Aktualizujte řádek CmdArgs pomocí oboru ID Azure IoT DPS.
    • Aktualizujte DeviceAuthentication pomocí ID tenanta Azure Sphere. Připomeňme si, že se jednalo o číselnou hodnotu vrácenou po spuštění příkazu azsphere tenant show-selected.
  4. Aktualizujte AllowedConnections pomocí globálního koncového bodu služby zřizování zařízení, vašeho koncového bodu DPS a vašeho koncového bodu Azure IoT Hubu. Abyste pochopili správný formát pro tyto koncové body, prohlédněte si níže uvedený příklad.

  5. Dokument app_manifest.json naformátujete tak, že na něj kliknete pravým tlačítkem a v místní nabídce vyberete Format Document (Formátovat dokument).

  6. Zkontrolujte aktualizovaný soubor app_manifest.json. Měl by vypadat nějak takto.

    {
        "SchemaVersion": 1,
        "Name": "AzureSphereIoTCentral",
        "ComponentId": "25025d2c-66da-4448-bae1-ac26fcdd3627",
        "EntryPoint": "/bin/app",
        "CmdArgs": [ "--ConnectionType", "DPS", "--ScopeID", "0ne0099999D" ],
        "Capabilities": {
            "Gpio": [
            "$NETWORK_CONNECTED_LED",
            "$LED_RED",
            "$LED_GREEN",
            "$LED_BLUE"
            ],
            "PowerControls": [
            "ForceReboot"
            ],
            "AllowedConnections": [
                "global.azure-devices-provisioning.net",
                "<Your device provisioning service endpoint>",
                "<Your Azure IoT hub endpoint>"
            ],
            "DeviceAuthentication": "9d7e79eb-9999-43ce-9999-fa8888888894"
            "AllowedApplicationConnections": [ "6583cf17-d321-4d72-8283-0b7c5b56442b" ]
        },
        "ApplicationType": "Default"
    }
    

Krok 4: Nastavení zarážky ve funkci zpětného volání InterCoreHandler

  1. Otevřete main.c.

  2. Posuňte se dolů k funkci s názvem InterCoreHandler.

    Poznámka:

    Použijte příkaz Přejít na symbol v Editoru v nástroji Visual Studio Code. Použijte klávesovou zkratku Ctrl+Shift+O a začněte psát InterCoreHandler. V rozevíracím seznamu je často název funkce uvedený dvakrát. První výskyt představuje deklaraci prototypu funkce nebo připravené signatury a druhý představuje implementaci funkce.

  3. Nastavte zarážku ve funkci InterCoreHandler na řádku, který čte přepínač (ic_message_block-cmd>).

    Poznámka:

    Jak nastavit zarážky, zjistíte v tomto článku Ladění v editoru Visual Studio Code.

    The illustration shows how to set a breakpoint in the InterCoreHandler callback function.

Krok 5: Spuštění procesu nasazení sestavení aplikace

  1. Vyberte CMake: [Debug]: Ready from the Visual Studio Code Status Bar.

  2. Z Visual Studio Codu můžete stisknutím klávesy F5 sestavit, nasadit, spustit a připojit vzdálený ladicí program pro aplikaci, která teď běží na zařízení Azure Sphere.

Krok 6: Ladění aplikací jádra vysoké úrovně a jádra v reálném čase

  1. Když se aplikace vysoké úrovně spustí, vyžaduje data prostředí z aplikace jádra v reálném čase.

  2. Aniž byste zavřeli nebo zastavili aplikaci vysoké úrovně, přepněte na instanci editoru Visual Studio Code, kterou jste nechali připojenou k jádru v reálném čase.

  3. Během okamžiku se zpracování kódu zastaví na zarážce nastavené v kódu v reálném čase.

  4. Krokujte kód v reálném čase a potom stisknutím klávesy F5 pokračujte v provádění.

  5. Přepněte zpět na instanci editoru Visual Studio Code připojenou k aplikaci vysoké úrovně. Zpracování kódu by mělo být zastavené na zarážce, kterou jste nastavili ve funkci InterCoreHandler.

  6. Tento proces několikrát zopakujte a pak odeberte zarážky, aby zpracování kódu pokračovalo.

Krok 7: Očekávané chování zařízení

Úvodní sada Avnet Azure Sphere revize 1 a 2 má integrovaný senzor teploty. Pro jiné desky se generuje náhodná teplota 25 +/- 5 stupňů Celsia.

Úvodní sada Azure Sphere MT3620 revize 1 a 2

The illustration shows the Avnet Azure Sphere kit.

  • Indikátor LED sítě WLAN zabliká každých 5 sekund, pokud je zařízení připojeno k Azure.

  • Indikátor LED RGB zčervená, pokud je naměřená nižší než požadovaná teplota, zmodrá, pokud je naměřená vyšší než požadovaná teplota, a zezelená, pokud se naměřená teplota rovná požadované.

Seeed Studio Azure Sphere MT3620 Development Kit

The illustration shows the Seeed Studio Azure Sphere kit.

  • Indikátor LED sítě WLAN zabliká každých 5 sekund, pokud je zařízení připojeno k Azure.

  • Indikátor LED RGB zčervená, pokud je naměřená nižší než požadovaná teplota, zmodrá, pokud je naměřená vyšší než požadovaná teplota, a zezelená, pokud se naměřená teplota rovná požadované.

Vývojová deska Seeed Studio MT3620 Mini Dev Board

The illustration shows the Seeed Studio Mini Azure Sphere kit.

  • Uživatelská dioda LED zabliká každých 5 sekund, pokud je zařízení připojeno k Azure.

Krok 8: Nastavení požadované teploty

Požadovaná teplota se nastavuje podobně jako teplota na termostatu v místnosti. Zpráva o vlastnosti dvojčete zařízení, která představuje požadovanou teplotu, se pošle do Azure Sphere, kde bude odpovídajícím způsobem zpracována.

Když se senzor teploty přečte v Azure Sphere, porovná se s požadovanou teplotou.

  1. Přejděte do Azure IoT Exploreru.

  2. Klikněte na View devices in this hub (Zobrazit zařízení v tomto centru).

  3. Klikněte na vaše zařízení.

  4. V postranní nabídce klikněte na IoT Plug and Play components (Komponenty IoT Plug and Play).

  5. Klikněte na Default component (Výchozí komponenta).

  6. Z nabídky vyberte Properties (writable) (Vlastnosti (zapisovatelné)).

  7. Nastavte vlastnost Desired Temperature (Požadovaná teplota).

  8. Klikněte na tlačítko Update desired value (Aktualizovat požadovanou hodnotu).

Zavření sady Visual Studio

Teď zavřete Visual Studio.