Snabbstart: Anslut ett Renesas RX65N Cloud Kit till IoT Hub

Gäller för: Utveckling av inbäddade enheter
Total slutförandetid: 30 minuter

En ikon som länkar till GitHub-källkod.

I den här snabbstarten använder du Azure RTOS för att ansluta Renesas RX65N Cloud Kit (från och med nu Renesas RX65N) till Azure IoT.

Du utför följande uppgifter:

  • Installera en uppsättning inbäddade utvecklingsverktyg för programmering av Renesas RX65N i C
  • Skapa en bild och flasha den till Renesas RX65N
  • Använd Azure CLI för att skapa och hantera en Azure IoT-hubb som Renesas RX65N ansluter säkert till
  • Använd Azure IoT Explorer för att registrera en enhet med din IoT-hubb, visa enhetsegenskaper, visa enhetens telemetri och anropa direktkommandon på enheten

Förutsättningar

  • En dator som kör Windows 10 eller Windows 11.

  • En aktiv Azure-prenumeration. Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

  • Git för kloning av lagringsplatsen

  • Azure CLI. Du har två alternativ för att köra Azure CLI-kommandon i den här snabbstarten:

    • Använd Azure Cloud Shell, ett interaktivt gränssnitt som kör CLI-kommandon i webbläsaren. Det här alternativet rekommenderas eftersom du inte behöver installera något. Om du använder Cloud Shell för första gången loggar du in på Azure-portalen. Följ stegen i Cloud Shell-snabbstarten för att starta Cloud Shell och välj Bash-miljön.
    • Du kan också köra Azure CLI på din lokala dator. Om Azure CLI redan är installerat kör du az upgrade för att uppgradera CLI och tillägg till den aktuella versionen. Information om hur du installerar Azure CLI finns i Installera Azure CLI.
  • Maskinvara

Förbereda utvecklingsmiljön

För att konfigurera utvecklingsmiljön klonar du först en GitHub-lagringsplats som innehåller alla tillgångar som du behöver för snabbstarten. Sedan installerar du en uppsättning programmeringsverktyg.

Klona lagringsplatsen för snabbstarten

Klona följande lagringsplats för att ladda ned all enhetskodexempel, installationsskript och offlineversioner av dokumentationen. Om du tidigare klonade den här lagringsplatsen i en annan snabbstart behöver du inte göra det igen.

Om du vill klona lagringsplatsen kör du följande kommando:

git clone --recursive https://github.com/azure-rtos/getting-started/

Installera verktygen

Den klonade lagringsplatsen innehåller ett installationsskript som installerar och konfigurerar de verktyg som krävs. Om du har installerat dessa verktyg i en annan snabbstart för inbäddade enheter behöver du inte göra det igen.

Kommentar

Installationsskriptet installerar följande verktyg:

Så här installerar du verktygen:

  1. Från Utforskaren navigerar du till följande sökväg på lagringsplatsen och kör installationsskriptet med namnet get-toolchain-rx.bat:

    komma igång\tools\get-toolchain-rx.bat

  2. Lägg till RX-kompilatorn i Windows-sökvägen:

    %USERPROFILE%\AppData\Roaming\GCC for Renesas RX 8.3.0.202004-GNURX-ELF\rx-elf\rx-elf\bin

  3. Efter installationen öppnar du ett nytt konsolfönster för att identifiera de konfigurationsändringar som gjorts av installationsskriptet. Använd den här konsolen för att slutföra de återstående programmeringsuppgifterna i snabbstarten. Du kan använda Windows CMD, PowerShell eller Git Bash för Windows.

  4. Kör följande kommandon för att bekräfta att CMake version 3.14 eller senare är installerad. Kontrollera att RX-kompilatorsökvägen är korrekt konfigurerad.

    cmake --version
    rx-elf-gcc --version
    

Så här installerar du de återstående verktygen:

  • Installera Renesas Flash Programmer för Windows. Utvecklingsmiljön Renesas Flash Programmer innehåller drivrutiner och verktyg som behövs för att flasha Renesas RX65N.

Skapa molnkomponenterna

Skapa en IoT-hubb

Du kan använda Azure CLI för att skapa en IoT-hubb som hanterar händelser och meddelanden för din enhet.

