The Future of IoT

Zach Shelby VP Marketing, IoT Feb 3rd, 2015

1

Internet of (really nerdy) People – 1980s

2

Internet of (content silo) People – 1990s

3

Internet of (Web) People – 2000s

4

Internet of (really nerdy) Things – 1960s-1990s

5

Internet of (content silo) Things – 2000s

My Service

My Thing

6

Internet of (Web) Things – 2010s

Services

Web The Web

Things

7

By 2018, 50% of the IoT solutions will be provided by Companies which are less than 3 years old

Gartner Research, 2013

8

Innovation circa 2001

9

ARM - The Architecture for the Digital World® From sensors to servers 10 billon ARM-based chips, last year alone

10

Wide Range of Device Classes

CLASS 0 CLASS 1-2 CLASS 3 CLASS 4 ULTRA CONSTRAINED CONSTRAINED MAINSTREAM IOT RICH NODE / GATEWAY

CPU Radio CP Radi CPU Radio CP Rad U o U io

C I M 2 sh IO Fla RA SP I GP 2 C h I O 2 SPI SPI C RAM I Flash SPI SPI GPIO GPIO GPI Flas 2 RAM I

SPI RAM Flash GPIO GPIO

ARM Cortex-M0+ ARM Cortex-M0+/3 ARM Cortex-M3/4/7 ARM Cortex-A7 16K RAM / 64K ROM 32-64K RAM / 128-256K ROM 128K RAM / 512K ROM 64MB RAM / 512MB ROM Requires gateway Direct to Internet via CoAP Direct to Internet High performance node with video Disposable, Swallowable End-to-end DTLS security Low-end 6LoWPAN router processing RTOS or bare metal Remote management End-to-end DTLS security Rich UI MBED OS support Remote management MBED Client, Java SE, Linux, Android MBED OS, Java ME 11

IoT Requires Scale & Diversity

26 Billion Installed Units by 2020* Volume Volume

Device Categories *Gartner

12

Two Key Goals for 2015

1. Create a global ecosystem, with security!

2. Get open standards to lots of devices and services

13

The I in IoT: Web (and IP) Protocols to the Edge

IoT Application Device Management

Binary | JSON – IPSO Objects Application REST APIs

CoAP | HTTP Web Transfer DTLS | TLS

UDP | TCP Internet IPv4 | IPv6 | 6LoWPAN

Network

14

6LoWPAN Made Easy!

IoT connectivity for home automation

Access Point

- Low-power - Wide range of devices robust & - Mesh network easy to deploy infrastructure sharing - IP to the edge - Mature end-to-end security

15

CoAP - The Web of Things Protocol

§ Open IETF Standard (RFC7252) § Compact 4-byte Header § UDP, SMS, (TCP) Support § Strong DTLS Security § Asynchronous Subscription § Built-in Discovery § http://coap.technology

16

Project Kona

§ ARM and Oracle are bringing CoAP support to OpenJDK § Project Kona § Java APIs and protocols for IoT § Embedded devices in particular § CoAP contribution from ARM is planned for next week J § Project Lead: Riaz Aimandi (Oracle) § Lead Committer: Szymon Sasin (ARM)

17

A Keynote Challenge!

§ Write a CoAP client to interact with me in real time § Discover my question § GET the question § PUT your answer (and your name!) § Server location: coap://192.168.80.121 § Hint: Californium is great for Java Nerds § Hint: Copper is awesome, but cheating! § Free mbed IoT development board for first to finish

18

Common OS and Connectivity Across Markets

Smart Cities Smart Home Wearables

Application Application Application

Sub-GHz Zigbee IP-NAN BT Smart Thread BT Smart Connectivity Connectivity Connectivity

Provisioning Provisioning Provisioning Security Security Security OS + Drivers OS + Drivers OS + Drivers

19

Common OS and Connectivity Across Markets

Smart Cities Smart Home Wearables

Application Application Application Similar key connectivity standards

Sub-GHz Zigbee IP-NAN BT Smart Thread BT Smart Connectivity Connectivity Connectivity

Provisioning Provisioning Provisioning Security Security Security OS + Drivers OS + Drivers OS + Drivers Common software foundation

20

