Skip to content

Commit b46f2fa

Browse files
Amanda Butleririark01
andauthored
Replace content in device-management.md (#1259)
* Replace content in device-management.md Replace old content with links to the Device Management Client example for Mbed OS. * Removing additional content Ticket 5909 requested removing the section edited here (though I've left the first page with the new links) and the architecture section. I'm still unclear about the Mbed CLI and Mbed IDE content - should we keep or discard. Following up with Will and Andy. * Event example URL change * Mbed CLI updates Taking content from PR 1094 and adding to this PR, so all DM work is in one place. This doesn't answer the question of keep/discard, but it gives us a starting point for the discussion. * Removing RawSerial Unrelated to this, but breaking the build * Removing Going to Production * Removing Update from intro * Update docs/ref-designs/pelion_ready/device-management.md * Update docs/ref-designs/pelion_ready/device-management.md * Auto stash before rebase of "origin/AnotherButler-patch-6" Co-authored-by: Irit <[email protected]>
1 parent 1d82935 commit b46f2fa

File tree

5 files changed

+33
-242
lines changed

5 files changed

+33
-242
lines changed

docs.json

Lines changed: 4 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,9 @@
237237
{
238238
"path": "docs/api/io/FlashIAP.md"
239239
},
240+
{
241+
"path": "docs/api/io/Serial.md"
242+
},
240243
{
241244
"path": "docs/api/io/BufferedSerial.md"
242245
},
@@ -1389,98 +1392,14 @@
13891392
"slug": "mbed-os-pelion",
13901393
"type": "markdown",
13911394
"description": "How to go to production with Mbed OS-based IoT devices, the Pelion IoT platform and Arm Treasure Data (Data Management)",
1392-
"chapters": [{
1393-
"title": "Introduction",
1394-
"intro": {
1395-
"path": "docs/ref-designs/pelion_ready/introduction_chip2cloud.md"
1396-
},
1397-
"sources": []
1398-
},
1395+
"chapters": [
13991396
{
14001397
"title": "Device Management for Mbed OS",
14011398
"sources": [{
14021399
"path": "docs/ref-designs/pelion_ready/device-management.md"
1403-
},
1404-
{
1405-
"path": "docs/ref-designs/pelion_ready/device-management-config.md"
1406-
},
1407-
{
1408-
"path": "docs/ref-designs/pelion_ready/device-management-test.md"
1409-
}
1410-
]
1411-
},
1412-
{
1413-
"title": "Integrating with Arm Treasure Data",
1414-
"intro": {
1415-
"path": "docs/ref-designs/treasure_data.md"
1416-
},
1417-
"sources": [{
1418-
"path": "docs/ref-designs/td-tutorial.md"
1419-
}]
1420-
},
1421-
{
1422-
"title": "Going to production",
1423-
"sub_chapters": [{
1424-
"title": "Introduction",
1425-
"intro": {
1426-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/intro.md"
1427-
},
1428-
"sources": []
1429-
},
1430-
{
1431-
"title": "Stage 1: Evaluation",
1432-
"intro": {
1433-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage1.md"
1434-
},
1435-
"sources": []
1436-
},
1437-
{
1438-
"title": "Stage 2: Proof of concept",
1439-
"intro": {
1440-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage_2/intro_s_2.md"
1441-
},
1442-
"sources": [{
1443-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage_2/1_hardware.md"
1444-
},
1445-
{
1446-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage_2/3_connectivity.md"
1447-
},
1448-
{
1449-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage_2/2_software.md"
1450-
},
1451-
{
1452-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage_2/4_security.md"
1453-
},
1454-
{
1455-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage_2/6_example.md"
1456-
}
1457-
1458-
]
1459-
},
1460-
{
1461-
"title": "Stage 3: Prototype",
1462-
"intro": {
1463-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage3.md"
1464-
},
1465-
"sources": []
1466-
},
1467-
{
1468-
"title": "Stage 4: Pilot",
1469-
"intro": {
1470-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage4.md"
1471-
},
1472-
"sources": []
1473-
},
1474-
{
1475-
"title": "Stage 5: Production",
1476-
"intro": {
1477-
"url": "https://github.com/ARMmbed/evaluation-to-production/blob/5.12/FE2P/stage5.md"
1478-
},
1479-
"sources": []
14801400
}
14811401
]
14821402
}
1483-
14841403
]
14851404
},
14861405
{

docs/introduction/introduction.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,6 @@ The Pelion IoT Platform has built-in security at all levels, stressing both prot
6161

6262
Our approach to security is to leverage state-of-the-art industry standard protocols, ciphers and encryption suites following the recommendations from NIST and other related organizations. This gives us access to the latest work by the global security research community, rather than a limited in-house resource. We regularly verify the results of these efforts with code reviews, penetration exercises and other methods.
6363

64-
## Remote firmware update
65-
66-
Mbed OS offers a seamless integration with the Pelion Device Management Update Services, so you can update your device's application or version of Mbed OS. The Arm Mbed CLI development tool can build update payloads, generate their manifests and send them to your development device with two commands. If you want to update device groups, you can generate and upload your manifest and payload to the Device Management Portal and run a standard campaign from there. The Online Compiler also offers a quick integration for development flows.
67-
68-
For more information, see our [technology page](../reference/firmware-update-in-mbed-os.html), the [Mbed CLI update flow](../tools/cli-update.html) or the [quick start through the Online Compiler](https://cloud.mbed.com/guides/pelion-firmware-update) (Note: you first need to [use the connecting quick guide to set up the original application](https://cloud.mbed.com/guides/connect-device-to-pelion)).
69-
7064
## Hardware
7165

7266
Arm, its Partners and the Arm Mbed developer community work together to develop the Mbed OS project. This thriving ecosystem means that Mbed OS includes drivers for a lot of different hardware, so you can concentrate on clean and portable application code.
Lines changed: 4 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -1,134 +1,8 @@
11
<h1 id="device-management">Device Management for Mbed OS</h1>
22

3-
Pelion Client is an abstraction of Device Management Client, and lets Mbed OS devices use [Pelion Device Management services](https://www.pelion.com/docs/device-management/current/welcome/index.html). Pelion Client:
3+
To use Mbed OS with Pelion Device Management, please see our [Device Management Client example for Mbed OS](https://github.com/ARMmbed/mbed-os-example-pelion/blob/master/README.md).
44

5-
- Provides LwM2M Resources, which are variables that sync automatically through Device Management. Pelion Client makes it possible to expose sensors, actuators and other variables to a cloud service.
6-
- Supports firmware updates with just a few lines of code.
7-
- Runs separately from your main application; it does not take over your main loop.
8-
- Helps avoid blocking network operations in interrupt contexts, by automatically deferring actions to a separate thread.
9-
- Provides end-to-end Greentea tests for Device Management.
5+
For more details, please see:
106

11-
This guide builds on the [quick connect guide](https://os.mbed.com/guides/connect-device-to-pelion/), which creates a cloud-connected application for supported Mbed OS boards. The guide covers:
12-
13-
- [Hardware requirements](#requirements).
14-
- [Adding the library to an application](#adding-device-management-connectivity-to-your-application).
15-
- A list of [example applications for different boards](#example-applications).
16-
- [Configuring the application and bootloader](../mbed-os-pelion/device-management-configuration.html).
17-
- [Validation and testing](../mbed-os-pelion/device-management-test.html).
18-
- [Troubleshooting](../mbed-os-pelion/device-management-test.html#troubleshooting).
19-
20-
<span class="tips">**Tip**: To learn more about Device Management Client, see the [API documentation](https://www.pelion.com/docs/device-management/current/client-api-references/index.html) and the [tutorials](https://www.pelion.com/docs/device-management/current/connecting/device-management-client-tutorials.html).</span>
21-
22-
## Device Management for your Mbed OS application
23-
24-
### Requirements
25-
26-
Not every device (microcontroller, module or board) is capable of running device management features. You can add or extend some hardware capabilities, such as connectivity, storage and TRNG. Others are impossible or inconvenient to extend (for example, RAM or flash).
27-
28-
The minimum requirements to add device management feature to your application are:
29-
30-
- RAM: 128 KiB or more.
31-
- Flash: 512 KiB or more.
32-
- Real Time Clock (RTC).
33-
- (Optional but recommended) True Random Number Generator (TRNG).
34-
- A storage device: SD card, SPI flash, QSPI flash or data flash.
35-
- IP connectivity: Ethernet, Wi-Fi, cellular, Mesh (6LoWPAN-ND, Wi-SUN or Thread).
36-
37-
Additionally, we recommend the latest version of Mbed OS supports the device and any additional complementary hardware components, or that they have support for the APIs provided in the latest releases of Mbed OS.
38-
39-
Useful references:
40-
41-
- [Supported Mbed OS platforms](https://cloud.mbed.com/quick-start).
42-
- [Storage options](../reference/storage.html).
43-
- [Network options](../reference/networking.html).
44-
45-
### Adding Device Management connectivity to your application
46-
47-
1. Add Pelion Client to your Mbed OS project:
48-
49-
<span class="notes">**Note**: the library is called `simple-mbed-cloud-client`.</span>
50-
51-
```
52-
$ mbed add https://github.com/ARMmbed/simple-mbed-cloud-client
53-
```
54-
55-
If you do not have an Mbed OS project to add, you can create one with `mbed new <your_application_name>` and then run `mbed add`.
56-
57-
1. Reference the library from the `main.cpp` file, and add network and storage drivers.
58-
59-
1. Initialize the `simple-mbed-cloud-client` library:
60-
61-
```cpp NOCI
62-
#include "simple-mbed-cloud-client.h"
63-
#include <Block device>
64-
#include <Filesystem>
65-
#include <Network>
66-
67-
int main() {
68-
69-
/* Initialize connectivity */
70-
NetworkInterface *net = NetworkInterface::get_default_instance();
71-
net->connect();
72-
73-
/* Initialize storage */
74-
BlockDevice *bd = BlockDevice::get_default_instance();
75-
<Filesystem> fs("fs", &bd);
76-
77-
/* Initialize SimpleMbedCloudClient */
78-
SimpleMbedCloudClient client(net, &bd, &fs);
79-
client.init();
80-
81-
/* Create resource */
82-
MbedCloudClientResource *variable;
83-
variable = client.create_resource("3201/0/5853", "variable");
84-
variable->set_value("assign new value");
85-
variable->methods(M2MMethod::GET | M2MMethod::PUT);
86-
87-
}
88-
```
89-
90-
1. Configure the API key for your Device Management account by specifying the API key as the global `mbed` configuration:
91-
92-
```
93-
$ mbed config -G CLOUD_SDK_API_KEY <your-api-key>
94-
```
95-
96-
<span class="tips">**Tip**: If you don't have an API key available, log in to [Device Management Portal](https://portal.mbedcloud.com/), navigate to `Access Management` and `API keys`, and create a new one.</span>
97-
98-
1. Install the Device Management certificate:
99-
100-
```
101-
$ mbed dm init -d "<your company name.com>" --model-name "<product model identifier>"
102-
```
103-
104-
This creates your private and public key pair and also initializes various `.c` files with these credentials, so you can use Connect and (firmware) Update device management features.
105-
106-
### Example applications
107-
108-
To help you start quickly, refer to the [application example](https://github.com/ARMmbed/pelion-ready-example). It demonstrates how to connect to the Device Management service, register Resources and get ready to receive a firmware update.
109-
110-
There are also several board-specific applications that focus on providing more elaborate hardware features with Mbed OS and Device Management. These are available in the [Device Management quick start](https://cloud.mbed.com/quick-start). See the reference table, organized by vendor name, for details:
111-
112-
Platform | Connectivity | Storage | Example URL
113-
----------------------------------| -------------------| --------- | --------------------
114-
Nuvoton NuMaker IOT-M487 | Wi-Fi | SD card | https://os.mbed.com/teams/Nuvoton/code/pelion-example-common/
115-
Nuvoton NuMaker PFM-M487 | Ethernet | SD card | https://os.mbed.com/teams/Nuvoton/code/pelion-example-common/
116-
Nuvoton NuMaker PFM-NUC472 | Ethernet | SD card | https://os.mbed.com/teams/Nuvoton/code/pelion-example-common/
117-
NXP FRDM-K64F | Ethernet | SD card | https://os.mbed.com/teams/NXP/code/mbed-cloud-connect-example-ethernet
118-
NXP FRDM-K66F | Ethernet | SD card | https://os.mbed.com/teams/NXP/code/mbed-cloud-connect-example-ethernet
119-
Renesas GR-LYCHEE | Wi-Fi | SD card | https://os.mbed.com/teams/Renesas/code/pelion-example-common/
120-
Renesas GR-PEACH | Ethernet | SD card | https://os.mbed.com/teams/Renesas/code/pelion-example-common/
121-
RHOMBIO_L476DMW1K | Wi-Fi | QSPI | https://os.mbed.com/teams/Rhombio/code/pelion-example-rhombio-l476dmw1k/
122-
Seeed WIO 3G | Cellular 3G | SD card | https://os.mbed.com/teams/Seeed/code/pelion-example-common/
123-
Sigma Delta Technologies SDT64B | Ethernet | SD card | https://os.mbed.com/teams/Sigma-Delta-Technologies/code/pelion-example-common
124-
ST DISCO-L475E_IOT01A | Wi-Fi | QSPI | https://os.mbed.com/teams/ST/code/pelion-example-disco-iot01/
125-
ST DISCO-F413H | Wi-Fi | QSPI | https://os.mbed.com/teams/ST/code/pelion-example-common/
126-
ST DISCO-F746NG | Ethernet | QSPI | https://os.mbed.com/teams/ST/code/pelion-example-common/
127-
ST NUCLEO-F429ZI | Ethernet | SD card | https://os.mbed.com/teams/ST/code/pelion-example-common/
128-
ST NUCLEO-F767ZI | Ethernet | SD card | https://os.mbed.com/teams/ST/code/pelion-example-common/
129-
ST NUCLEO_F746ZG | Ethernet | SD card | https://os.mbed.com/teams/ST/code/pelion-example-common/
130-
ST NUCLEO-F207ZG | Ethernet | SD card | https://os.mbed.com/teams/ST/code/pelion-example-common/
131-
Silicon Labs Thunderboard Sense 2 | 15.4 | SPI | https://os.mbed.com/teams/SiliconLabs/code/pelion-example-tbsense2/
132-
Silicon Labs EFM32 Giant Gecko 11 | Ethernet | QSPI | https://os.mbed.com/teams/SiliconLabs/code/pelion-example-common/
133-
u-blox EVK-ODIN-W2 | Wi-Fi | SD card | https://os.mbed.com/teams/ublox/code/pelion-example-common/
134-
u-blox C030-U201 | Cellular | SD card | https://os.mbed.com/teams/ublox/code/pelion-example-common/
7+
- The example's [developer guide](https://www.pelion.com/docs/device-management/latest/connecting/tutorial-pelion-mbedos.html).
8+
- The example's [porting guide](https://www.pelion.com/docs/device-management/latest/porting/index.html).

docs/ref-designs/pelion_ready/introduction_chip2cloud.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@ The documentation covers:
66

77
1. [Using Pelion Ready boards](../mbed-os-pelion/device-management-for-mbed-os.html) to establish a connection to the platform.
88
1. [Integrating with Arm Treasure Data (Data Management)](../mbed-os-pelion/integrating-with-arm-treasure-data.html).
9-
1. [A full review of the production process](../mbed-os-pelion/going-to-production.html) for Mbed OS-based IoT devices.
109

1110
<span class="images">![](../../images/pelion_iot_platform.png)</span>

0 commit comments

Comments
 (0)