Så här skapar du en IoT-hubb:

  1. Starta DIN CLI-app. Om du vill köra CLI-kommandona i resten av den här snabbstarten kopierar du kommandosyntaxen, klistrar in den i CLI-appen, redigerar variabelvärden och trycker på Retur.

    • Om du använder Cloud Shell högerklickar du på länken för Cloud Shell och väljer alternativet att öppna på en ny flik.
    • Om du använder Azure CLI lokalt startar du CLI-konsolappen och loggar in på Azure CLI.
  2. Kör az extension add för att installera eller uppgradera azure-iot-tillägget till den aktuella versionen.

    az extension add --upgrade --name azure-iot
    
  3. Kör kommandot az group create för att skapa en resursgrupp. Följande kommando skapar en resursgrupp med namnet MyResourceGroup i regionen centralus .

    Kommentar

    Du kan också ange en alternativ location. Om du vill se tillgängliga platser kör du az account list-locations.

    az group create --name MyResourceGroup --location centralus
    
  4. Kör kommandot az iot hub create för att skapa en IoT-hubb. Det kan ta några minuter att skapa en IoT-hubb.

    YourIotHubName. Ersätt platshållaren i koden med det namn du valde för din IoT-hubb. Ett IoT-hubbnamn måste vara globalt unikt i Azure. Den här platshållaren används i resten av den här snabbstarten för att representera ditt unika IoT Hub-namn.

    Parametern --sku F1 skapar IoT-hubben på den kostnadsfria nivån. Hubbar på den kostnadsfria nivån har en begränsad funktionsuppsättning och används för konceptbevisprogram. Mer information om IoT Hub-nivåer, funktioner och priser finns i Prissättning för Azure IoT Hub.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName} --sku F1 --partition-count 2
    
  5. När IoT-hubben har skapats visar du JSON-utdata i konsolen och kopierar värdet hostName som ska användas i ett senare steg. Värdet hostName ser ut som i följande exempel:

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

Konfigurera IoT Explorer

I resten av den här snabbstarten använder du IoT Explorer för att registrera en enhet till din IoT-hubb, för att visa enhetsegenskaper och telemetri och för att skicka kommandon till enheten. I det här avsnittet konfigurerar du IoT Explorer för att ansluta till den IoT-hubb som du skapade och för att läsa plug and play-modeller från lagringsplatsen för den offentliga modellen.

Så här lägger du till en anslutning till din IoT-hubb:

  1. Installera Azure IoT Explorer. Det här verktyget är ett plattformsoberoende verktyg för att övervaka och hantera Azure IoT-resurser.

  2. Kör kommandot az iot hub connection-string show i CLI-appen för att hämta anslutningssträng för din IoT-hubb.

    az iot hub connection-string  show --hub-name {YourIoTHubName}
    
  3. Kopiera anslutningssträng utan omgivande citattecken.

  4. I Azure IoT Explorer väljer du IoT-hubbar på den vänstra menyn.

  5. Välj + Lägg till anslutning.

  6. Klistra in anslutningssträng i rutan Anslut ionssträng.

  7. Välj Spara.

    Skärmbild av att lägga till en anslutning i IoT Explorer.

Om anslutningen lyckas växlar IoT Explorer till vyn Enheter .

Så här lägger du till lagringsplatsen för den offentliga modellen:

  1. I IoT Explorer väljer du Start för att återgå till hemvyn.

  2. Välj IoT Plug and Play Inställningar på den vänstra menyn och välj sedan +Lägg till och välj Offentlig lagringsplats på den nedrullningsbara menyn.

  3. En post visas för lagringsplatsen för den offentliga modellen på https://devicemodels.azure.com.

    Skärmbild av att lägga till lagringsplatsen för den offentliga modellen i IoT Explorer.

  4. Välj Spara.

Registrera en enhet

I det här avsnittet skapar du en ny enhetsinstans och registrerar den med den IoT-hubb som du skapade. Du använder anslutningsinformationen för den nyligen registrerade enheten för att på ett säkert sätt ansluta din fysiska enhet i ett senare avsnitt.

