Programming the Internet of Things



Similar documents
Present and Act Upon. Register. Consume. Stream Analytics. Event Hubs. Field Gateway. Applications Cloud Gateway. Legacy IoT (custom protocols)

Open Sourcing the Internet of Things

An Open Source project building the framework for the Internet of Things (IoT)

Getting Started Android + Linux. February 27 th, 2014

IoT Cloud, All Seen Alliance. Masanari Arai 荒 井 真 成 CEO, Kii Corpora0on

Secure Cloud and Remote Service Connections for AllJoyn Applications

Secure Cloud and Remote Service Connections for AllJoyn Applications

Using AllJoyn with Apache Cordova, Python & Node

An Open Source project building the framework for the Internet of Things (IoT)

AllJoyn Framework System Overview

Secure Cloud and Remote Service Connections for AllJoyn Applications

ARTIK TM. MyungKoo Kang (VP) The Ultimate Platform Solution for IoT. Samsung Electronics

Getting Started with the AllJoyn Lighting Service Framework 14.12

AllJoyn Device System Bridge

Introducing BEEKS Proximity Solutions. Developer Kit Gets You Started

Cid Santos Luis Matos. Introduction to AllJoyn

Java and the Internet of Things

UPnP: The Discovery & Service Layer For The Internet of Things April 2015

Development. SriSeshaa Technologies. Table of Contents

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

How to Run Your Existing Android APK on the Tizen Platform. Chandra Bajpai Matt O Keefe OpenMobile World Wide

M 2 M IWG. Eclipse, M2M and the Internet of Things. Overview. M 2 M Industry WorkGroup! M2M?

Internet of Things. Opportunities for device differentiation

Intelligence at the Edge: Data Analytics in the Mobile World to Improve Business Decisions and Generate Value

Innovation with a difference

Lecture Embedded System Security A. R. Darmstadt, Introduction Mobile Security

The Platform is the Planet

MS-20485: Advanced Windows Store App Development Using C#

NanopowerCommunications: Enabling the Internet of Things OBJECTS TALK

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Seedling Internet of Things (IoT) and Wearables Platform

Disruption Tolerant Networks and its relevance to IOT/M2M. Extensible NMS Support for DTN Mesh Networks + Applications

A Survey on Mobile Forensic for Android Smartphones

IoT: New Opportunities for Semiconductor Industry Growth. Andrew C. Russell Vice President Marketing Greater China

Connected Homes: Enabling a Digital Lifestyle

The Internet of Things: Opportunities & Challenges

Sentrollers and The Internet of Things

IoT R&I on IoT integration and platforms INTERNET OF THINGS FOCUS AREA

Enabling Smart Data on M2M Gateways and Aggregators

ANDROID OPERATING SYSTEM

THE RTOS AS THE ENGINE POWERING THE INTERNET OF THINGS

Workshop on Android and Applications Development

Mobile Operating Systems. Week I

REASONS TO CHOOSE A SMART ALARM

KEEPING YOUR SANITY AS YOU EMBRACE CLOUD AND MOBILE

Here to take you beyond Mobile Application development using Android Course details

User's Guide. [Home Network] app. Model No.

An Introduction to Android

How Network Operators Do Prepare for the Rise of the Machines

Mobile Phones Operating Systems

MOBILE ARCHITECTURE FOR DYNAMIC GENERATION AND SCALABLE DISTRIBUTION OF SENSOR-BASED APPLICATIONS

AllJoyn Analytics Service Framework 1.0 Interface Definition

Mobile application testing for the enterprise

Applying Home Automation Technology Presented by: Greg Rhoades Director of Marketing, Leviton Security & Automation. June 12, 2013

Sensor Fusion Mobile Platform Challenges and Future Directions Jim Steele VP of Engineering, Sensor Platforms, Inc.

OPENNESS, PARTNERSHIP AND ALLIANCES: THE LEGRAND STRATEGY FOR THE IOT MARKET

Introduction to Android

Towards the Web of Things

In the pursuit of becoming smart

Wi-Fi, Bluetooth, and the Internet of Things

Android Architecture. Alexandra Harrison & Jake Saxton

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

Video conferencing with its multiple simultaneous video chats demands a good deal from your computer. The following platforms are required:

SNAPPIN.IO. FWR is a Hardware & Software Factory, which designs and develops digital platforms.

Intel Gateway Solutions for the Internet of Things. Intel Quark SoC X1000 Applications Marketing Seminar Anaheim, California Oct.

Firefox OS Features Guide

Introduction to Android Development. Ed Burnette

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

A UNIVERSAL MACHINE FOR THE INDUSTRIAL INTERNET OF THINGS. MultiConnect Conduit

Horizontal IoT Application Development using Semantic Web Technologies

An Introduction to OSVR

Mobile Enabling Security Products for a Leading Security Firm. Case study

