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:
2:7f7e92f02807
Improve inline documentation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 1:0880bc9829b9 1 // ----------------------------------------------------------------------------
screamer 1:0880bc9829b9 2 // Copyright 2016-2017 ARM Ltd.
screamer 1:0880bc9829b9 3 //
screamer 1:0880bc9829b9 4 // SPDX-License-Identifier: Apache-2.0
screamer 1:0880bc9829b9 5 //
screamer 1:0880bc9829b9 6 // Licensed under the Apache License, Version 2.0 (the "License");
screamer 1:0880bc9829b9 7 // you may not use this file except in compliance with the License.
screamer 1:0880bc9829b9 8 // You may obtain a copy of the License at
screamer 1:0880bc9829b9 9 //
screamer 1:0880bc9829b9 10 // http://www.apache.org/licenses/LICENSE-2.0
screamer 1:0880bc9829b9 11 //
screamer 1:0880bc9829b9 12 // Unless required by applicable law or agreed to in writing, software
screamer 1:0880bc9829b9 13 // distributed under the License is distributed on an "AS IS" BASIS,
screamer 1:0880bc9829b9 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
screamer 1:0880bc9829b9 15 // See the License for the specific language governing permissions and
screamer 1:0880bc9829b9 16 // limitations under the License.
screamer 1:0880bc9829b9 17 // ----------------------------------------------------------------------------
screamer 2:7f7e92f02807 18
screamer 1:0880bc9829b9 19 #ifdef MBED_CLOUD_CLIENT_USER_CONFIG_FILE
screamer 1:0880bc9829b9 20 #include MBED_CLOUD_CLIENT_USER_CONFIG_FILE
screamer 1:0880bc9829b9 21 #endif
screamer 2:7f7e92f02807 22
screamer 1:0880bc9829b9 23 #include <stdint.h>
screamer 2:7f7e92f02807 24
screamer 1:0880bc9829b9 25 #ifdef MBED_CLOUD_DEV_UPDATE_ID
screamer 1:0880bc9829b9 26 const uint8_t arm_uc_vendor_id[16] = { "dev_manufacturer" };
screamer 1:0880bc9829b9 27 const uint16_t arm_uc_vendor_id_size = sizeof(arm_uc_vendor_id);
screamer 2:7f7e92f02807 28
screamer 1:0880bc9829b9 29 const uint8_t arm_uc_class_id[16] = { "dev_model_number" };
screamer 1:0880bc9829b9 30 const uint16_t arm_uc_class_id_size = sizeof(arm_uc_class_id);
screamer 1:0880bc9829b9 31 #endif
screamer 2:7f7e92f02807 32
screamer 1:0880bc9829b9 33 #ifdef MBED_CLOUD_DEV_UPDATE_CERT
screamer 1:0880bc9829b9 34 const uint8_t arm_uc_default_fingerprint[32] = { 0 };
screamer 1:0880bc9829b9 35 const uint16_t arm_uc_default_fingerprint_size =
screamer 1:0880bc9829b9 36 sizeof(arm_uc_default_fingerprint);
screamer 2:7f7e92f02807 37
screamer 1:0880bc9829b9 38 const uint8_t arm_uc_default_certificate[1] = { 0 };
screamer 1:0880bc9829b9 39 const uint16_t arm_uc_default_certificate_size =
screamer 1:0880bc9829b9 40 sizeof(arm_uc_default_certificate);
screamer 2:7f7e92f02807 41 #endif