fosdem iot devroom, 2015, open scalable iot systems with xmpp

Post on 15-Jul-2015

213 Views

Category:

Internet

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

4/6/2015 SIDA 1

Centre for Energy Efficiency in Sweden

with leading companies, entrepreneurs and scientists

Fosdem 2015 XMPP-IoT.org

XMPP an open scalable IoT infrastructure.

@joachimlindborg SUST.SE, LSYS.SE

4/6/2015 SIDA 33

To bridge the valley of death for new technology regarding energyefficiency

4/6/2015 SIDA 442015-04-06

1951: “The house controlled through phone pads“.

A phone switchboard act as the message board, 2 digit adressing, uniform relay messaging

Planning for a wireless connection for the garage door courtesy to Carl Olov Elmsjö

4/6/2015 SIDA 55

IoT today

Move data to a server and make it useful there.

4/6/2015 SIDA 6

The problem: How can any thing work together?

API API API API APIAPI

API API

Especially if there is a business model?

4/6/2015 SIDA 8

We need an open messaging layer to share information

API API API API APIAPI

API API

No more api of api layering

4/6/2015 SIDA 99

XMPP Federated messaging network • Many Servers, Clients

• Android, iOS, Cordova

• Combine server with any client

• Federation between servers

• Scalable for Millions of users

• Running for years

• Publish Subscribe

• Anonymity

• SECURITY fokused

grandma

@old.co

m

oldfriend

@me.com

Java, smackPython, SleekXMPP Plain C,

4/6/2015 SIDA 1010

Frienship • Double agreement

• Between any name@org.com

• Only between federated domains

oldfriend@me.com

FriendRequest

Agree

FriendRequest

Agree

4/6/2015 SIDA 1111

Provisioning parent • Friend management

• Authorization

• Node

• Field

• Value?

oldfriend@me.com

OK?

grandma@ol

d.com

4/6/2015 SIDA 12

Creating services across business borders.

Utility

Health

Heat

Alarm

House

4/6/2015 SIDA 13

A thing in one domain sends messages to a friend in another domain

Meter43@vattenfall.se

Smoke54@verisure.se

Heatpump524523@Nibe.com

Steptrainer@joachim.lindborg.se

fridge@smartcompany.com

4/6/2015 SIDA 14

SECURITY

• Client to sever encryption

• Server to server encryption

• End to End encryption

• Authentication

• Authorization, Node, field

• Discovery, take ownership

4/6/2015 SIDA 1515

Demo

SwedenFosdem

XMPP network

HouseRaspberryMe Relays Hue

4/6/2015 SIDA 1616

The Demo

SwedenFosdem

XMPP network

HouseRaspberryMe Relays Hue

gogonet8@jabber.se

fosdemhue@jabber.se

gogonet6@jabber.se

4/6/2015 SIDA 1717

The standard http//xmpp.org/extensions

http://wiki.xmpp.org/

http://xmpp-iot.orgRead a value, Xep 323

Write a value, Xep 323

Provisioning, Xep 324

Concentrator, Xep 326

4/6/2015 SIDA 1818

The standard Xep 323 • Readout data from

device

• Need to be friends

• More granularity on

security

• Can be big readouts

• Who to read what

Alarm Power

XMPP

federated

transportXMPP server

Verisure.seXMPP server

Maingate.se

Ext APIExt API

4/6/2015 SIDA 1919

Xep 323 Read xml<iq type='get'

from='master@clayster.com/amr'

to='device@clayster.com'

id='1'>

<req xmlns='urn:xmpp:sn' seqnr='1' momentary='true'/>

</iq>

<iq type='result'

from='device@clayster.com'

to='master@clayster.com/amr’ id='1'>

<accepted xmlns='urn:xmpp:sn' seqnr='1'/>

</iq>

<message from='device@clayster.com'

to='master@clayster.com/amr'>

<fields xmlns='urn:xmpp:sn' seqnr='1' done='true'>

<node nodeId='Device01'>

<timestamp value='2013-03-07T16:24:30'>

<numeric name='Temperature' momentary='true' automaticReadout='true' value='23.4' unit=’C'/>

</timestamp>

</node>

</fields>

</message>

4/6/2015 SIDA 2020

Xep 325 Write a value

<iq type='set'

from='master@clayster.com/amr'

to='digital.output@clayster.com'

id='1'>

<set xmlns='urn:xmpp:sn:control' xml:lang='en'>

<boolean name='Output' value='true'/>

</set>

<iq type='result'

from='digital.output@clayster.com'

to='master@clayster.com/amr'

id='1'>

<setResponse xmlns='urn:xmpp:sn:control' responseCode='OK'/>

</iq>

4/6/2015 SIDA 2121

The Big question nobody asked

BUT it’s XML !!???

• XEP 322 http://xmpp.org/extensions/xep-0322.html

• W3C binary compression EXI http://www.w3.org/TR/exi/

• Very efficient

• Small devices can do binary stanzas without building xml only C

stubs

• And still valid XML

4/6/2015 SIDA 22

About Joachim Lindborg•Currently CTO of sust.se, I'm a technology enthusiast that believe that IoT is really about human interaction with systems adding value to life and that closed systems will die in favor for open one.

•For the past 15 years I have been working with system integration, especially at the intersection of energy and IT. I was one of the founders of homesolutions.se a start-up company integrating systems for supervision and maintenance of buildings.

•In the IT boom during the late 1990s I was employed by the swedish Utility Vattenfall to develop solutions for the smart home. It was an exciting time but it ended in disappointment. Now we are back again and with Internet of Things and a more stable technology I do believe that this time we will succeed. Right now I am working with companies in home security, heating and air conditioning, with energy companies and service developers in a project integrating all these technologies with sound business models for smart home services for energy control and efficiency.

Email: joachim.lindborg@sust.se

Linkedin: se.linkedin.com/in/joachimlindborg/

top related