Mbed OS and Pelion Device Management example over WIFI for DISCO_L475VG_IOT01 board

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

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 on the following platforms:

DISCO_L475E_IOT01A

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

Example functionality

This example showcases the following device functionality:

  • Read onboard temperature and humidity sensors, and report them as Pelion LWM2M resources (see image below).
  • 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.
  • Uses all onboard sensors and reports them as Pelion LWM2M resources.

/media/uploads/screamer/pelion_st_humidity_reading.png?v=2

Use this example with Mbed CLI

1. Import the application into your desktop:

mbed import https://os.mbed.com/teams/ST/code/pelion-example-disco-iot01

cd pelion-example-disco-iot01

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 DISCO_L475VG_IOT01A

(supported toolchains : GCC_ARM / ARM / IAR)

5. You can connect on a virtual terminal/COM port to the platform using:

mbed sterm -b 115200

This should give you an output similar to:

[BOOT] Mbed Bootloader
[BOOT] ARM: 00000000000000000000
[BOOT] OEM: 00000000000000000000
[BOOT] Layout: 0 80096F4
[BOOT] Active firmware integrity check:
[BOOT] SHA256: 0660E360D432225D5251461998FD8617B017098C5F1F90D5FB607BF8C27ED530
[BOOT] Version: 1553615309
[BOOT] Slot 0 is empty
[BOOT] Active firmware up-to-date
[BOOT] Application's start address: 0x8010400
[BOOT] Application's jump address: 0x8011041
[BOOT] Application's stack address: 0x20018000
[BOOT] Forwarding to application...

Starting Simple Pelion Device Management Client example
You can hold the user button during boot to format the storage and change the device identity.

Sensors configuration:
Invalid new address!
HTS221  humidity & temperature    = 0xBC
LPS22HB pressure & temperature    = 0xB1
LIS3MDL magnetometer              = 0x3D
LSM6DSL accelerometer & gyroscope = 0x6A

Connecting to the network using Wifi...
Connected to the network successfully. IP address: 192.168.1.3
Initializing Pelion Device Management Client...
Initialized Pelion Client. Registering...
Registered to Pelion Device Management. Endpoint Name: 0169********************001002d5

ADC temp:     23.0037 C,  vref:      0.3661 V
HTS221 temp:   28.700 C,  humidity:   31.90 %
LPS22HB temp:  29.600 C,  pressure: 1032.01 mbar
LIS3MDL mag:    0.217 x,  -0.284 y,  -0.053 z [gauss]
LSM6DSL acc:    0.005 x,  -0.014 y,   1.029 z [g]
LSM6DSL gyro:   0.910 x,  -0.910 y,   1.120 z [dps]
VL53L0X dist:    1855 mm
Committer:
screamer
Date:
Wed Mar 27 19:05:34 2019 +0000
Revision:
34:a5724eeaaf9d
Parent:
0:72fe5fb6309c
Remove unnecessary macros

Who changed what in which revision?

