Tigase IoT Framework was created as an easy to use framework for creation of devices with support for IoT. It started as with support for Raspberry Pi devices but most of it is hardware agnostic and can be used on any platform capable of running Java.

Project consists of following modules:

  • runtime

Runtime is a wrapper over Jaxmpp Bot Framework which provides easy to use base application/framework to create IoT devices which communicate using XMPP and PubSub.

  • devices

Module contains implementation of devices/sensors and base classes which should be used to create new drivers for sensors

  • devices-rpi

Here you will find drivers for a few sensors which can be used on Raspberry Pi.

Can be replaced by alternative implementations for other hardware

  • client-library

It is a library created for use in a XMPP clients based on Jaxmpp which will act as a user interface for controlling IoT devices using this framework.

  • client

It is an example client which is web UI for controlling IoT devices. It's created in GWT and uses client-library.

  • documentation

Contains up-to-date version of documentation in asciidoc. To generate documentation in HTML use following command:

  • on Unix ./gradlew asciidoc

  • on Windows gradlew.bat asciidoc

For detailed description see documentation of a Tigase IoT Framework project which you can also download from Files section.

First steps

The very first step is to obtain full documentation and take a look at it. It cover from "Getting started" topic and advanced installation as a service to dive deep into API and development.

Please note documentation binary attached to the article (and in files) section are provided for convenience. They may not contain the latest version of the documentation.

In order to get the latest version of the documents, we recommend to get the sources and generate documentation locally:

 $ git clone
 $ cd tigase-iot-framework
 $ ./gradlew asciidoc

Then, in the 'documentation/build/docs' folder you will find current version of documentation for the project in both HTML and PDF format.

Use-case diagram