Eclipse-IoT-in-the-box, or how to try out (almost) all Eclipse IoT projects from one single Raspberry Pi!
The number of Eclipse IoT projects keeps growing (we are approaching 20!) and it is sometimes difficult for people to quickly understand the problems each of these projects are trying to solve. While we have been pretty successful using the Greenhouse demo™ over the past few years to explain the "big picture", this is a rather limited use case and it does not really allow us to showcase some of our newest projects like Tiaki or Vorto, that solve more horizontal concerns.
So a few weeks ago, I started creating a new setup for Eclipse IoT demos. I hope it will be adopted by everyone interested in having an easy way to setup a platform that explains what Eclipse IoT is all about. You should read this article to the end if you want to learn how to replicate this setup yourself, and build your very own Eclipse IoT box!
It is probably worth mentioning at this point that I have now adopted the Raspberry Pi 2 for IoT demos, since having more horsepower means you get to run more processes simultaneously. This is exactly what you need when you want to demo several projects at the same time (even though this is probably not what you would do in a real-life scenario)! There are only a few tweaks to be made to the "vanilla" Raspberry Pi:
Adding a touchscreen
In order to allow for easy interaction, I've attached a touchscreen to my Pi. I got a 7" HDMI display for about $90. The set-up is pretty straightforward, as it's essentially just seen by the system as a regular screen and a regular mouse!
Running the IoT servers locally
When you make demos on the fly, you do not always have Internet access. Therefore, the Raspberry Pi runs a Mosquitto MQTT broker and a Leshan LWM2M server to make it possible to play with the technology even when completely off the network.
A versatile prototyping platform
As of today, the demonstrators included in the "demo box" are:
- IoT Gateways: This helps to discover the capabilities of Kura, and reuses the existing "Greenhouse demo" (including sensors) to showcase how Kura can act as an IoT application container.
- Smart Home: The Raspberry Pi runs the SmartHome/OpenHAB 2 demo bundle, and if you attach a WeMo plug or a Philips Hue to the same network as the Raspberry Pi, you can start using some really cool features like automatic device discovery!
- Device Management: The box runs the Leshan LWM2M server, and a simple Wakaama client registers against this server so you can perform device management operations directly with the box.
- Service Discovery: Tiaki provides an implementation of DNS-SD, and the demo box allows you to quickly run its command line examples.
- MQTT and Mosquitto: For people not familiar with the MQTT "way of life", I've packaged a nice live visualization of the MQTT topics hierarchy that allows to understand better what's happening on the Mosquitto broker that is running on the demo box.
It is actually pretty easy and fun for you to setup your own Eclipse IoT Demo Box, and to add your own features/applications should you want to:
- Get yourself a Raspberry Pi 2 and a touchscreen
- Go to https://github.com/kartben/eclipseiot-demobox and follow the instructions in the README
- ... That's it!
Just let me know if you try it out, I am very interested in what you will be doing with Eclipse IoT project!