Skip to content

Latest commit

 

History

History
 
 

RSK_RX65N_2MB

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
page_type description languages products
sample
Connecting a Renesas Starter Kit+ for RX65N-2MB to Azure IoT using Azure RTOS
c
azure-iot
azure-iot-pnp
azure-rtos
azure-iot-dps
azure-iot-hub

Getting started with the Renesas Starter Kit+ for RX65N-2MB

Total completion time: 30 minutes

In this tutorial you use Azure RTOS to connect the Renesas Starter Kit+ for RX65N-2MB (hereafter, the Renesas RX65N) to Azure IoT. The article is part of the series Getting Started with Azure RTOS. The series introduces device developers to Azure RTOS, and shows how to connect several device evaluation kits to Azure IoT.

You will complete the following tasks:

  • Install a set of embedded development tools for programming the Renesas RX65N in C
  • Build an image and flash it onto the Renesas RX65N
  • Use Azure IoT Central to create cloud components, view properties, view device telemetry, and call direct commands

Prerequisites

Prepare the development environment

To set up your development environment, first you clone a GitHub repo that contains all the assets you need for the tutorial. Then you install a set of programming tools.

Clone the repo for the tutorial

Clone the following repo to download all sample device code, setup scripts, and offline versions of the documentation. If you previously cloned this repo in another tutorial, you don't need to do it again.

To clone the repo, run the following command:

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

Install the tools

The cloned repo contains a setup script that installs and configures the required tools. If you installed these tools in another tutorial in the getting started guide, you don't need to do it again.

Note: The setup script installs the following tools:

To install the tools:

  1. From File Explorer, navigate to the following path in the repo and run the setup script named get-toolchain-rx.bat:

    getting-started\tools\get-toolchain-rx.bat

  2. Add the RX compiler to the Windows Path:

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

  3. After the installation, open a new console window to recognize the configuration changes made by the setup script. Use this console to complete the remaining programming tasks in the tutorial. You can use Windows CMD, PowerShell, or Git Bash for Windows.

  4. Run the following commands to confirm that CMake version 3.14 or later is installed and the RX compiler path is setup correctly.

    cmake --version
    rx-elf-gcc

To install the remaining tools:

  1. Install Renesas Flash Programmer. The Renesas Flash Programmer contains the drivers and tools needed to flash the Renesas RX65N via the Renesas E2 Lite.

Create the cloud components

Create the IoT Central Application

There are several ways to connect devices to Azure IoT. In this section, you learn how to connect a device by using Azure IoT Central. IoT Central is an IoT application platform that reduces the cost and complexity of creating and managing IoT solutions.

To create a new application:

  1. From Azure IoT Central portal, select My apps on the side navigation menu.

  2. Select + New application.

  3. Select Custom apps.

  4. Add Application Name and a URL.

  5. Choose the Free Pricing plan to activate a 7-day trial.

    IoT Central create an application

  6. Select Create.

  7. After IoT Central provisions the application, it redirects you automatically to the new application dashboard.

    Note: If you have an existing IoT Central application, you can use it to complete the steps in this article rather than create a new application.

Create a new device

In this section, you use the IoT Central application dashboard to create a new device. You will use the connection information for the newly created device to securely connect your physical device in a later section.

To create a device:

  1. From the application dashboard, select Devices on the side navigation menu.

  2. Select + New to bring up the Create a new device window.

  3. Leave Device template as Unassigned.

  4. Fill in the desired Device name and Device ID.

    IoT Central create a device

  5. Select the Create button.

  6. The newly created device will appear in the All devices list. Select on the device name to show details.

  7. Select Connect in the top right menu bar to display the connection information used to configure the device in the next section.

    IoT Central create a device

  8. Note the connection values for the following connection string parameters displayed in Connect dialog. You'll add these values to a configuration file in the next step:

  • ID scope
  • Device ID
  • Primary key

Prepare the device

To connect the STM DevKit to Azure, you'll modify a configuration file for Wi-Fi and Azure IoT settings, rebuild the image, and flash the image to the device.

Add configuration

  1. Open the following file in a text editor:

    getting-started\Renesas\RSK_RX65N_2MB\app\azure_config.h

  2. Set the Azure IoT device information constants to the values that you saved after you created Azure resources.

    Constant name Value
    IOT_DPS_ID_SCOPE {Your ID scope value}
    IOT_DPS_REGISTRATION_ID {Your Device ID value}
    IOT_DEVICE_SAS_KEY {Your Primary key value}
  3. Save and close the file.

Build the image

In your console or in File Explorer, run the script rebuild.bat at the following path to build the image:

getting-started\Renesas\RSK_RX65N_2MB\tools\rebuild.bat

After the build completes, confirm that the binary file was created in the following path:

getting-started\Renesas\RSK_RX65N_2MB\build\app\rx65n_azure_iot.hex

Connect the device

Note: For more details about setting up and getting started with the Renesas RX65N, see Renesas Starter Kit+ for RX65N-2MB Quick Start.

  1. Complete the following steps using the following image as a reference.

    Renesas RX65N reset, power, ethernet, USB and E1/E2Lite

  2. Using the 5V power supply, connect the Power Input on the Renesas RX65N to an electrical outlet.

  3. Using the Ethernet cable, connect the Ethernet on the Renesas RX65N to your router.

  4. Using the first Mini USB cable, connect the USB Serial on the Renesas RX65N to your computer.

  5. Using the second Mini USB cable, connect the E2 Lite USB Serial on the Renesas E2 Lite to your computer.

  6. Using the supplied ribbon cable, connect the E1/E2Lite on the Renesas RX65N to the Renesas E2 Lite.

