IoT Tutorial

Thumbnail for IoT Tutorial

The Internet of Things … a concept that has as many definitions as there are things you can connect to the Internet. However, most definitions place an emphasis on the edge devices and the gateways, which is of course right in the realm that was the raison d’être of OSGi already so long ago.

This tutorial uses OSGi enRoute to develop an application for a Raspberry Pi. The Raspberry Pi is a formidable machine that would put many laptops to shame a few years ago. The OS is Linux and it has lots of inputs and outputs. For OSGi enRoute, we’ve developed a number of bundles that allow you to play with the Raspberry. This tutorial will explain how to get started with the Raspberry Pi and then show how to do interesting things.

A disclaimer. This tutorial is about learning to use OSGi enRoute, not about learning Java, Git, Eclipse, nor the Raspberry Pi setup details. It is assumed that you have basic experience with these tools.

If you have any questions about this tutorial, please discuss them in the forum. And as always, pull requests are highly appreciated.


  1. Prerequisites – The prerequisites for the use of OSGi enRoute (Important!)
  2. Exploring – Exploring the Pi
  3. Developing – Developing a Java program on the Pi


So, you’ve finished this tutorial! What’s next?

Well, first, since we’re still in beta, we’d love feedback. Our most favorite feedback is a pull request on the documentation. As an early user you must have run into some rough edges, outright stupidities, or you had a brilliant idea. Just go to the OSGi enRoute repository on Github. Clone it in your own account, make your changes or additions, and send a pull request. We, and others like you, highly appreciate these kind of contributions.

After you’ve done this tutorial you should have a basic feeling of how to build an application with OSGi enRoute. So the best way to continue learning is to build a small application based on these principles. Running into real problems is the best way to learn a technology. If you run into problems, use the Forum to ask questions and get answers.

And watch this space, we will expand this site with hundreds of data sheets of services you can find on the net. These data-sheets will show you how to use this service in your application with real examples.