Så här registrerar du en enhet:

  1. I hemvyn i IoT Explorer väljer du IoT-hubbar.

  2. Anslutningen som du tidigare lade till bör visas. Välj Visa enheter i den här hubben under anslutningsegenskaperna.

  3. Välj + Ny och ange ett enhets-ID för enheten, mydevicetill exempel . Låt alla andra egenskaper vara desamma.

  4. Välj Skapa.

    Skärmbild av enhetsidentiteten i Azure IoT Explorer.

  5. Använd kopieringsknapparna för att kopiera fälten Enhets-ID och Primärnyckel .

Innan du fortsätter till nästa avsnitt sparar du vart och ett av följande värden som hämtats från tidigare steg på en säker plats. Du använder dessa värden i nästa avsnitt för att konfigurera enheten.

  • hostName
  • deviceId
  • primaryKey

Förbereda enheten

Om du vill ansluta Renesas RX65N till Azure ändrar du en konfigurationsfil för Wi-Fi- och Azure IoT-inställningar, skapar avbildningen och blinkar avbildningen till enheten.

Lägga till Wi-Fi-konfiguration

  1. Öppna följande fil i en textredigerare:

    komma igång\Renesas\RX65N_Cloud_Kit\app\azure_config.h

  2. Ange Wi-Fi-konstanterna till följande värden från din lokala miljö.

    Konstant namn Värde
    WIFI_SSID {Ditt Wi-Fi SSID}
    WIFI_PASSWORD {Ditt Wi-Fi-lösenord}
  3. Kommentera ut följande rad längst upp i filen enligt följande:

    // #define ENABLE_DPS
    
  4. Ta bort kommentaren från följande två rader nära slutet av filen enligt följande:

    #define IOT_HUB_HOSTNAME  ""
    #define IOT_HUB_DEVICE_ID ""
    
  5. Ange konstanterna för Azure IoT-enhetsinformation till de värden som du sparade när du skapade Azure-resurser.

    Konstant namn Värde
    IOT_HUB_HOSTNAME {Värdet för Iot Hub hostName}
    IOT_HUB_DEVICE_ID {Ditt enhets-ID-värde}
    IOT_DEVICE_SAS_KEY {Primärnyckelvärdet}
  6. Spara och stäng filen.

Skapa avbildningen

  1. I konsolen eller i Utforskaren kör du skriptet rebuild.bat på följande sökväg för att skapa avbildningen:

    komma igång\Renesas\RX65N_Cloud_Kit\tools\rebuild.bat

  2. När bygget har slutförts bekräftar du att den binära filen skapades i följande sökväg:

    komma igång\Renesas\RX65N_Cloud_Kit\build\app\rx65n_azure_iot.hex

Anslut enheten

Kommentar

Mer information om hur du konfigurerar och kommer igång med Renesas RX65N finns i Snabbstart för Renesas RX65N Cloud Kit.

  1. Slutför följande steg med hjälp av följande bild som referens.

    Foto av Renesas RX65N-kortet som visar återställningen, USB och E1/E2Lite.

  2. Ta bort EJ2-länken från tavlan för att aktivera E2 Lite-felsökningsprogrammet. Länken finns under knappen USER SW .

    Varning

    Om du inte tar bort den här länken kan du inte flasha enheten.

  3. AnslutWiFi-modul till Cloud Option Board

  4. Anslut USB-serie på Renesas RX65N till datorn med hjälp av den första Mini USB-kabeln.

  5. Anslut USB E2 Lite på Renesas RX65N till datorn med hjälp av den andra Mini USB-kabeln.

