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:
Wed Mar 27 19:02:10 2019 +0000
Revision:
5:1456ec2e8485
Parent:
4:97dc5666359a
Improve inline documentation

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 3:66358c889c39 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 3:66358c889c39 30 },
screamer 3:66358c889c39 31 "TB_SENSE_12": {
screamer 3:66358c889c39 32 "target.components_add" : ["SPIF"],
screamer 3:66358c889c39 33 "spif-driver.SPI_MOSI" : "PK0",
screamer 3:66358c889c39 34 "spif-driver.SPI_MISO" : "PK2",
screamer 3:66358c889c39 35 "spif-driver.SPI_CLK" : "PF7",
screamer 3:66358c889c39 36 "spif-driver.SPI_CS" : "PK1",
screamer 3:66358c889c39 37 "spif-driver.SPI_FREQ" : 10000000,
screamer 3:66358c889c39 38 "target.network-default-interface-type" : "MESH",
screamer 3:66358c889c39 39 "mbed-mesh-api.thread-config-channel" : 22,
screamer 3:66358c889c39 40 "mbed-mesh-api.thread-config-panid" : "0x0700",
screamer 3:66358c889c39 41 "nsapi.default-mesh-type" : "THREAD",
screamer 3:66358c889c39 42 "nanostack.configuration" : "thread_router",
screamer 3:66358c889c39 43 "device-management.mcc_transport_mode" : 2,
screamer 3:66358c889c39 44 "mbed-client-pal.pal-dns-api-version" : 2,
screamer 3:66358c889c39 45 "nanostack-hal.event_loop_thread_stack_size": 8192,
screamer 3:66358c889c39 46 "mbed-client.event-loop-size" : 32768,
screamer 3:66358c889c39 47 "mbed-client.reconnection-count" : 6,
screamer 3:66358c889c39 48 "device-management.flash-start-address" : "0x0",
screamer 3:66358c889c39 49 "device-management.flash-size" : "(1024*1024)",
screamer 3:66358c889c39 50 "device-management.sotp-section-1-address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 2*(4*1024))",
screamer 3:66358c889c39 51 "device-management.sotp-section-1-size" : "(4*1024)",
screamer 3:66358c889c39 52 "device-management.sotp-section-2-address" : "(MBED_CONF_APP_FLASH_START_ADDRESS + MBED_CONF_APP_FLASH_SIZE - 1*(4*1024))",
screamer 3:66358c889c39 53 "device-management.sotp-section-2-size" : "(4*1024)",
screamer 3:66358c889c39 54 "target.features_add" : ["BOOTLOADER"],
screamer 3:66358c889c39 55 "target.bootloader_img" : "bootloader/mbed-bootloader-TB_SENSE_12.bin",
screamer 3:66358c889c39 56 "target.restrict_size" : "0xC0000",
screamer 3:66358c889c39 57 "target.header_offset" : "0x10000",
screamer 3:66358c889c39 58 "target.app_offset" : "0x10400",
screamer 3:66358c889c39 59 "update-client.application-details" : "(MBED_CONF_APP_FLASH_START_ADDRESS + 64*1024)",
screamer 3:66358c889c39 60 "update-client.storage-address" : "(256*1024)",
screamer 3:66358c889c39 61 "update-client.storage-size" : "(768*1024)",
screamer 3:66358c889c39 62 "update-client.storage-locations" : "(1)",
screamer 3:66358c889c39 63 "button-pressed-state" : 0,
screamer 3:66358c889c39 64 "tests-fs-size" : "(256*1024)"
screamer 0:bf13418ff7b0 65 }
screamer 0:bf13418ff7b0 66 },
screamer 0:bf13418ff7b0 67 "config": {
screamer 0:bf13418ff7b0 68 "format-storage-layer-on-error": {
screamer 0:bf13418ff7b0 69 "help": "Whether to format the storage layer when it cannot be read - always disable for production devices!",
screamer 0:bf13418ff7b0 70 "value": 1
screamer 0:bf13418ff7b0 71 },
screamer 0:bf13418ff7b0 72 "main-stack-size": {
screamer 0:bf13418ff7b0 73 "value": 6000
screamer 0:bf13418ff7b0 74 },
screamer 0:bf13418ff7b0 75 "use-button": {
screamer 0:bf13418ff7b0 76 "help": "Whether the target has a button",
screamer 0:bf13418ff7b0 77 "macro_name": "USE_BUTTON",
screamer 0:bf13418ff7b0 78 "value": true
screamer 0:bf13418ff7b0 79 },
screamer 0:bf13418ff7b0 80 "button-pressed-state": {
screamer 0:bf13418ff7b0 81 "help": "Value of the button when pressed",
screamer 0:bf13418ff7b0 82 "value": 1
screamer 3:66358c889c39 83 },
screamer 3:66358c889c39 84 "no_led": {
screamer 3:66358c889c39 85 "help": "This flag disables the heartbeat thread in tests. This is useful for platforms that don't have an LED or the LED is used for other functionality like LED on the SPI clockline etc",
screamer 3:66358c889c39 86 "value": null
screamer 3:66358c889c39 87 },
screamer 3:66358c889c39 88 "tests-fs-size": {
screamer 3:66358c889c39 89 "help": "Maximum size of the file system used for tests",
screamer 3:66358c889c39 90 "value": null
screamer 0:bf13418ff7b0 91 }
screamer 0:bf13418ff7b0 92 }
screamer 0:bf13418ff7b0 93 }