Agenda What can we do now? And 5 years from now we will still be current!

The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, / X

Internet of things (IOT) applications covering industrial domain. Dev Bhattacharya

congatec AG How to come around the IoT data security challenges

Using Cloud Services for Building Next Generation Mobile Apps

Evolution of Smartphones And Android Operating System

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

Mobile Application Marketplace 2015: Market Analysis and Assessment of Future Evolution and Opportunities

Remote Monitoring and Controlling System Based on ZigBee Networks

APP DEV. We build your ideas into web and mobile applications. steicho. Technological Solutions

Smart Systems: the key enabling technology for future IoT

State of the GStreamer Project. Jan Schmidt. Centricular Ltd

True Web Application Management: Fixing the Gaps in EMM Solutions

Tronico Technology Company Limited. First step of IOT - DIY smart home

Introduction to Android

Home Monitoring and Control service provided by Verizon Online LLC

Signal K - The Internet of Things Afloat & Next Generation Interfacing

IoT Potential Risks and Challenges

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?

Dell Wyse Cloud Connect

Transcription:

Programming the Internet of Things Why Devices Need APIs December 8, 2014 Greg Burns Chair of Technical Steering Committee AllSeen Alliance 2 December 2014 AllSeen Alliance 1

Mobile The largest technology platform ~3.3 billion unique subscribers 6.8 B connections 7.2 B people Source: GSMA Intelligence, November 13; UN, November 2013 2

And that platform is about to be dwarfed Massive surge in connected things has already begun By 2020, 40.9 billion things will be connected * Via Wi-Fi, wire line, cellular, and proximal networks Benefiting billions of people worldwide 75% of the growth between today and the end of the decade will come from non-hub devices Transforming: Industry Infrastructure Media Education Work Recreation Family Daily life AllSeen Alliance 3 * Source: https://www.abiresearch.com/press/the-internet-of-things-will-drive-wireless-connect

Internet of Things Today Laundry Cloud Security Camera Cloud Lighting C Cloud Speaker B Cloud Lighting B Cloud Fridge Cloud TV Cloud NOW PLAYING: Artist: Flowers Song: Daisy Lighting A Cloud Speaker A Cloud 4

Ubiquitous connectivity promises to make devices smart But ONLY if they speak the same language hello world! 당신은 내 말 들려? Tem alguém aí? 100010101011 Computing devices Consumer goods and appliances Home Auto Industrial Devices that can t connect across brands, categories, and operating systems will be left out 5

Network topology matters Someone s at the door Someone s at the door Laundry is ready! Someone s at the door Laundry is ready! Coffee is done Coffee is done Direct communication is fast, efficient, and secure. No need to go out to the cloud to talk to the device right next to you! NOW PLAYING: Artist: Flowers Song: Daisy 6

Internet of Things Tomorrow Secured Proximal Cloud NOW PLAYING: Artist: Flowers Song: Daisy Various Cloud Services 7

What are these things of which you speak? Without the right combination of hardware, connectivity and software a Thing is just a Thing. Ultimately it is software that makes a Thing an Internet-of -Things Thing. 8

APIs - how software talks to software Well constructed software has clean boundaries between the internals of the implementation and the external interfaces exposed to other software. We generally call these external interfaces Application Programming Interfaces (APIs) APIs are what makes it possible to incorporate existing functionality into new code Software platforms are simply collections of APIs Windows, Linux, Android, ios, OSX are defined by the APIs they provide Examples abound - OpenGL, PhysX, Webkit, every social network on the planet! 2 December 2014 AllSeen Alliance 9

APIs for IoT devices IoT devices are characterized by the software they run so: When IoT devices talk to IoT devices it is software talking to software IoT devices should have APIs But these IoT devices are all so different But often have very similar functions What APIs should IoT devices have? Some standard APIs Some device specific APIs 2 December 2014 AllSeen Alliance 10

IoT needs a framework to expose the various APIs of connected devices in a consistent way. A single platform allowing products to expose their capabilities LOCK DOORS DISPLAYS LIGHT BULBS SPEAKERS GARAGE DOOR CLOCKS SENSORS COOL PICTURES HEAT VIDEO TVs DRAPES The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance 11

Devices describe their capabilities via discoverable self-describing service interfaces I can send notifications. I have control panel I have a clock interface I can send notifications I display notifications. I have the clock interface! I display notifications. I have the clock interface! I can send and display notifications I can send notifications I have control panel I display notifications. I have the clock interface! 72 120 80 I have lighting interface The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance 12

Standards What we don t want: There s an App for that thing And an App for that thing And yet another App for that thing Devices that have similar functionality should expose the same APIs Every device with a clock should expose a set-clock API Every device that has a battery should expose a battery level API Manufacturers cannot differentiate by exposing necessary functionality in different ways 2 December 2014 AllSeen Alliance 13

