mbed connect asia 2016 developing iot endpoints with mbed client

29
© ARM 2016 Developing IoT endpoints with mbed Client Eric Yang / Staff Engineer / ARM ARM mbed Connect / Shenzhen, China December 5, 2016

Upload: armmbed

Post on 15-Apr-2017

58 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016

Developing IoT endpoints with mbed Client

Eric Yang / Staff Engineer / ARM

ARM mbed Connect / Shenzhen, ChinaDecember 5, 2016

Page 2: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 2

Agenda ARM mbed Client introduction Connecting endpoints with mbed Client Managing endpoints with mbed Client Maintaining energy efficiency End-to-end security with mbed Client Porting mbed Client to endpoints Summary

Page 3: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 3

mbed Client introduction

Page 4: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 4

mbed Client & mbed Connector mbed Client is an implementation of the LWM2M client, and the

mbed Connector implements the LWM2M server mbed Client communicates with mbed Connector via CoAP

messages mbed Connector interacts with Web services and apps using a

REST API

Page 5: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 5

mbed Client scope mbed Client is a portable embedded software library that links

IoT devices with mbed Device Connector, providing the infrastructure to connect endpoints with cloud apps

mbed Client is provided free for IoT device manufacturers A complete set of libraries High level C++ API Porting guidelines and examples Apache 2.0 license

Page 6: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 6

Connecting endpointswith mbed Client

Page 7: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 7

mbed Device Connector: Making IoT scale mbed Device Connector eases development, management and

scaling of IoT Available at connector.mbed.com – easy transition to

commercial service providers

Build IoT Device Connect your devicesBuild application

with example code

Page 8: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 8

Bootstrapping IoT devices Factory bootstrap according to OMA LWM2M standard

Create the keys in the webpage Copy-and-paste them into the relevant file

Bootstrapping of devices enables to configure a secure channel between device and mbed Device Connector

Page 9: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 9

LWM2M data traffic Turn any device into an

endpoint to use with mbed Device Connector

Device initiated IoT devices provide sensor

readings and configuration information, to a cloud-based platform

Service initiated Actuators receive instructions

from users routed via the cloud infrastructure

Page 10: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 10

Managing endpointswith mbed Client

Page 11: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 11

mbed Client interfaces for device management mbed Client allows full control and monitor of endpoint and

applications

Registration and deregistration Register the Client and its Objects

Device management and service enablement Server access to Object or Resource

Information reporting Observe and get notifications of new Resource values

Page 12: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 12

Object and Resource model Object & Resources can each can

have Instances

An Object is a collection of Resources

A Resource is an atomic piece of information that can be read, written or executed

Access control list (ACL) control access to objects accessed by LWM2M Servers

©Sensinode 2013

Page 13: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 14

Maintaining energy efficiency

Page 14: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 15

IoT energy constraints Power consumption is one of the key constraints for the IoT

devices

Use battery or energy harvesting source for power which further constraints hardware, software and the communication protocol usage

Important to keep the device in sleep mode when not sensing or communicating data

Page 15: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 17

From Web Applications to IoT Nodes

Web application

1000s of bytes

HTTP

IPTLS / TCP

DTLS / UDPBinary web objectCoAP

IP

100s bytes 10s of bytes

IoT backhaul IoT node network

Proxy Router

Web object

DTLS / UDPBinary web objectCoAP

6LoWPAN

Page 16: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 19

Sleeping nodes & energy efficiency Easy to interact with devices that are always connected

To save energy client registers to server in Queue Mode and goes offline

Server queues operations when client is asleep

Client uses the registration update message to inform server that it is awake and ready to receive messages

Server conveys queued messages to client within a given time window

Page 17: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 20

End-to-end securitywith mbed Client

Page 18: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 21

mbed Client security LWM2M defines a strong security solution for authentication of

the end points and data channel protection

DTLS v1.2 security for all CoAP communication

mbed Client uses X.509 certificates to authenticate DTLS keys

Per Server and Object instance access control using ACL objects

Bootstrapping for complete provisioning and key management

Page 19: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 22

mbed TLS for mbed Client mbed TLS makes it easy for developers to include cryptographic

and TLS/DTLS capabilities in their embedded products, with a minimal code footprint

mbed Client provides an API to set up entropy and RNG functions for the underlying TLS to enhance robustness and security

Full API documentation available

Open Source under Apache 2.0 license at https://tls.mbed.org/

Suitable for use on Cortex-M and Cortex-A targets

Page 20: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 23

Porting mbed Clientto endpoints

Page 21: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 24

mbed Client scalability objectives Enable management of all connected devices within a single

management system

Support mbed Client porting across a wide spectrum of hardware platforms and embedded operating systems of a very fragmented IoT market

Enable smooth and swift porting of mbed Client capabilities for ARM partners

Page 22: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 25

Platform Abstraction Layer

mbed Client

mbed OS RTOS

Page 23: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 26

Platform Abstraction Layer

New release

mbed OS RTOS

Page 24: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 27

Platform Abstraction Layer

Contain porting effort within a single layer of platform dependent interfaces, which can be implemented by partners

Platform Abstraction

Layer

mbed OS RTOS

Page 25: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 28

mbed Client library

PAL interfaces include: Threads Synchronization objects Kernel ticks, timers Memory-pool Message-queue IP networking

Application and service integration

Custom Embedded Platform(Metal/RTOS/Linux, Networking)

mbed Services Client Librarymbed Client C++ APIDevice Connector support

LWM2M

mbed TLS

PAL implementation

Custom Embedded Platform(Metal/RTOS/Linux, Networking)

PAL implementation

Custom embedded platform(mbed OS / RTOS / Linux)

PAL implementation

Platform Abstraction Layer

CoAP

Page 26: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 29

Summary

Page 27: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

© ARM 2016 30

mbed Client

ConnectAddressing the complexity of reliably connecting high

volumes of diverse devices across different

networks

ManagementEnabling scalability

through interoperability

across the supply chain

ProductivityPortable to any device

allowing management of all connected devices on a single system and fast

time to market

EfficiencyOptimized for constrained

environments and sleepy nodes

SecurityTrust through end-to-end

security, by providing confidentiality, integrity

and authentication

Page 29: mbed Connect Asia 2016 Developing IoT endpoints with mbed client

Thank You!