Flasha bilden

  1. Starta Programmet Renesas Flash Programmer från Start-menyn.

  2. Välj Nytt projekt...arkivmenyn och ange följande inställningar:

    • Mikrostyrenhet: RX65x
    • Projektnamn: RX65N
    • Verktyg: E2-emulatorn Lite
    • Gränssnitt: FINE

    Skärmbild av Renesas Flash Programmer, Nytt projekt.

  3. Välj knappen Verktygsinformation och gå till fliken Återställ Inställningar.

  4. Välj Återställ Fäst som Hi-Z och tryck på OK-knappen .

    Skärmbild av Renesas Flash Programmer, Återställ Inställningar.

  5. Tryck på knappen Anslut och markera kryssrutan Automatisk autentisering när du uppmanas till det och tryck sedan på OK.

    Skärmbild av Renesas Flash-programmerare, autentisering.

  6. Välj fliken Anslut Inställningar, välj listrutan Hastighet och ange hastigheten till 1 000 000 bps.

    Viktigt!

    Om det uppstår fel när du försöker flasha kortet kan du behöva sänka hastigheten i den här inställningen till 750 000 bps eller lägre.

  7. Välj fliken Åtgärd och välj sedan knappen Bläddra... och leta upp filen rx65n_azure_iot.hex som skapades i föregående avsnitt.

  8. Tryck på Start för att börja blinka. Den här processen tar mindre än en minut.

Bekräfta information om enhetsanslutning

Du kan använda Termite-appen för att övervaka kommunikationen och bekräfta att enheten är korrekt konfigurerad.

Dricks

Om du har problem med att få enheten att initiera eller ansluta efter att den har blinkat kan du läsa Felsökning.

  1. Starta Termite.

  2. Välj Inställningar.

  3. I dialogrutan Inställningar för seriell port kontrollerar du följande inställningar och uppdaterar om det behövs:

    • Baud-kurs: 115 200
    • Port: Porten som din Renesas RX65N är ansluten till. Om det finns flera portalternativ i listrutan hittar du rätt port att använda. Öppna Windows Enhetshanteraren och visa Portar för att identifiera vilken port som ska användas.

    Skärmbild av inställningarna för serieporten i termitappen.

  4. Välj OK.

  5. Tryck på knappen Återställ på enheten.

  6. I Termite-appen kontrollerar du följande kontrollpunktsvärden för att bekräfta att enheten har initierats och anslutits till Azure IoT.

     Starting Azure thread
    
    
     Initializing WiFi
         MAC address: ****************
         Firmware version 0.14
     SUCCESS: WiFi initialized
    
     Connecting WiFi
         Connecting to SSID '*********'
         Attempt 1...
     SUCCESS: WiFi connected
    
     Initializing DHCP
         IP address: 192.168.0.31
         Mask: 255.255.255.0
         Gateway: 192.168.0.1
     SUCCESS: DHCP initialized
    
     Initializing DNS client
         DNS address: 192.168.0.1
     SUCCESS: DNS client initialized
    
     Initializing SNTP time sync
         SNTP server 0.pool.ntp.org
         SNTP server 1.pool.ntp.org
         SNTP time update: May 19, 2023 20:40:56.472 UTC
     SUCCESS: SNTP initialized
    
     Initializing Azure IoT Hub client
         Hub hostname: ******.azure-devices.net
         Device id: mydevice
         Model id: dtmi:azurertos:devkit:gsgrx65ncloud;1
     SUCCESS: Connected to IoT Hub
    
     Receive properties: {"desired":{"$version":1},"reported":{"$version":1}}
     Sending property: $iothub/twin/PATCH/properties/reported/?$rid=3{"deviceInformation":{"__t":"c","manufacturer":"Renesas","model":"RX65N Cloud Kit","swVersion":"1.0.0","osName":"Azure RTOS","processorArchitecture":"RX65N","processorManufacturer":"Renesas","totalStorage":2048,"totalMemory":640}}
     Sending property: $iothub/twin/PATCH/properties/reported/?$rid=5{"ledState":false}
     Sending property: $iothub/twin/PATCH/properties/reported/?$rid=7{"telemetryInterval":{"ac":200,"av":1,"value":10}}
    
     Starting Main loop
     Telemetry message sent: {"humidity":0,"temperature":0,"pressure":0,"gasResistance":0}.
     Telemetry message sent: {"accelerometerX":-632,"accelerometerY":62,"accelerometerZ":8283}.
     Telemetry message sent: {"gyroscopeX":2,"gyroscopeY":0,"gyroscopeZ":8}.
     Telemetry message sent: {"illuminance":107.17}.
    

Håll Termite öppen för att övervaka enhetens utdata i följande steg.

Visa enhetsegenskaper

