Mbed OS Device Management example for various Silicon Labs boards.

DEPRECATED

This example application is not maintained and not recommended. It uses an old version of Mbed OS, Pelion DM, and Arm toolchain. It doesn't work with Mbed Studio.

Please use: https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-pelion/

This example is known to work great on the following platforms:

Follow the Quick-Start instructions: https://cloud.mbed.com/quick-start

Thunderboard Sense 2 EFM32 Giant Gecko 11

Example functionality

This example showcases the following device functionality:

  • On user button click, increment Pelion LWM2M button resource.
  • Allow the user to change the state of the board LED from Pelion LWM2M led_state resource and PUT request.

Use this example with Mbed CLI

1. Import the application into your desktop:

mbed import https://os.mbed.com/teams/SiliconLabs/code/pelion-example-common

cd pelion-example-common

2. Install the CLOUD_SDK_API_KEY

mbed config -G CLOUD_SDK_API_KEY <PELION_DM_API_KEY>

For instructions on how to generate your API key, please see the documentation.

3. Initialize firmware credentials (done once per repository). You can use the following command:

mbed dm init -d "<your company name in Pelion DM>" --model-name "<product model identifier>" -q --force

If above command do not work for your Mbed CLI, please consider upgrading Mbed CLI to version 1.8.x or above.

4. Compile and program:

mbed compile -t <toolchain> -m <TARGET_BOARD>

(supported toolchains : GCC_ARM / ARM / IAR)

Committer:
screamer
Date:
Tue Feb 19 20:32:04 2019 +0000
Revision:
1:0880bc9829b9
Parent:
0:bf13418ff7b0
Child:
3:66358c889c39
Update main application and add default credentials

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 0:bf13418ff7b0 1 {
screamer 0:bf13418ff7b0 2 "target_overrides": {
screamer 0:bf13418ff7b0 3 "*": {
screamer 0:bf13418ff7b0 4 "target.components_remove" : ["FLASHIAP"],
screamer 0:bf13418ff7b0 5 "platform.stdio-baud-rate" : 115200,
screamer 0:bf13418ff7b0 6 "platform.stdio-convert-newlines" : true,
screamer 0:bf13418ff7b0 7 "mbed-trace.enable" : null,
screamer 0:bf13418ff7b0 8 "nsapi.default-wifi-security" : "WPA_WPA2",
screamer 0:bf13418ff7b0 9 "nsapi.default-wifi-ssid" : "\"SSID\"",
screamer 0:bf13418ff7b0 10 "nsapi.default-wifi-password" : "\"password\""
screamer 0:bf13418ff7b0 11 },
screamer 0:bf13418ff7b0 12 "EFM32GG11_STK3701": {
screamer 0:bf13418ff7b0 13 "target.components_add" : ["QSPIF"],
screamer 0:bf13418ff7b0 14 "qspif.QSPI_FREQ" : 10000000,
screamer 0:bf13418ff7b0 15 "device-management.flash-start-address" : "0x0",
screamer 0:bf13418ff7b0 16 "device-management.flash-size" : "(2*1024*1024)",
screamer 0:bf13418ff7b0 17 "device-management.sotp-section-1-address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 2*(4*1024))",
screamer 0:bf13418ff7b0 18 "device-management.sotp-section-1-size" : "(4*1024)",
screamer 0:bf13418ff7b0 19 "device-management.sotp-section-2-address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 1*(4*1024))",
screamer 0:bf13418ff7b0 20 "device-management.sotp-section-2-size" : "(4*1024)",
screamer 0:bf13418ff7b0 21 "update-client.application-details" : "(MBED_CONF_APP_FLASH_START_ADDRESS + 64*1024)",
screamer 0:bf13418ff7b0 22 "update-client.storage-address" : "(2*1024*1024)",
screamer 0:bf13418ff7b0 23 "update-client.storage-size" : "(2*1024*1024)",
screamer 0:bf13418ff7b0 24 "update-client.storage-locations" : "1",
screamer 0:bf13418ff7b0 25 "target.features_add" : ["BOOTLOADER"],
screamer 0:bf13418ff7b0 26 "target.bootloader_img" : "bootloader/mbed-bootloader-EFM32GG11_STK3701.bin",
screamer 0:bf13418ff7b0 27 "target.header_offset" : "0x10000",
screamer 1:0880bc9829b9 28 "target.app_offset" : "0x10400",
screamer 1:0880bc9829b9 29 "button-pressed-state" : 0
screamer 0:bf13418ff7b0 30 }
screamer 0:bf13418ff7b0 31 },
screamer 0:bf13418ff7b0 32 "config": {
screamer 0:bf13418ff7b0 33 "format-storage-layer-on-error": {
screamer 0:bf13418ff7b0 34 "help": "Whether to format the storage layer when it cannot be read - always disable for production devices!",
screamer 0:bf13418ff7b0 35 "value": 1
screamer 0:bf13418ff7b0 36 },
screamer 0:bf13418ff7b0 37 "main-stack-size": {
screamer 0:bf13418ff7b0 38 "value": 6000
screamer 0:bf13418ff7b0 39 },
screamer 0:bf13418ff7b0 40 "use-button": {
screamer 0:bf13418ff7b0 41 "help": "Whether the target has a button",
screamer 0:bf13418ff7b0 42 "macro_name": "USE_BUTTON",
screamer 0:bf13418ff7b0 43 "value": true
screamer 0:bf13418ff7b0 44 },
screamer 0:bf13418ff7b0 45 "button-pressed-state": {
screamer 0:bf13418ff7b0 46 "help": "Value of the button when pressed",
screamer 0:bf13418ff7b0 47 "value": 1
screamer 0:bf13418ff7b0 48 }
screamer 0:bf13418ff7b0 49 }
screamer 0:bf13418ff7b0 50 }