UserRevisionLine numberNew contents of line
adustm 0:72fe5fb6309c 1 Apache License
adustm 0:72fe5fb6309c 2 Version 2.0, January 2004
adustm 0:72fe5fb6309c 3 http://www.apache.org/licenses/
adustm 0:72fe5fb6309c 4
adustm 0:72fe5fb6309c 5 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
adustm 0:72fe5fb6309c 6
adustm 0:72fe5fb6309c 7 1. Definitions.
adustm 0:72fe5fb6309c 8
adustm 0:72fe5fb6309c 9 "License" shall mean the terms and conditions for use, reproduction, and
adustm 0:72fe5fb6309c 10 distribution as defined by Sections 1 through 9 of this document.
adustm 0:72fe5fb6309c 11
adustm 0:72fe5fb6309c 12 "Licensor" shall mean the copyright owner or entity authorized by the copyright
adustm 0:72fe5fb6309c 13 owner that is granting the License.
adustm 0:72fe5fb6309c 14
adustm 0:72fe5fb6309c 15 "Legal Entity" shall mean the union of the acting entity and all other entities
adustm 0:72fe5fb6309c 16 that control, are controlled by, or are under common control with that entity.
adustm 0:72fe5fb6309c 17 For the purposes of this definition, "control" means (i) the power, direct or
adustm 0:72fe5fb6309c 18 indirect, to cause the direction or management of such entity, whether by
adustm 0:72fe5fb6309c 19 contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
adustm 0:72fe5fb6309c 20 outstanding shares, or (iii) beneficial ownership of such entity.
adustm 0:72fe5fb6309c 21
adustm 0:72fe5fb6309c 22 "You" (or "Your") shall mean an individual or Legal Entity exercising
adustm 0:72fe5fb6309c 23 permissions granted by this License.
adustm 0:72fe5fb6309c 24
adustm 0:72fe5fb6309c 25 "Source" form shall mean the preferred form for making modifications, including
adustm 0:72fe5fb6309c 26 but not limited to software source code, documentation source, and configuration
adustm 0:72fe5fb6309c 27 files.
adustm 0:72fe5fb6309c 28
adustm 0:72fe5fb6309c 29 "Object" form shall mean any form resulting from mechanical transformation or
adustm 0:72fe5fb6309c 30 translation of a Source form, including but not limited to compiled object code,
adustm 0:72fe5fb6309c 31 generated documentation, and conversions to other media types.
adustm 0:72fe5fb6309c 32
adustm 0:72fe5fb6309c 33 "Work" shall mean the work of authorship, whether in Source or Object form, made
adustm 0:72fe5fb6309c 34 available under the License, as indicated by a copyright notice that is included
adustm 0:72fe5fb6309c 35 in or attached to the work (an example is provided in the Appendix below).
adustm 0:72fe5fb6309c 36
adustm 0:72fe5fb6309c 37 "Derivative Works" shall mean any work, whether in Source or Object form, that
adustm 0:72fe5fb6309c 38 is based on (or derived from) the Work and for which the editorial revisions,
adustm 0:72fe5fb6309c 39 annotations, elaborations, or other modifications represent, as a whole, an
adustm 0:72fe5fb6309c 40 original work of authorship. For the purposes of this License, Derivative Works
adustm 0:72fe5fb6309c 41 shall not include works that remain separable from, or merely link (or bind by
adustm 0:72fe5fb6309c 42 name) to the interfaces of, the Work and Derivative Works thereof.
adustm 0:72fe5fb6309c 43
adustm 0:72fe5fb6309c 44 "Contribution" shall mean any work of authorship, including the original version
adustm 0:72fe5fb6309c 45 of the Work and any modifications or additions to that Work or Derivative Works
adustm 0:72fe5fb6309c 46 thereof, that is intentionally submitted to Licensor for inclusion in the Work
adustm 0:72fe5fb6309c 47 by the copyright owner or by an individual or Legal Entity authorized to submit
adustm 0:72fe5fb6309c 48 on behalf of the copyright owner. For the purposes of this definition,
adustm 0:72fe5fb6309c 49 "submitted" means any form of electronic, verbal, or written communication sent
adustm 0:72fe5fb6309c 50 to the Licensor or its representatives, including but not limited to
adustm 0:72fe5fb6309c 51 communication on electronic mailing lists, source code control systems, and
adustm 0:72fe5fb6309c 52 issue tracking systems that are managed by, or on behalf of, the Licensor for
adustm 0:72fe5fb6309c 53 the purpose of discussing and improving the Work, but excluding communication
adustm 0:72fe5fb6309c 54 that is conspicuously marked or otherwise designated in writing by the copyright
adustm 0:72fe5fb6309c 55 owner as "Not a Contribution."
adustm 0:72fe5fb6309c 56
adustm 0:72fe5fb6309c 57 "Contributor" shall mean Licensor and any individual or Legal Entity on behalf
adustm 0:72fe5fb6309c 58 of whom a Contribution has been received by Licensor and subsequently
adustm 0:72fe5fb6309c 59 incorporated within the Work.
adustm 0:72fe5fb6309c 60
adustm 0:72fe5fb6309c 61 2. Grant of Copyright License.
adustm 0:72fe5fb6309c 62
adustm 0:72fe5fb6309c 63 Subject to the terms and conditions of this License, each Contributor hereby
adustm 0:72fe5fb6309c 64 grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
adustm 0:72fe5fb6309c 65 irrevocable copyright license to reproduce, prepare Derivative Works of,
adustm 0:72fe5fb6309c 66 publicly display, publicly perform, sublicense, and distribute the Work and such
adustm 0:72fe5fb6309c 67 Derivative Works in Source or Object form.
adustm 0:72fe5fb6309c 68
adustm 0:72fe5fb6309c 69 3. Grant of Patent License.
adustm 0:72fe5fb6309c 70
adustm 0:72fe5fb6309c 71 Subject to the terms and conditions of this License, each Contributor hereby
adustm 0:72fe5fb6309c 72 grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
adustm 0:72fe5fb6309c 73 irrevocable (except as stated in this section) patent license to make, have
adustm 0:72fe5fb6309c 74 made, use, offer to sell, sell, import, and otherwise transfer the Work, where
adustm 0:72fe5fb6309c 75 such license applies only to those patent claims licensable by such Contributor
adustm 0:72fe5fb6309c 76 that are necessarily infringed by their Contribution(s) alone or by combination
adustm 0:72fe5fb6309c 77 of their Contribution(s) with the Work to which such Contribution(s) was
adustm 0:72fe5fb6309c 78 submitted. If You institute patent litigation against any entity (including a
adustm 0:72fe5fb6309c 79 cross-claim or counterclaim in a lawsuit) alleging that the Work or a
adustm 0:72fe5fb6309c 80 Contribution incorporated within the Work constitutes direct or contributory
adustm 0:72fe5fb6309c 81 patent infringement, then any patent licenses granted to You under this License
adustm 0:72fe5fb6309c 82 for that Work shall terminate as of the date such litigation is filed.
adustm 0:72fe5fb6309c 83
adustm 0:72fe5fb6309c 84 4. Redistribution.
adustm 0:72fe5fb6309c 85
adustm 0:72fe5fb6309c 86 You may reproduce and distribute copies of the Work or Derivative Works thereof
adustm 0:72fe5fb6309c 87 in any medium, with or without modifications, and in Source or Object form,
adustm 0:72fe5fb6309c 88 provided that You meet the following conditions:
adustm 0:72fe5fb6309c 89
adustm 0:72fe5fb6309c 90 You must give any other recipients of the Work or Derivative Works a copy of
adustm 0:72fe5fb6309c 91 this License; and
adustm 0:72fe5fb6309c 92 You must cause any modified files to carry prominent notices stating that You
adustm 0:72fe5fb6309c 93 changed the files; and
adustm 0:72fe5fb6309c 94 You must retain, in the Source form of any Derivative Works that You distribute,
adustm 0:72fe5fb6309c 95 all copyright, patent, trademark, and attribution notices from the Source form
adustm 0:72fe5fb6309c 96 of the Work, excluding those notices that do not pertain to any part of the
adustm 0:72fe5fb6309c 97 Derivative Works; and
adustm 0:72fe5fb6309c 98 If the Work includes a "NOTICE" text file as part of its distribution, then any
adustm 0:72fe5fb6309c 99 Derivative Works that You distribute must include a readable copy of the
adustm 0:72fe5fb6309c 100 attribution notices contained within such NOTICE file, excluding those notices
adustm 0:72fe5fb6309c 101 that do not pertain to any part of the Derivative Works, in at least one of the
adustm 0:72fe5fb6309c 102 following places: within a NOTICE text file distributed as part of the
adustm 0:72fe5fb6309c 103 Derivative Works; within the Source form or documentation, if provided along
adustm 0:72fe5fb6309c 104 with the Derivative Works; or, within a display generated by the Derivative
adustm 0:72fe5fb6309c 105 Works, if and wherever such third-party notices normally appear. The contents of
adustm 0:72fe5fb6309c 106 the NOTICE file are for informational purposes only and do not modify the
adustm 0:72fe5fb6309c 107 License. You may add Your own attribution notices within Derivative Works that
adustm 0:72fe5fb6309c 108 You distribute, alongside or as an addendum to the NOTICE text from the Work,
adustm 0:72fe5fb6309c 109 provided that such additional attribution notices cannot be construed as
adustm 0:72fe5fb6309c 110 modifying the License.
adustm 0:72fe5fb6309c 111 You may add Your own copyright statement to Your modifications and may provide
adustm 0:72fe5fb6309c 112 additional or different license terms and conditions for use, reproduction, or
adustm 0:72fe5fb6309c 113 distribution of Your modifications, or for any such Derivative Works as a whole,
adustm 0:72fe5fb6309c 114 provided Your use, reproduction, and distribution of the Work otherwise complies
adustm 0:72fe5fb6309c 115 with the conditions stated in this License.
adustm 0:72fe5fb6309c 116
adustm 0:72fe5fb6309c 117 5. Submission of Contributions.
adustm 0:72fe5fb6309c 118
adustm 0:72fe5fb6309c 119 Unless You explicitly state otherwise, any Contribution intentionally submitted
adustm 0:72fe5fb6309c 120 for inclusion in the Work by You to the Licensor shall be under the terms and
adustm 0:72fe5fb6309c 121 conditions of this License, without any additional terms or conditions.
adustm 0:72fe5fb6309c 122 Notwithstanding the above, nothing herein shall supersede or modify the terms of
adustm 0:72fe5fb6309c 123 any separate license agreement you may have executed with Licensor regarding
adustm 0:72fe5fb6309c 124 such Contributions.
adustm 0:72fe5fb6309c 125
adustm 0:72fe5fb6309c 126 6. Trademarks.
adustm 0:72fe5fb6309c 127
adustm 0:72fe5fb6309c 128 This License does not grant permission to use the trade names, trademarks,
adustm 0:72fe5fb6309c 129 service marks, or product names of the Licensor, except as required for
adustm 0:72fe5fb6309c 130 reasonable and customary use in describing the origin of the Work and
adustm 0:72fe5fb6309c 131 reproducing the content of the NOTICE file.
adustm 0:72fe5fb6309c 132
adustm 0:72fe5fb6309c 133 7. Disclaimer of Warranty.
adustm 0:72fe5fb6309c 134
adustm 0:72fe5fb6309c 135 Unless required by applicable law or agreed to in writing, Licensor provides the
adustm 0:72fe5fb6309c 136 Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
adustm 0:72fe5fb6309c 137 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
adustm 0:72fe5fb6309c 138 including, without limitation, any warranties or conditions of TITLE,
adustm 0:72fe5fb6309c 139 NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
adustm 0:72fe5fb6309c 140 solely responsible for determining the appropriateness of using or
adustm 0:72fe5fb6309c 141 redistributing the Work and assume any risks associated with Your exercise of
adustm 0:72fe5fb6309c 142 permissions under this License.
adustm 0:72fe5fb6309c 143
adustm 0:72fe5fb6309c 144 8. Limitation of Liability.
adustm 0:72fe5fb6309c 145
adustm 0:72fe5fb6309c 146 In no event and under no legal theory, whether in tort (including negligence),
adustm 0:72fe5fb6309c 147 contract, or otherwise, unless required by applicable law (such as deliberate
adustm 0:72fe5fb6309c 148 and grossly negligent acts) or agreed to in writing, shall any Contributor be
adustm 0:72fe5fb6309c 149 liable to You for damages, including any direct, indirect, special, incidental,
adustm 0:72fe5fb6309c 150 or consequential damages of any character arising as a result of this License or
adustm 0:72fe5fb6309c 151 out of the use or inability to use the Work (including but not limited to
adustm 0:72fe5fb6309c 152 damages for loss of goodwill, work stoppage, computer failure or malfunction, or
adustm 0:72fe5fb6309c 153 any and all other commercial damages or losses), even if such Contributor has
adustm 0:72fe5fb6309c 154 been advised of the possibility of such damages.
adustm 0:72fe5fb6309c 155
adustm 0:72fe5fb6309c 156 9. Accepting Warranty or Additional Liability.
adustm 0:72fe5fb6309c 157
adustm 0:72fe5fb6309c 158 While redistributing the Work or Derivative Works thereof, You may choose to
adustm 0:72fe5fb6309c 159 offer, and charge a fee for, acceptance of support, warranty, indemnity, or
adustm 0:72fe5fb6309c 160 other liability obligations and/or rights consistent with this License. However,
adustm 0:72fe5fb6309c 161 in accepting such obligations, You may act only on Your own behalf and on Your
adustm 0:72fe5fb6309c 162 sole responsibility, not on behalf of any other Contributor, and only if You
adustm 0:72fe5fb6309c 163 agree to indemnify, defend, and hold each Contributor harmless for any liability
adustm 0:72fe5fb6309c 164 incurred by, or claims asserted against, such Contributor by reason of your
adustm 0:72fe5fb6309c 165 accepting any such warranty or additional liability.