Du kan använda Azure IoT Explorer för att visa och hantera egenskaperna för dina enheter. I följande avsnitt använder du plug and play-funktionerna som visas i IoT Explorer för att hantera och interagera med Renesas RX65N. Dessa funktioner förlitar sig på den enhetsmodell som publicerats för Renesas RX65N på lagringsplatsen för den offentliga modellen. Du konfigurerade IoT Explorer för att söka på den här lagringsplatsen efter enhetsmodeller tidigare i den här snabbstarten. I många fall kan du utföra samma åtgärd utan att använda plug and play genom att välja menyalternativ för IoT Explorer. Att använda plug and play ger dock ofta en förbättrad upplevelse. IoT Explorer kan läsa enhetsmodellen som anges av en plug and play-enhet och presentera information som är specifik för den enheten.

Så här kommer du åt IoT Plug and Play-komponenter för enheten i IoT Explorer:

  1. I hemvyn i IoT Explorer väljer du IoT-hubbar och sedan Visa enheter i den här hubben.

  2. Välj din enhet.

  3. Välj IoT Plug and Play-komponenter.

  4. Välj Standardkomponent. IoT Explorer visar de IoT Plug and Play-komponenter som implementeras på enheten.

    Skärmbild av enhetens standardkomponent i IoT Explorer.

  5. På fliken Gränssnitt visar du JSON-innehållet i enhetsmodellen Beskrivning. JSON innehåller konfigurationsinformation för var och en av IoT Plug and Play-komponenterna i enhetsmodellen.

    Kommentar

    Namnet och beskrivningen för standardkomponenten refererar till Renesas RX65N-tavlan.

    Varje flik i IoT Explorer motsvarar en av IoT Plug and Play-komponenterna i enhetsmodellen.

    Tabb Typ Name beskrivning
    Gränssnitt Gränssnitt RX65N Cloud Kit Getting Started Guide Exempelmodell för guiden Komma igång med Azure RTOS RX65N Cloud Kit
    Egenskaper (skrivskyddade) Property ledState Om lysdioderna är på eller av
    Egenskaper (skrivbara) Property telemetryInterval Intervallet som enheten skickar telemetri
    Kommandon Command setLedState Slå på eller av lysdioderna

Så här visar du enhetsegenskaper med Azure IoT Explorer:

  1. Välj fliken Egenskaper (skrivskyddad). Det finns en enda skrivskyddad egenskap som anger om lysdioderna är på eller av.

  2. Välj fliken Egenskaper (skrivbar). Det visar intervallet som telemetri skickas.

  3. telemetryInterval Ändra till 5 och välj sedan Uppdatera önskat värde. Enheten använder nu det här intervallet för att skicka telemetri.

    Skärmbild av inställning av telemetriintervall på enheten i IoT Explorer.

  4. IoT Explorer svarar med ett meddelande. Du kan också se uppdateringen i Termite.

  5. Ange telemetriintervallet tillbaka till 10.

Så här använder du Azure CLI för att visa enhetsegenskaper:

  1. Kör kommandot az iot hub device-twin show.

    az iot hub device-twin show --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Granska egenskaperna för enheten i konsolens utdata.

Visa telemetri

Med Azure IoT Explorer kan du visa flödet av telemetri från din enhet till molnet. Du kan också göra samma uppgift med hjälp av Azure CLI.

Så här visar du telemetri i Azure IoT Explorer:

  1. I fönstret IoT Plug and Play-komponenter (standardkomponent) för enheten i IoT Explorer väljer du fliken Telemetri . Bekräfta att Använd inbyggd händelsehubb är inställd på Ja.

  2. Välj start.

  3. Visa telemetrin när enheten skickar meddelanden till molnet.

    Skärmbild av enhetstelemetri i IoT Explorer.

    Kommentar

    Du kan också övervaka telemetri från enheten med hjälp av Termite-appen.

  4. Markera kryssrutan Visa modellerade händelser för att visa händelserna i det dataformat som anges av enhetsmodellen.

    Skärmbild av modellerade telemetrihändelser i IoT Explorer.

  5. Välj Stoppa för att avsluta mottagandet av händelser.

