Simple Mbed Cloud Client application using features of K64 & K66

Connect to Mbed Cloud!

This example was customized a bit for FRDM-K66 and FRDM-K64F.

It depends on having an SD Card plugged in for storage of credentials. It could be changed later to use a SPI flash or other storage on a shield or wired in.

The app keeps track of how many times switch 2 (SW2) is pressed. The value can be retrieved via a GET request to Mbed Cloud.

Also, it will blink a pattern based on milisecond (ms) timing values that can be sent from Mbed Cloud. The pattern can be sent with a PUT request and the blinking sequence can be triggered by a POST request.

Committer:
MarceloSalazar
Date:
Tue Feb 13 10:07:23 2018 +0000
Revision:
0:e13a8a944e25
Child:
1:1ccf36276cd3
First version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MarceloSalazar 0:e13a8a944e25 1 # Simple Mbed Cloud Client application
MarceloSalazar 0:e13a8a944e25 2
MarceloSalazar 0:e13a8a944e25 3 ### Overview
MarceloSalazar 0:e13a8a944e25 4
MarceloSalazar 0:e13a8a944e25 5 This is a reference application for platform vendors. It demonstrates how to create a simple Mbed Cloud Client application that can connect to Mbed Cloud, register resources and get ready to receive a firmware update.
MarceloSalazar 0:e13a8a944e25 6
MarceloSalazar 0:e13a8a944e25 7 It's intenteded to be forked and customized to add platform specific features (sensors, actuators) and configure the connectivity and storage to work **out-of-the-box**.
MarceloSalazar 0:e13a8a944e25 8 The Simple Mbed Cloud Client application is intended to work in **developer mode** only. For production considerations, please read the following [document].
MarceloSalazar 0:e13a8a944e25 9
MarceloSalazar 0:e13a8a944e25 10 ### Setup process
MarceloSalazar 0:e13a8a944e25 11
MarceloSalazar 0:e13a8a944e25 12 This is a summary of the process for developers to get started and get a device connected to Mbed Cloud.
MarceloSalazar 0:e13a8a944e25 13
MarceloSalazar 0:e13a8a944e25 14 #### Mbed Online IDE
MarceloSalazar 0:e13a8a944e25 15
MarceloSalazar 0:e13a8a944e25 16 - Import application into the Online IDE
MarceloSalazar 0:e13a8a944e25 17 - Add API key to stablish connection to Mbed Cloud
MarceloSalazar 0:e13a8a944e25 18 - Install developer certificate
MarceloSalazar 0:e13a8a944e25 19 - Compile & program
MarceloSalazar 0:e13a8a944e25 20
MarceloSalazar 0:e13a8a944e25 21 #### Mbed CLI tools
MarceloSalazar 0:e13a8a944e25 22
MarceloSalazar 0:e13a8a944e25 23 - Import application in developer's desktop:
MarceloSalazar 0:e13a8a944e25 24
MarceloSalazar 0:e13a8a944e25 25 ```
MarceloSalazar 0:e13a8a944e25 26 mbed import https://github.com/ARMmbed/simple-mbed-cloud-client-example
MarceloSalazar 0:e13a8a944e25 27 cd simple-mbed-cloud-client-example
MarceloSalazar 0:e13a8a944e25 28 ```
MarceloSalazar 0:e13a8a944e25 29 - Download developer certificate from Mbed Cloud
MarceloSalazar 0:e13a8a944e25 30
MarceloSalazar 0:e13a8a944e25 31 - Compile & program
MarceloSalazar 0:e13a8a944e25 32
MarceloSalazar 0:e13a8a944e25 33 ```
MarceloSalazar 0:e13a8a944e25 34 mbed compile -t <toolchain> -m <target> -c -f
MarceloSalazar 0:e13a8a944e25 35 ```
MarceloSalazar 0:e13a8a944e25 36
MarceloSalazar 0:e13a8a944e25 37 ### Porting to a new platform
MarceloSalazar 0:e13a8a944e25 38
MarceloSalazar 0:e13a8a944e25 39 The hardware requirements for Mbed OS platforms to support Mbed Cloud Client as shown [here].
MarceloSalazar 0:e13a8a944e25 40 This template application works with the [FRDM-K64F](https://os.mbed.com/platforms/FRDM-K64F/) platform by default.
MarceloSalazar 0:e13a8a944e25 41
MarceloSalazar 0:e13a8a944e25 42 However, adding a new platform requires the following:
MarceloSalazar 0:e13a8a944e25 43
MarceloSalazar 0:e13a8a944e25 44 - Fork the template and create an example application for your platform in https://os.mbed.com
MarceloSalazar 0:e13a8a944e25 45 - Modify `mbed_app.json` with corresponding addresses to match your platform memory map.
MarceloSalazar 0:e13a8a944e25 46
MarceloSalazar 0:e13a8a944e25 47 ```
MarceloSalazar 0:e13a8a944e25 48 "K64F": {
MarceloSalazar 0:e13a8a944e25 49 "target.mbed_app_start": "0x00020400",
MarceloSalazar 0:e13a8a944e25 50 "update-client.application-details": "0x00020000",
MarceloSalazar 0:e13a8a944e25 51 "update-client.bootloader-details": "0x172e4"
MarceloSalazar 0:e13a8a944e25 52 }
MarceloSalazar 0:e13a8a944e25 53 ```
MarceloSalazar 0:e13a8a944e25 54 - [Optional] Change connectivity interface. By default uses Ethernet. See lines [xxx].
MarceloSalazar 0:e13a8a944e25 55 - [Optional] Change the filesystem and/or the block device for storage. By default uses FAT filesystem over SD card. See lines [xxx].
MarceloSalazar 0:e13a8a944e25 56 - Create a [bootloader binary](TBD) according to addresses specified in `mbed_app.json`. The booloader has to use the same storage configuration specified in the application.
MarceloSalazar 0:e13a8a944e25 57
MarceloSalazar 0:e13a8a944e25 58 ### Known issues
MarceloSalazar 0:e13a8a944e25 59
MarceloSalazar 0:e13a8a944e25 60 None.
MarceloSalazar 0:e13a8a944e25 61
MarceloSalazar 0:e13a8a944e25 62