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 3
3
To bridge the valley of death for new technology
regarding energyefficiency
4/6/2015 SIDA 4
42015-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 5
5
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 API
API
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 API
API
API API
No more api of api layering
4/6/2015 SIDA 9
9
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 10
10
Frienship • Double agreement
• Between any name@org.com
• Only between federated domains
oldfriend@me.com
FriendRequest
Agree
FriendRequest
Agree
4/6/2015 SIDA 11
11
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 15
15
Demo
SwedenFosdem
XMPP network
HouseRaspberryMe Relays Hue
4/6/2015 SIDA 16
16
The Demo
SwedenFosdem
XMPP network
HouseRaspberryMe Relays Hue
gogonet8@jabber.se
fosdemhue@jabber.se
gogonet6@jabber.se
4/6/2015 SIDA 17
17
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 18
18
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
transport
XMPP server
Verisure.se
XMPP server
Maingate.se
Ext API
Ext API
4/6/2015 SIDA 19
19
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 20
20
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 21
21
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/

Fosdem IoT devroom, 2015, open scalable IoT systems with XMPP

  • 1.
    4/6/2015 SIDA 1 Centrefor 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
  • 2.
    4/6/2015 SIDA 3 3 Tobridge the valley of death for new technology regarding energyefficiency
  • 3.
    4/6/2015 SIDA 4 42015-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.
    4/6/2015 SIDA 5 5 IoTtoday Move data to a server and make it useful there.
  • 5.
    4/6/2015 SIDA 6 Theproblem: How can any thing work together? API API API API API API API API Especially if there is a business model?
  • 6.
    4/6/2015 SIDA 8 Weneed an open messaging layer to share information API API API API API API API API No more api of api layering
  • 7.
    4/6/2015 SIDA 9 9 XMPPFederated 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,
  • 8.
    4/6/2015 SIDA 10 10 Frienship• Double agreement • Between any name@org.com • Only between federated domains oldfriend@me.com FriendRequest Agree FriendRequest Agree
  • 9.
    4/6/2015 SIDA 11 11 Provisioningparent • Friend management • Authorization • Node • Field • Value? oldfriend@me.com OK? grandma@ol d.com
  • 10.
    4/6/2015 SIDA 12 Creatingservices across business borders. Utility Health Heat Alarm House
  • 11.
    4/6/2015 SIDA 13 Athing 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
  • 12.
    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
  • 13.
    4/6/2015 SIDA 15 15 Demo SwedenFosdem XMPPnetwork HouseRaspberryMe Relays Hue
  • 14.
    4/6/2015 SIDA 16 16 TheDemo SwedenFosdem XMPP network HouseRaspberryMe Relays Hue gogonet8@jabber.se fosdemhue@jabber.se gogonet6@jabber.se
  • 15.
    4/6/2015 SIDA 17 17 Thestandard 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
  • 16.
    4/6/2015 SIDA 18 18 Thestandard 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 transport XMPP server Verisure.se XMPP server Maingate.se Ext API Ext API
  • 17.
    4/6/2015 SIDA 19 19 Xep323 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>
  • 18.
    4/6/2015 SIDA 20 20 Xep325 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>
  • 19.
    4/6/2015 SIDA 21 21 TheBig 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
  • 20.
    4/6/2015 SIDA 22 AboutJoachim 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/

Editor's Notes

  • #5 Going back to the future: The phone network was a quite a large network of things transporting voice, fax paper, modem traffic, if you had the phone number you could connect to any other peer, in 1951 a smart home was made with a phone switchboard each xx phone number would toggle a function, garage door or lights in living room (courtesy to my teacher Carl Olof Elmsjö who have inspired me a lot).
  • #6 The IoT trend today is that you are only interested in the transport getting things connected to a database where you do some processing
  • #7 Even if things are capable of talking between eachother over wifi for example the business models locks down the device to not tallk to anything else. So the trick is how do we share information between companies?
  • #8 The
  • #9 We need an open layer not ”yet another integrator api” temboo ifttt etc are all integrating and creating yet another api layer.
  • #10 The xmpp federated community is already running a open secure network of federated servers.
  • #16 The
  • #17 The