Command-line tutorial for Device Management Client Lite with an Mbed OS device
This tutorial covers an end-to-end flow for using the Device Management Client Lite example application:
- Cloning the Device Management Client Lite repository.
- Getting Device Management PSK credentials for the device.
- Preparing the application for an update.
- Compiling and flashing Device Management Client.
- Connecting and performing a firmware update on your device.
Tip: You need access to the restricted GitHub repository referenced in this section. If you cannot access it or other repositories, please contact us.
Tip: You need to read and accept the PSK license in Device Management Portal. You can find it in Device Identity > Client Lite keys > UPLOAD A NEW PRE-SHARED KEY.
Supported boards
You can use this tutorial with the following boards:
Board/MCU | Default stack | DAPLink or STLink |
---|---|---|
K64F |
Ethernet | DAPLink |
K64F |
WiFi* |
DAPLink |
NUCLEO_F429ZI |
Ethernet | STLink |
*
To use Wi-Fi, replace the root folder mbed_app.json
with ./configs/wifi_esp8266_v4.json
, and update with your own SSID and Password to the configuration file.
Note: The --app-config
option is not supported, as the application configuration files contain relative paths to the bootloader files.
Prerequisites
To work with the Device Management Client Lite example application, you need the following:
- A supported board with a network connection.
- Serial connection to your device with open terminal connection (baud rate 115200, 8N1).
- Mbed CLI installed (Mbed CLI 1.8.0 and Mbed OS 5.10 or later versions).
- Make sure that all Python components are in par with the
pip
package requirements.txt list from Mbed OS.
- Make sure that all Python components are in par with the
- An API key for your Device Management account.
- Updated DAPLink software (version 250 or later), if your board uses DAPLink.
- Tools and accounts.
Clone the Device Management Client Lite repository
Clone the embedded application's GitHub repository to your local computer and navigate to the new folder:
mbed import https://github.com/ARMmbed/mbed-client-lite-example-restricted
cd mbed-client-lite-example-restricted
Getting Device Management PSK credentials for the device
Device Management Portal can generate the mbed_cloud_dev_credentials.c
file for you when you upload your PSK:
- Log in to Device Management Portal.
- Navigate to Device Identity > Client Lite keys.
- Click UPLOAD A NEW PRE-SHARED KEY.
- Click GENERATE RANDOM KEY.
- This generates a random unique PSK ID and PSK using the browser's crypto library. You can also specify your own PSK ID, and only a random PSK is generated for you.
- Click Upload.
- A popup opens with the code you copy into your
mbed_cloud_dev_credentials.c
file. - In the
mbed_cloud_dev_credentials.c
file, the PSK must be in C format:const uint8_t MBED_CLOUD_DEV_BOOTSTRAP_PRE_SHARED_KEY_SECRET[] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF};
- A popup opens with the code you copy into your
- Click Download generated developer C file and place the downloaded
mbed_cloud_dev_credentials.c
file in the root of the Device Management Client Lite application.
Preparing the application for an update
-
Set up the repository for updates using the manifest tool:
manifest-tool init -a <api key> -d "mydomain.com" -m "product model ID" --force -q --psk
Note: The
--force
option overrides the defaultupdate_default_resources.c
that ships with thembed-client-lite-example
.Note: The
mydomain.com
andproduct model ID
are a string of your choice (alphanumeric only, no special characters, and the domain name must contain a.
). -
When the command completes, you can see a new directory called
.update-certificates
in the root directory of the example application. This directory contains the PSK needed for update (default.master.psk
).
Note: The certificates generated above are not suitable for production environments. Use them only for testing and development. For details on certificates and key generation, read the manifest tool documentation.
Compiling the application
To compile the application, give the following commands:
mbed target <MCU>
mbed toolchain GCC_ARM
mbed compile
Read more detailed instructions on all the parameters related to Mbed CLI and mbed
command.
Flashing the binary to the device
To flash the binary to the device:
- Connect the device to your computer over USB. It's listed as a mass storage device.
- Drag and drop
mbed-client-lite-example-restricted.bin
to the device. This flashes the binary to the device. You should see the LED blink rapidly; wait for it to stop.
Connecting and performing a firmware update on your device
Checking the device connection and obtaining the Device ID
- Press the Reset button to restart the device.
- Obtain your device's Device ID either from device console logs or from the Device Management Portal.
The terminal gives the following information when the Client has successfully connected:
Client registered
Endpoint Name: <Endpoint name>
Device Id: <Device ID>
In Device Management Portal:
- Open Device Management Portal.
- Navigate to Device directory.
- If your device is listed, it is connected and available.
Your device is now connected and ready for the firmware update.
Updating the firmware
Read the Update tutorial to learn how to generate the manifest and an update campaign.