title 44pt title iot quickstart - arm architecture · iot quickstart maggie mei austin blackstone...

23
© ARM 2016 IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China Applications Engineer / ARM December 5 th , 2016

Upload: others

Post on 25-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

Title 44pt Title Case

Affiliations 24pt sentence case

20pt sentence case

© ARM 2016

IoT quickstart

Maggie MeiAustin Blackstone

ARM mbed Connect / Shenzhen, China

Applications Engineer / ARM

December 5th, 2016

Page 2: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 2

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Topics

§ Overview§ mbed URI format§ LWM2M resources§ REST API

§ mbed Client endpoint example§ mbed Connector web app example

§ Node.js or python

§ Challenges

Page 3: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 3

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Prerequisites

§ Free mbed developer account§ Python 2.7.*§ Node.js§ Git§ mbed Windows serial driver§ Clone example code

§ git clone https://github.com/armmbed/mbed-connector-api-python-quickstart.git § git clone https://github.com/armmbed/mbed-connector-api-node-quickstart.git

Page 4: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016

Using mbed Device Connector

HTTP/REST

● GET● PUT● POST

mbed DeviceConnector

LWM2M

CoAP

Web appmbed Client

White background slide version is easier to read

Page 5: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 5

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Using mbed Device Connector

HTTP/REST

● GET● PUT● POST

mbed DeviceConnector

LWM2M

CoAP

Web appmbed Client

Page 6: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 6

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Data model

§ Domain§ Endpoint

§ ResourceDomain

Endpoint₄Endpoint₃Endpoint₂Endpoint₁

R₁ R₂ R₁ R₁ R₁R₂ R₂R₃

/endpoints/endpointName/{LWM2M Resource}

Page 7: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 7

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Resource: LWM2M data model

Hierarchy{ObjectID}/(ObjectInstance)/{ResourceID}

/3303/0/5602/3303/0/5601/3303/0/5700

ex) temperature sensor object/temp/0/maxValue/temp/0/minValue/temp/0/sensorValue

R

Endpoint

Endpoint

/3303/0/5602

/3303/0/5601

/3303/0/5700

Page 8: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 8

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

LWM2M Spec

http://technical.openmobilealliance.org/Technical/technical-information/omna/lightweight-m2m-lwm2m-object-registry

§ XML§ Detail

Page 9: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 9

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Example: LWM2M

Example: Get temperature and humidity sensor data(assume 1 sensor per endpoint)

Humidity Resource/3304/0/5700

Temperature Resource/3303/0/5700

Temperature ObjectID = 3303Humidity ObjectID = 3304Sensor Value ResourceID = 5700

Page 10: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 10

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Takeaway

Path describes data§ How you access the data tells you what the data is§ URL-based accessors§ ResourceID can have same number but different meaning, depending on

object ID

Page 11: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016

mbed Client code

Let’s build an endpoint!

mbed DeviceConnector

LWM2M

CoAP

mbed Client

Page 12: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 12

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

mbed Client code

HTTP/REST

● GET● PUT● POST

mbed DeviceConnector

LWM2M

CoAP

Web appmbed Client

Let’s build an endpoint!

Page 13: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 13

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

mbed Client endpoint code

1. Plug in board to computer2. Open mbed.html on board3. Import code to online compiler: mbed.com/s/mc20164. Get security certificate from connector.mbed.com/#credentials5. Paste into security.h6. Compile / download code7. Drag and drop code to board8. Turn on board

Page 14: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 14

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Serial console

1. Open CoolTerm2. Options -> Baudrate -> 115200 -> OK3. Connect4. Reset board

Page 15: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 15

Text 54pt sentence case API ConsoleView endpoint data on connector website

Page 16: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 16

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

connector.mbed.com/#console

Page 17: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 17

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Use API Console

§ GET number of button presses ‘/3200/0/5501’§ POST to blink LED ‘/3201/0/5850’§ PUT to /3201/0/5853 change pattern of LED ‘1000:500:1000:500:1000:500’

Page 18: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016

Web app

Create python or Node.js web app

HTTP/REST

● GET● PUT● POST

mbed Device Connector

Web app

Page 19: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 19

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Web app

HTTP/REST

● GET● PUT● POST

mbed DeviceConnector

LWM2M

CoAP

Web appmbed Client

Create python or Node.js web app

Page 20: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 20

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Node.js web app

1. Open node.app in editor2. Get access key from connector.mbed.com/#accesskeys3. Replace ‘Change Me’ with access key in quotes4. Save5. Run command `npm install`6. Run app `node app.js`7. Open web browser to 127.0.0.1:80808. See the app run!

Page 21: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 21

Text 54pt sentence case ChallengeLet’s modify the code!

Page 22: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016 22

Title 40pt Title Case

Bullets 24pt sentence casebullets 20pt sentence case

Challenge 1 & 2

§ Challenge 1 – Add a resource to endpoint§ Add resource to change light color

§ Hint: LED1, LED2, LED3§ Compile; load code to board§ Verify in API Console

§ Challenge 2 – Add resource to web app§ Modify web app code to accept input and send value to device

Page 23: Title 44pt Title IoT quickstart - ARM architecture · IoT quickstart Maggie Mei Austin Blackstone ARM mbed Connect / Shenzhen, China ... § LWM2M resources § REST API § mbed Client

© ARM 2016

Questions?

Ask anything about mbed Client or mbed Device Connector?