Device Device security Debug Debug Channel security Sensing Sensing Device Device management Connectivity Component Continuous Key/Session Device Management Integration Management Management Debug Firmware Algorithm CoAP Auth Keys Comms Update Test Admin & Unit Testing Bootstrap Automation Debug C IPv6/ Secure Boot Calibration DTLS Runtime UDP Storage loader Version Persistent Code Review CoAP Control connectivity Sensor Secure Boot MAC Crypto Flash HAL Driver Boot Load Toolchain Build System Clustering Balancing Device To o l s Server

21

22

mbed Device Server

Software that enables services to manage mbed Enabled things. mbed Ecosystem

Developers and partners making use of mbed mbed Web Services technology mbed OS

Free for low-power ARM Cortex®-M devices. Just add App. -based MCU

23

The new mbed Partner Ecosystem: Join Us!

Cloud Partners

Ecosystem Partners

Silicon Partners

24

From Idea to Product

Developer Prototype Product Service

Ecosystem Partner

mbed OS App Cloud mbed OS Partner Drivers

Silicon Partner

25

Little Data Enables Big Data

mbed OS mbed Device Server IoT Service or App

IP and Web to the edge

End-to-End Security, Web, Data Objects & Management

Little Data BIG DATA

26 mbed OS Roadmap 2015

Community Applications Minimize time-to-market Libraries

mbed OS C++ APIs Low-power by design Communication Management Application: CoAP, HTTP, MQTT Device Management: LWM2M Security: TLS, DTLS Event Framework IPv4 IPv6, 6LoWPAN Complete security solution Tasks

CMSIS-Core Drivers CMSIS-DAP

Cryptobox Top connectivity standards Asset Protection, Crypto, Key Management, Secure Bootloader

ARM Cortex®-M Sensors Radio Built-in device management -based MCU

27 mbed OS Release Schedule

a1 a2 a3 b r r

Alpha 1 Alpha 2 Alpha 3 Beta Release 3.0 Release 3.1 mbed Partners mbed Partners mbed Partners Public Public Public

Dec ’14 Mar‘15 Jun‘15 Aug‘15 Nov‘15 Feb‘15

Apache 2.0

28

Java on mbed

Native C++

Application Application

Java ME

mbed OS mbed OS

29

Embedded software: Scaling with mbed and Java Drive platform consistency, developer productivity, and software intelligence

§ Reduce embedded platform fragmentation and time-to-market § Enable Java Embedded on a growing range of mbed-enabled devices § Combine the strengths of the mbed and Java communities and partners

30 30

Freescale FRDM-K64F Versatile, simple-to-use ARM Cortex-M4 MCU platform § Java ME Embedded 8.1 Developer Preview § Freescale FRDM-K64F § Kinetis K64F, 120 MHz, 256 KB RAM/1 MB Flash, ARM mbed § Arduino form-factor and pin-out. Approx. $25 street price § Brings Java 8 to Micro-Controllers § Optimized Java ME 8 runtime in 190 KB RAM, enabling highly functional Java Embedded applications on single-chip micro-controller systems § Java 8 language, core APIs, networking, device I/O, storage, and more § Simple installation and development via Java ME SDK 8.1, NetBeans and IDEs § Complements existing Java ME 8 platforms such as , scaling Java ME 8 from large to small § Ideal for evaluation and prototyping § FREE download via Oracle Technology Network (OTN)

31 mbed Device Server

Straightforward integration mbed Device Server API

Periodic connectivity support Directory and Subscription Security, Admin and Multi-tenancy

Device Management and Data Flows - RESTful and Publish/Subscribe

Complete managed security mbed Device Interface - Open Web Standards Application Transfer Protocols – CoAP, HTTP, MQTT

Security Protocols – DTLS, TLS Leading open standards

Lightweight management

32

Toast and Espresso

Toaster

Weather Forecast Order

Analytics

Coffee Maker

33

Big Data Starts with Little Data

App Browser

100’s 100’s Servers Servers

Little Data Big Data User Sessions

mbed Java Application HTML Application Device Server Real Time Query Device Layer Data Layer Presentation Layer

34

Big Data Starts with Little Data 10,000,000’s Clients

App Browser

1,000,000,000’s 10’s 100’s 100’s Devices Servers Servers Servers

Little Data Big Data User Sessions

Java Application HTML Application mbed mbed OS Device Server Real Time Query Device Layer Data Layer Presentation Layer

35

So What Was the Future of IoT?

Yo u

36

Learn more!

http://mbed.com http://coap.technology http://threadgroup.org @zach_shelby

37