Exposing smartphone APIs enabled new experiences - that no one had ever thought of GPS MICROPHONE GPU TOUCHSCREEN ACCELEROMETER DSP GYRO 14

The problems to be solved in an open interoperable way DISCOVER nearby friendly devices IDENTIFY services running on those devices ADAPT to devices coming and going MANAGE diverse transports INTEROPERATE across different OSes EXCHANGE information and services SECURE against nearby bad actors 15

Baseline for an API framework for IoT Must be designed to work with existing programming languages Java, C, C++, C#, JavaScript, Python, etc Must support modular construction To allow standard building blocks To allow innovation Must include facilities for discovery Find out what APIs a device has rather than what the device is Must support privacy and security Which APIs can be used by other devices Authentication and data encryption 2 December 2014 AllSeen Alliance 16

The AllJoyn Project An Open Source Framework for the Internet of Things 17

A year ago a group of companies formed the AllSeen Alliance A nonprofit consortium dedicated to enabling the widespread adoption of products, systems and services that support the Internet of Things through an open environment, vibrant ecosystem and thriving technical community. Hosts and advances an industry-supported software and services framework based on the collaborative AllJoyn open source project. This collaborative open source framework enables hardware manufacturers and software developers to create interoperable products that can discover, connect and communicate directly with other devices, systems and services regardless of brand. 2 December 2014 AllSeen Alliance 18

Alliance and Objectives Supporting the Internet of Things through an open environment, vibrant ecosystem and thriving technical community. Alliance Open Source Community Enable Vibrant Ecosystem Evolution of AllJoyn Evangelize Contribute & Use Industry leaders Tech/software innovators To learn more about the AllSeen Alliance visit: www.allseenalliance.org To find out about participating in the AllSeen Alliance contact: Joe Speed <jspeed@linuxfoundation.org> 2 December 2014 AllSeen Alliance 19

AllJoyn Software Framework: High-level architecture A comprehensive software framework lets devices and applications communicate AllJoyn App Layer Defines the User experience AllJoyn Service Frameworks Interoperable, cross-platform modules for common IoE functionality Defines common interfaces between devices AllJoyn Core Libs Provides ability to find and connect to devices to do interesting things. Core libraries interact with the AllJoyn Router Provides access control and encryption Onboarding Notifications Discovery & Advertisement APIs AllJoyn Apps AllJoyn Application Layer AllJoyn Service Frameworks Control Panel Standard Application Layer Audio Lighting AllJoyn Core Libs Connection APIs OS Config Interface APIs AllJoyn Router Physical Layer (Wi-Fi, PLC, Ethernet, Bluetooth) Events and Actions. Security APIs AllJoyn Router Manages communications between devices and apps Dynamic network management The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance 20

Two Versions of the AllJoyn Framework To Choose Standard App Layer App dev or OEM writes this Standard Apps App Layer AllJoyn Standard Service Frameworks Standard Application Layer Thin Apps App Layer AllJoyn Thin Service Frameworks Standard Application Layer Thin App Layer OEM writes this Standard Core Libraries Multiple bindings, runs on HLOS AllJoyn Router AllJoyn Router can be bundled with a Standard App or run standalone AllJoyn Standard Core Libs AllJoyn Router HLOS AllJoyn Thin Core Libs RTOS Physical Layer (Wi-Fi, PLC, Ethernet, Bluetooth) Thin Core Libraries C bindings, runs on RTOS Thin Apps using Thin Core requires an AllJoyn Router in the network The AllJoyn software framework is a collaborative open source project of the AllSeen Alliance 21

Open source building blocks for value added services Use AllJoyn Core Library and Service Frameworks to create differentiated offerings Not licensed under open source; addresses specific use cases Value Added Services (e.g., your differentiation) AllJoyn Core: Discovery, connectivity, network management from AJ Router + core libraries AllJoyn Service Frameworks Onboarding Control Panel Notifications Audio Config Future Onboarding, notification, audio compatibility from AllJoyn Service Frameworks AllJoyn Core Libraries Discovery Connection / Network Management Security AllJoyn Router Licensed under open source; general IOE use cases 22

For More Information Alliance Wiki: https://wiki.allseenalliance.org Documents, downloads, and developer tools Source Code, release overviews, roadmaps Training & Service Framework details Working Groups, New Proposals & meeting minutes Forums: https://ask.allseenalliance.org/questions Certification: https://allseenalliance.org/certification Releases & Roadmaps: https://wiki.allseenalliance.org/release/overview Public Mail Lists: https://lists.allseenalliance.org/mailman/listinfo Showcase: https://allseenalliance.org/showcase Monthly Newsletter: https://allseenalliance.org/news-andevents/newsletters 23

For more information on AllSeen Alliance, visit us at: allseenalliance.org & allseenalliance.org/news/blogs 2 December 2014 AllSeen Alliance 24