Generic Pelion Device Management example for various Nuvoton-based 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

https://os.mbed.com/media/cache/platforms/NuMaker-IoT-M487_board_front_small.jpg.250x250_q85.jpghttps://os.mbed.com/media/cache/platforms/NuMaker-PFM-M487.png.170x170_q85.png https://os.mbed.com/media/cache/platforms/NuMaker-PFM-NUC472Small.png.170x170_q85.png

Example functionality

This example showcases the following device functionality:

  • On timer button increment, simulate Pelion LWM2M button resource change

Use this example with Mbed CLI


1. Import the application into your desktop:

mbed import https://os.mbed.com/teams/Nuvoton/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)

5. Copy the binary file pelion-example-common.bin to your mbed device.

Note

This platform and application is suitable for evaluation and initial development. For production purposes, we recommend to use a different variant with built-in security features

Committer:
cyliang
Date:
Tue Apr 16 10:53:01 2019 +0800
Revision:
2:f07ccb7164d3
Parent:
0:e0138281f21d
SMCC 2.2.1.2 migration for 3 NuMaker platforms

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sam Chu 0:e0138281f21d 1 /*
Sam Chu 0:e0138281f21d 2 * Copyright (c) 2017 ARM Limited. All rights reserved.
Sam Chu 0:e0138281f21d 3 * SPDX-License-Identifier: Apache-2.0
Sam Chu 0:e0138281f21d 4 * Licensed under the Apache License, Version 2.0 (the License); you may
Sam Chu 0:e0138281f21d 5 * not use this file except in compliance with the License.
Sam Chu 0:e0138281f21d 6 * You may obtain a copy of the License at
Sam Chu 0:e0138281f21d 7 *
Sam Chu 0:e0138281f21d 8 * http://www.apache.org/licenses/LICENSE-2.0
Sam Chu 0:e0138281f21d 9 *
Sam Chu 0:e0138281f21d 10 * Unless required by applicable law or agreed to in writing, software
Sam Chu 0:e0138281f21d 11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
Sam Chu 0:e0138281f21d 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Sam Chu 0:e0138281f21d 13 * See the License for the specific language governing permissions and
Sam Chu 0:e0138281f21d 14 * limitations under the License.
Sam Chu 0:e0138281f21d 15 */
Sam Chu 0:e0138281f21d 16 #ifndef __MBED_CLOUD_DEV_CREDENTIALS_H__
Sam Chu 0:e0138281f21d 17 #define __MBED_CLOUD_DEV_CREDENTIALS_H__
Sam Chu 0:e0138281f21d 18
Sam Chu 0:e0138281f21d 19 #if MBED_CONF_APP_DEVELOPER_MODE == 1
Sam Chu 0:e0138281f21d 20 #error "Replace mbed_cloud_dev_credentials.c with your own developer cert."
Sam Chu 0:e0138281f21d 21 #endif
Sam Chu 0:e0138281f21d 22
Sam Chu 0:e0138281f21d 23 #include <inttypes.h>
Sam Chu 0:e0138281f21d 24
Sam Chu 0:e0138281f21d 25 const char MBED_CLOUD_DEV_BOOTSTRAP_ENDPOINT_NAME[] = "";
Sam Chu 0:e0138281f21d 26 const char MBED_CLOUD_DEV_ACCOUNT_ID[] = "";
Sam Chu 0:e0138281f21d 27 const char MBED_CLOUD_DEV_BOOTSTRAP_SERVER_URI[] = "";
Sam Chu 0:e0138281f21d 28
Sam Chu 0:e0138281f21d 29 const uint8_t MBED_CLOUD_DEV_BOOTSTRAP_DEVICE_CERTIFICATE[] =
Sam Chu 0:e0138281f21d 30 { 0x0 };
Sam Chu 0:e0138281f21d 31
Sam Chu 0:e0138281f21d 32 const uint8_t MBED_CLOUD_DEV_BOOTSTRAP_SERVER_ROOT_CA_CERTIFICATE[] =
Sam Chu 0:e0138281f21d 33 { 0x0 };
Sam Chu 0:e0138281f21d 34
Sam Chu 0:e0138281f21d 35 const uint8_t MBED_CLOUD_DEV_BOOTSTRAP_DEVICE_PRIVATE_KEY[] =
Sam Chu 0:e0138281f21d 36 { 0x0 };
Sam Chu 0:e0138281f21d 37
Sam Chu 0:e0138281f21d 38 const char MBED_CLOUD_DEV_MANUFACTURER[] = "dev_manufacturer";
Sam Chu 0:e0138281f21d 39
Sam Chu 0:e0138281f21d 40 const char MBED_CLOUD_DEV_MODEL_NUMBER[] = "dev_model_num";
Sam Chu 0:e0138281f21d 41
Sam Chu 0:e0138281f21d 42 const char MBED_CLOUD_DEV_SERIAL_NUMBER[] = "0";
Sam Chu 0:e0138281f21d 43
Sam Chu 0:e0138281f21d 44 const char MBED_CLOUD_DEV_DEVICE_TYPE[] = "dev_device_type";
Sam Chu 0:e0138281f21d 45
Sam Chu 0:e0138281f21d 46 const char MBED_CLOUD_DEV_HARDWARE_VERSION[] = "dev_hardware_version";
Sam Chu 0:e0138281f21d 47
Sam Chu 0:e0138281f21d 48 const uint32_t MBED_CLOUD_DEV_MEMORY_TOTAL_KB = 0;
Sam Chu 0:e0138281f21d 49 const uint32_t MBED_CLOUD_DEV_BOOTSTRAP_DEVICE_CERTIFICATE_SIZE = sizeof(MBED_CLOUD_DEV_BOOTSTRAP_DEVICE_CERTIFICATE);
Sam Chu 0:e0138281f21d 50 const uint32_t MBED_CLOUD_DEV_BOOTSTRAP_SERVER_ROOT_CA_CERTIFICATE_SIZE = sizeof(MBED_CLOUD_DEV_BOOTSTRAP_SERVER_ROOT_CA_CERTIFICATE);
Sam Chu 0:e0138281f21d 51 const uint32_t MBED_CLOUD_DEV_BOOTSTRAP_DEVICE_PRIVATE_KEY_SIZE = sizeof(MBED_CLOUD_DEV_BOOTSTRAP_DEVICE_PRIVATE_KEY);
Sam Chu 0:e0138281f21d 52
Sam Chu 0:e0138281f21d 53 #endif //__MBED_CLOUD_DEV_CREDENTIALS_H__