Customize and control connected devices

21
Cutomize and Control Connected Devices Mirco Vanini ROME 18-19 MARCH 2016

Transcript of Customize and control connected devices

Page 1: Customize and control connected devices

Cutomize and Control Connected Devices

Mirco Vanini

ROME 18-19 MARCH 2016

Page 2: Customize and control connected devices

Agenda

• AllSeen and AllJoyn• AllJoyn Platforms and APIs• AllJoyn in Windows 10• Building an AllJoyn Device & App for

Windows 10

Page 3: Customize and control connected devices

IoT Barrier: Proprietary Solutions

IHV Transport ISV Schema OS API Closed System

Page 4: Customize and control connected devices

AllSeen and AllJoyn

AllJoyn is an open source communication framework that enables IoT device and app interoperability.

The AllSeen Alliance is a non-profit consortium that oversees AllJoyn. Stated focus is to enable the “Internet of Everything”.

The AllSeen Alliance is a cross-platform Linux Foundation Collaborative Project.

Page 5: Customize and control connected devices

The innovative companies that support AllJoyn

Premier Membershttps://allseenalliance.org/alliance/members

Page 6: Customize and control connected devices

AllJoyn Enables IoT Device Interoperability

Page 7: Customize and control connected devices

AllJoyn overview

AllJoyn is an open sourced framework to enable proximity based peer to peer mobile networking.

It provides an abstraction layer with a clean API to the underlying networks stacks (wireless, bluetooth) which is relatively easy to extend with new network implementations.

AllJoyn provides service advertisement and discovery abstraction, as well as various application to application security mechanisms and a Remote Method Invocation abstraction.

Page 8: Customize and control connected devices

AllJoyn Platforms and APIs

Page 9: Customize and control connected devices

AllJoyn Platforms & Languages Bindings (15.04 Release)

Page 10: Customize and control connected devices

AllJoyn Common Service Frameworks

Send and receive device notifications

Get devices onto wireless networks

Manage and configure devices

Discovery and app/device metadata

Page 11: Customize and control connected devices

AllJoyn Software Roles

Consumer (client)Discovers and connects to one or more producers. Controls thing and consumes data from thing.

Producer (server)

Page 12: Customize and control connected devices

AllJoyn Architecture

The AllJoyn framework establishes a standard by which devices and apps can advertise and discover each other. AllJoyn devices describe their capabilities via service interfaces on a virtual bus.

Routing Nodes (RN) - Also referred to as “Routers”, they can talk to any node.

Leaf Nodes (LN) - Also referred to as “Applications”, they can talk to routing nodes or other leaf nodes via routing nodes

Page 13: Customize and control connected devices

AllJoyn Architecture

Page 14: Customize and control connected devices

AllJoyn in Windows 10

Optimized performance, full integration

Reduced code size, integrated with Windows SDK

Seamless AllJoyn device and app development

Servicing, reduced code size

C and UWP Samples

Page 15: Customize and control connected devices

AllJoyn UWP App Development

• Install Windows 10 and SDK/Tools• Identify and/or Define AllJoyn

interfaces• Generate code• Implement and hook up AllJoyn

functionality• Build for targets• Test and Certify

Page 16: Customize and control connected devices

Windows.Devices.AllJoyn Overview

Page 17: Customize and control connected devices

AllJoyn UWP Code Generator

Consumer and Watcher Code

(*.cpp, *.h)

Producer Code (*.cpp, *.h)

Page 18: Customize and control connected devices

Device System Bridge (DSB) Framework

Page 19: Customize and control connected devices

Demo

Page 21: Customize and control connected devices

Thanks!

ROME 18-19 MARCH 2016

Mirco VaniniMicrosoft® MVP Windows Hardware Engineering (IoT, Mobile, and Desktop)

@[email protected]

All pictures belong

to their respective authors