Flash the image

  1. Launch the Renesas Flash Programmer application from the Start menu.

  2. Select New Project... from the File menu, and enter the following settings:

    • Microcontroller: RX65x
    • Project Name: RX65N
    • Tool: E2 emulator Lite

    Renesas Flash Programmer, New Project

  3. Select the Tool Details button, and navigate to the Reset Settings tab.

  4. Select Reset Pin as Hi-Z and press the OK button.

    Renesas Flash Programmer, Reset Settings

  5. Press the Connect button and when prompted, check the Auto Authentication checkbox and then press OK.

    Renesas Flash Programmer, Authentication

  6. Select the Browse... button and locate the rx65n_azure_iot.hex file created in the previous section.

  7. Press Start to begin flashing. This process will take approximately 10 seconds.

Confirm device connection details

You can use the Termite utility to monitor communication and confirm that your device is set up correctly.

Note: If you have issues getting your device to initialize or connect after flashing, see Troubleshooting.

  1. Start Termite.

  2. Select Settings.

  3. In the Serial port settings dialog, check the following settings and update if needed:

    • Baud rate: 115,200
    • Port: The port that your Renesas RX65N is connected to. If there are multiple port options in the dropdown, you can find the correct port to use. Open Windows Device Manager, and view Ports to identify which port to use.

    Termite

  4. Select OK.

  5. Press the Reset button on the device.

  6. In the Termite console, check the following checkpoint values to confirm that the device is initialized and connected to Azure IoT.

    Starting Azure thread
    
    Initializing DHCP
    	IP address: 10.0.0.123
    	Mask: 255.255.255.0
    	Gateway: 10.0.0.1
    SUCCESS: DHCP initialized
    
    Initializing DNS client
    	DNS address: 10.0.0.1
    SUCCESS: DNS client initialized
    
    Initializing SNTP client
    	SNTP server 0.pool.ntp.org
    	SNTP IP address: 185.242.56.3
    	SNTP time update: Nov 16, 2020 23:47:35.385 UTC 
    SUCCESS: SNTP initialized
    
    Initializing Azure IoT DPS client
    	DPS endpoint: global.azure-devices-provisioning.net
    	DPS ID scope: ***
    	Registration ID: ***
    SUCCESS: Azure IoT DPS client initialized
    
    Initializing Azure IoT Hub client
    	Hub hostname: ***
    	Device id: ***
    	Model id: dtmi:azurertos:devkit:gsg;1
    Connected to IoTHub
    SUCCESS: Azure IoT Hub client initialized
    
    Starting Main loop
    

Keep Termite open to monitor device output in the following steps.

Verify the device status

To view the device status in IoT Central portal:

  1. From the application dashboard, select Devices on the side navigation menu.

  2. Check the Device status of the device is updated to Provisioned.

  3. Check the Device template of the device has updated to Getting Stared Guide.

    IoT Central device status

View telemetry

With IoT Central, you can view the flow of telemetry from your device to the cloud.

To view telemetry in IoT Central portal:

  1. From the application dashboard, select Devices on the side navigation menu.

  2. Select the device from the device list.

  3. View the telemetry as the device sends messages to the cloud in the Overview tab.

    IoT Central device telemetry

Note: You can also monitor telemetry from the device by using the Termite terminal.

Call a direct method on the device

You can also use IoT Central to call a direct method that you have implemented on your device. Direct methods have a name, and can optionally have a JSON payload, configurable connection, and method timeout. In this section, you call a method that enables you to turn an LED on or off.

To call a method in IoT Central portal:

  1. Select Command tab from the device page.

  2. Select State and select Run. The LED light should turn on.

    IoT Central invoke method

  3. Unselect State and select Run. The LED light should turn off.

View device information

You can view the device information from IoT Central.

Select About tab from the device page. IoT Central device info

Clean up resources

If you no longer need the Azure resources created in this tutorial, you can delete them from the IoT Central portal. Optionally, if you continue to another tutorial in this Getting Started guide, you can keep the resources you've already created and reuse them.

To keep the Azure IoT Central sample application but remove only specific devices:

  1. Select the Devices tab for your application.
  2. Select the device from the device list.
  3. Select Delete.

To remove the entire Azure IoT Central sample application and all its devices and resources:

  1. Select Administration > Your application.
  2. Select Delete.

Next Steps

In this tutorial you built a custom image that contains Azure RTOS sample code, and then flashed the image to the Renesas RX65N device. You also used the Azure CLI to create Azure resources, connect the Renesas RX65N securely to Azure, view telemetry, and send messages.

  • For device developers, the suggested next step is to see the other tutorials in the series Getting started with Azure RTOS.
  • If you have issues getting your device to initialize or connect after following the steps in this guide, see Troubleshooting.
  • To learn more about how Azure RTOS components are used in the sample code for this tutorial, see Using Azure RTOS in the Getting Started Guides.

    Note: Azure RTOS provides OEMs with components to secure communication and to create code and data isolation using underlying MCU/MPU hardware protection mechanisms. However, each OEM is ultimately responsible for ensuring that their device meets evolving security requirements.