Gsoc 2017

XMPP-IoT is again part of Google summer of code

Adding XMPP-IoT to the openHAB smarthome project using Smack is a project within XMPP, propsed for google summer of code 2017. This project will focus on the integration of the support of XMPP-IOT extensions in the smart home plattform OpenHAB, through the use of SMACK libraries. Adding XMPP to OpenHAB enables a secure interoperable transport of data between different OpenHAB instances, for example between offices or you could share your outside temperature with your neighbor. Furthermore it will open the possibilty of managing any OpenHAB server without the need of opening ports in your firewall. Looking forward to a nice summer coding.

Teaser Tasks for 2017

Below you find the teaser tasks for 2017. Mentor for the project is Davide Conzon and is reachable at

  • xmpp:co_davide@chatme.im
  • twitter:@co_davide
  • skype:davide.conzon

General discussions about participating in xmpp summer of code is done in the chat room and info is on the xmpp wiki

  • xmpp:gsoc@muc.xmpp.org
  • Wiki xmpp summer of code

  • teaser tasks should be tested and ran on your own environment before sent in with pullrequest
  • Change this page with a pullrequest when you have done a tesertask so others can focus on the other ones
  • Keep Davide Conzon in the loop when you choose a task
  • Feel free to come with your own suggestions of a teaser task encouraged

Getting started

Go through this site and and of course http://xmpp.org/ to get the idea of what Internet of Things is and how XMPP is a good fit for that. Then look at the Tutorials and the documentation of SMACK and OpenHAB. A good thing to go further is also to look at the extensions especially xep323 and xep325. 323 enables you to read values from a device and 325 enables you to write values, so in essence they are what you need to get started.

1. Teaser task 1

There is an implementation on XEP 0323, reading values from devices. The code is present on github Create a runnable environment with the extension available. Create some examples and a tutorial on http://www.xmpp-iot.org/tutorials/ just like the python tutorial http://www.xmpp-iot.org/tutorials/python-tutorial/

Done by:

2. Teaser task 2

There is an implementation on XEP 0324, for provisioning. The code is present on github Create a runnable environment with the extension available. Create some examples and a tutorial on http://www.xmpp-iot.org/tutorials/ just like the python tutorial http://www.xmpp-iot.org/tutorials/python-tutorial/

Done by:

3. Teaser task 3

There is an implementation on XEP 0325, writing values to devices. The code is present on github Create a runnable environment with the extension available. Create some examples and a tutorial on http://www.xmpp-iot.org/tutorials/ just like the python tutorial http://www.xmpp-iot.org/tutorials/python-tutorial/

Done by:

4. Teaser task 4

There is an implementation on XEP 0347, writing values to devices. The code is present on github Create a runnable environment with the extension available. Create some examples and a tutorial on http://www.xmpp-iot.org/tutorials/ just like the python tutorial http://www.xmpp-iot.org/tutorials/python-tutorial/

Done by:

5. Teaser task 5

Create test suite (using Java Junit) to test the implementation of the XEP 0325 and XEP 323 as smack extensions (the work can be based on the tests already present in the library for the other extensions) code avaliable in: https://github.com/igniterealtime/Smack/tree/master/smack-experimental/src/main/java/org/jivesoftware/smackx/iot

Done by:

Google summer of code 2016

Interoperability testtool for IoT is a project within XMPP that is part of the google summer of code 2016 This years XMPP-IoT project will focus on creating an interoperabilty testing environment for XMPP based distributed devices pretty much the same idea as on http://xmpp.net. You will add a JID to testtool and it will perform a number of Interoperabilty tests to se what capabilities the device has.

getting started:

Teaser tasks for 2016

Below you find the teaser tasks for 2016 Mentor for the projekt is Joachim Lindborg and is reachable at

-xmpp:jabberjocke@jabber.se

-twitter:@joachimlindborg

  • teaser tasks should be tested and ran on your own environment before sen in with pullrequest
  • Change this page with a pullrequest when you have done a tesertask so others can focus on the other ones
  • Keep Joachim Lindborg in the loop when you choose a task
  • Feel free to come with your own suggestions of a teaser task encouraged

Getting started

Go through this site and and of course http://xmpp.org/ to get the idea of what Internet of Things is and how XMPP is a good fit for that. Then look at the Tutorials and the documentation on SleekXMPP. A good thing to go further is also to look at the extensions especially xep323 and xep325

  • http://xmpp.org/
  • http://xmpp.org/uses/internet-of-things.html
  • http://www.xmpp-iot.org/tutorials/python-tutorial/
  • http://sleekxmpp.readthedocs.org/en/latest/
  • http://xmpp.org/extensions/
  • http://xmpp.org/extensions/xep-0323.html
  • http://xmpp.org/extensions/xep-0325.html

1. Logging data in a database

One of the crucial things in IoT is storing data you should extend the History logger script with possibilty to store the data in a database either locally or on a remote system. Do the work in a plugin fashion so it will be easy to extend with other database api’s in the future. Also create a tutorial on this site to show how it works. ex database could be https://influxdata.com/

[ ]Done by:

2. XMPP-IoT’ifying a device

in the example catalog you find an example on extending the PhilipsHue gateway so it can be used over the XMPP-IoT network. Find another API based IoT device or system and extend it so it can be accessed over the XMPP network. some ideas:

[ ]http://developer.xively.com/ Done by:

[ ]https://dev.netatmo.com/doc Done by:

[ ]Add your own thing Done by:

3. Make a script querying another devcie’s capabilities

XEP 0030 Disco is a way in XMPP to discover another XMPP enpoint’s capabiilties. Create a script in the example catalog catalog that query another JID for it capabilities and list’s the IoT realted Xep’s it supports in a nice fashion prefrably creating a nice markdown page.

[ ]Done by:

Google summer of code 2015

The summer project of 2015 is kept here as a reference. google summer of code 2015. The project created a gui and a cordova application that you can use to interact with IoT devices.

Deliverables

  • IoT Protocols implementation for XMPP Chat Client Converse.Js
  • Cross Platform Mobile Application for Sensoring and Controlling of Data sent or received by Devices
  • History Logger for Sensor Devices

Week 12

Creating a History logger instans using a separate xmpp JID resource

Project Ideas

The XMPP community is part of the Google summer of Code 2015 and for XMPP-IoT we have several projects