Så här använder du Azure CLI för att visa enhetstelemetri:

  1. Kör kommandot az iot hub monitor-events. Använd de namn som du skapade tidigare i Azure IoT för din enhet och IoT Hub.

    az iot hub monitor-events --device-id mydevice --hub-name {YourIoTHubName}
    
  2. Visa JSON-utdata i konsolen.

     {
         "event": {
             "origin": "mydevice",
             "module": "",
             "interface": "dtmi:azurertos:devkit:gsgrx65ncloud;1",
             "component": "",
             "payload": {
                 "gyroscopeX": 1,
                 "gyroscopeY": -2,
                 "gyroscopeZ": 5
             }
         }
     }
    
  3. Välj CTRL+C för att avsluta övervakningen.

Anropa en direktmetod på enheten

Du kan också använda Azure IoT Explorer för att anropa en direktmetod som du har implementerat på enheten. Direkta metoder har ett namn och kan eventuellt ha en JSON-nyttolast, konfigurerbar anslutning och tidsgräns för metoden. I det här avsnittet anropar du en metod som aktiverar eller inaktiverar en lysdiod. Du kan också göra samma uppgift med hjälp av Azure CLI.

Anropa en metod i Azure IoT Explorer:

  1. I fönstret IoT Plug and Play-komponenter (standardkomponent) för enheten i IoT Explorer väljer du fliken Kommandon .

  2. För kommandot setLedState anger du tillståndet till Ja.

  3. Välj Kommandot Skicka. Du bör se ett meddelande i IoT Explorer och den röda LED-lampan på enheten ska aktiveras.

    Skärmbild av att anropa metoden setLedState i IoT Explorer.

  4. Ange tillståndet till Nej och välj sedan Kommandot Skicka. Lysdioderna ska stängas av.

  5. Du kan också visa utdata i Termite för att övervaka metodernas status.

Så här använder du Azure CLI för att anropa en metod:

  1. Kör kommandot az iot hub invoke-device-method och ange metodnamnet och nyttolasten. För den här metoden aktiverar du method-payloadtrue lysdioderna och ställer in den så att false den inaktiveras.

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

    CLI-konsolen visar statusen för metodanropet på enheten, där 200 indikerar att det lyckades.

    {
      "payload": {},
      "status": 200
    }
    
  2. Kontrollera enheten för att bekräfta LED-tillståndet.

  3. Visa Termite-terminalen för att bekräfta utdatameddelandena:

     Received command: setLedState
         Payload: true
         LED is turned ON
     Sending property: $iothub/twin/PATCH/properties/reported/?$rid=23{"ledState":true}
    

Felsöka och felsöka

Om du har problem med att skapa enhetskoden, flasha enheten eller ansluta kan du läsa Felsökning.

Information om hur du felsöker programmet finns i Felsökning med Visual Studio Code.

Rensa resurser

Om du inte längre behöver de Azure-resurser som skapats i den här snabbstarten kan du använda Azure CLI för att ta bort resursgruppen och alla dess resurser.

Viktigt!

Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser som ingår i den tas bort permanent. Kontrollera att du inte av misstag tar bort fel resursgrupp eller resurser.

Ta bort en resursgrupp med namnet:

  1. Kör kommandot az group delete. Det här kommandot tar bort resursgruppen, IoT Hub och enhetsregistreringen som du skapade.

    az group delete --name MyResourceGroup
    
  2. Kör kommandot az group list för att bekräfta att resursgruppen har tagits bort.

    az group list
    

Nästa steg

I den här snabbstarten skapade du en anpassad avbildning som innehåller Azure RTOS-exempelkod och flashade sedan avbildningen till Renesas RX65N-enheten. Du har anslutit Renesas RX65N till Azure och utfört uppgifter som att visa telemetri och anropa en metod på enheten.

Som ett nästa steg kan du utforska följande artiklar för att lära dig mer om hur du använder IoT-enhets-SDK:er eller Azure RTOS för att ansluta enheter till Azure IoT.

Viktigt!

Azure RTOS tillhandahåller OEM-tillverkare med komponenter för säker kommunikation och för att skapa kod- och dataisolering med hjälp av underliggande mekanismer för MCU/MPU-maskinvaruskydd. Varje OEM-tillverkare är dock ytterst ansvarig för att se till att deras enhet uppfyller de växande säkerhetskrav som utvecklas.