Cvičení – postup odeslání dat snímače prostředí místnosti v reálném čase v Azure RTOS do IoT Central

Dokončeno

V tomto cvičení využijeme aplikaci vysoké úrovně, která v reálném čase posílá do IoT Central data snímače prostředí místnosti Azure RTOS.

Krok 1: Otevření projektu

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

  2. Klikněte na 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.

  6. 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. U aplikace Azure IoT Central aktualizujte vlastnosti připojení.

    • Aktualizujte řádek CmdArgs pomocí oboru ID Azure IoT Central.
    • 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í koncových bodů aplikace Azure IoT Central, které jste zkopírovali do Poznámkového bloku.

  5. 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",
            "--RTComponentId", "6583cf17-d321-4d72-8283-0b7c5b56442b"
        ],
        "Capabilities": {
            "Gpio": [
            "$NETWORK_CONNECTED_LED",
            "$LED_RED",
            "$LED_GREEN",
            "$LED_BLUE"
            ],
            "PowerControls": [
            "ForceReboot"
            ],
            "AllowedConnections": [
                "global.azure-devices-provisioning.net",
                "iotc-9999bc-3305-99ba-885e-6573fc4cf701.azure-devices.net",
                "iotc-789999fa-8306-4994-b70a-399c46501044.azure-devices.net",
                "iotc-7a099966-a8c1-4f33-b803-bf29998713787.azure-devices.net",
                "iotc-97299997-05ab-4988-8142-e299995acdb7.azure-devices.net",
                "iotc-d099995-7fec-460c-b717-e99999bf4551.azure-devices.net",
                "iotc-789999dd-3bf5-49d7-9e12-f6999991df8c.azure-devices.net",
                "iotc-29999917-7344-49e4-9344-5e0cc9999d9b.azure-devices.net",
                "iotc-99999e59-df2a-41d8-bacd-ebb9999143ab.azure-devices.net",
                "iotc-c0a9999b-d256-4aaf-aa06-e90e999902b3.azure-devices.net",
                "iotc-f9199991-ceb1-4f38-9f1c-13199992570e.azure-devices.net"
            ],
            "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 Azure Sphere MT3620 revize 1 a 2

The illustration shows the Avnet Azure Sphere kit.

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

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

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

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

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

Krok 8: Zobrazení vlastnosti poslední hlášené teploty

  1. V prohlížeči přepněte na IoT Central.

  2. V nabídce bočního panelu vyberte Zařízení, pak šablonu Learning Path Lab Monitor a pak vaše zařízení.

  3. Vyberte na kartě Vlastnosti.

The illustration shows how to display telemetry.

Krok 9: 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.

  • Pokud je teplota vyšší než požadovaná teplota, barva diody LED RGB se změní na modrou, což znamená, že je nutné zapnout chlazení.

  • Pokud je teplota nižší než požadovaná teplota, barva diody LED RGB se změní na červenou, což znamená, že je nutné zapnout topení.

  • Pokud je teplota stejná jako požadovaná teplota, změní se barva diody LED RGB na zelenou, což znamená, že není vyžadována žádná akce.

    Poznámka:

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

Nastavení požadované teploty:

  1. Aktualizujte hodnotu vlastnosti Desired Temperature (Požadovaná teplota).

  2. Uložte tuto vlastnost. Tím se pošle hodnota vlastnosti požadované teploty do Azure Sphere. Barva diody LED RGB se bude měnit v závislosti na zvolené požadované teplotě.

    The illustration shows display settings.

  3. Aktualizujte hodnotu Požadovaná vzorkovací frekvence v sekundách [1.. 60].

  4. Uložte tuto vlastnost. Tím se vlastnost požadované vzorkovací frekvence odešle do aplikace Azure Sphere vysoké úrovně. Tato vlastnost se pak přepošle do aplikace jádra v reálném čase a vlastnost vzorkovací frekvence senzoru se aktualizuje.

Zavření sady Visual Studio

Teď zavřete Visual Studio.