Eclipse IoT in 2016: A Year in Review

As we are wrapping up the year, it is a good time to reflect on all the great things that have happened to the Eclipse IoT community this year.

IoT logo

Eclipse IoT in 4 figures

The 26 different open-source projects that are hosted at Eclipse IoT total 2.3M+ lines of code. More than 250 developers have contributed code to the projects during the past 12 months, and during the same period, our websites have seen 1.3 million of visitors.

Contributions by company

It is always interesting to look at who is contributing to the Eclipse IoT projects. The commitment of companies such as Bosch Software Innovation, Eurotech, Red Hat, IBM, Intel, and many others to open source IoT really shows when you look at how much (working!) code they bring to Eclipse IoT.

Also interesting is the fact that 4 contributors out of 10 are not affiliated with any company – a great example of how pervasive open source is in IoT, with lots of people using the technology and helping improving it by providing patches, bug fixes, …

8 new projects joined the Eclipse IoT family

I am really excited to see how many new projects we onboarded this year, with a particular focus on IoT server technology, an area where very little had been available in open source until recently.

   ⇢ Eclipse Hono

Eclipse Hono provides a uniform API for interacting with devices using arbitrary protocols, as well as an extensible framework to add other protocols.

   ⇢ Eclipse Edje

Eclipse Edje provides an high-level API for accessing hardware features provided by microcontrollers (e.g GPIO, ADC, MEMS, etc.). It can directly connect to native libraries, drivers, and board support packages provided by silicon vendors.

   ⇢ Eclipse Milo

OPC Unified Architecture (UA) is an interoperability standard that enables the secure and reliable exchange of industrial automation data while remaining cross-platform and vendor neutral. Thanks to Eclipse Milo, people have access to all the open source tools necessary to implement OPC UA client and/or server functionality in any Java-based project.

   ⇢ Eclipse Whiskers

SensorThings API is an Open Geospatial Consortium (OGC) standard providing an open and unified framework to interconnect IoT sensing devices, data, and applications over the Web. It is an open standard addressing the syntactic interoperability and semantic interoperability of the Internet of Things. The Eclipse Whiskers project provides a JavaScript client and a light-weight server for IoT gateways.

   ⇢ Eclipse Kapua

Eclipse Kapua is a modular platform providing the services required to manage IoT gateways and smart edge devices. Kapua provides a core integration framework and an initial set of core IoT services including a device registry, device management services, messaging services, data management, and application enablement.

   ⇢ Eclipse Unide

The Eclipse Unide project publishes the current version of PPMP, a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.

   ⇢ Eclipse ioFog

The goal of Eclipse ioFog is to make developing IoT edge software feel like developing for the cloud, but with even more power.

   ⇢ Eclipse Agail

The Eclipse Agail project is a language-agnostic, modular software gateway framework for the Internet of Things with support for protocol interoperability, device and data management, IoT apps execution, and external Cloud communication.

Eclipse Paho & Eclipse Mosquitto are included in many vendors’ SDKs & starter kits

Can you spot a common denominator between these IoT platforms? Not only do they all support MQTT as a protocol to send data from the edge, but they also all provide SDKs that are built on top of Eclipse Paho and Eclipse Mosquitto.

A white-paper on IoT Architectures

This year, the Eclipse IoT Working Group members collaborated on a white paper that has been very well received, with tens of thousands of views and downloads. It is reflecting on the requirements for implementing IoT architectures, and how to implement the key functionality of constrained and smart devices and IoT backends with open-source software.

Ramping up in the Industrial IoT Space

As the different initiatives around “Industry 4.0” are becoming more mature, the ecosystem of open source projects available at Eclipse IoT (Eclipse neoSCADA, Eclipse Milo, Eclipse 4dic, etc…) is getting more and more traction. As an example, the 4diac team has demonstrated how to program a Bosch Rexroth PLC using 100% open source software at the SPS IPC Drives tradeshow this year.

Eclipse 4diac on IndraControl XM22 PLC from Bosch Rexroth and visualized using Eclipse Paho’s mqtt-spy

Virtual IoT now has 1,500+ members

The Virtual IoT meetup group has hosted dozens of webinars this year again. I highly encourage anyone to check out the recordings of our previous sessions – there is a lot of educational material there, delivered by world class IoT experts.

Trends for 2017

Next year I’m hoping to see a lot more happening in the aforementioned areas. More projects, of course, but also more integration of the current ones towards integrated stacks targeting specific verticals and industries. My colleague Ian also recently blogged on this topic.


One short last word: don’t forget to follow us on Twitter and Facebook to learn more about what is happening within our community.

Happy holiday season everyone!

Using MQTT and Eclipse Paho in Android Things

A couple of days ago, Google announced that they were essentially rebranding Brillo to Android Things (I do love that name, by the way!), and finally opening it for a Developer Preview.

There are a few things I already like very much in Android Things:

  • It is already supported on Intel EdisonNXP Pico and Raspberry Pi 3, and there are ready to use filesystem images that you can just flash to get going with Android Things in just minutes.
  • The Rainbow HAT sensor kit that’s available for Raspberry Pi is very cool, and includes a 4-digit LED display, 7 RGB LEDs, a temperature and barometric sensor, a piezzo buzzer for basic PWM-based audio, and three capacitive touch buttons. Sparkfun has a kit that’s targeting the Edison, while Adafruit’s kit is general purpose and meant for breadboard enthusiasts.
Rainbow HAT for Raspberry Pi (Photo credit: Pimoroni)
  • Anyone who’s tried to manipulate low-level peripherals using Java will be pretty happy to see that Android Things’ Peripheral I/O APIs provide nice wrappers for GPIOsPWMI2CSPI and UART.
  • Implementing IoT sensor drivers taps into the existing sensor framework you may already be familiar with if you’ve already tried to access the gyroscope or light sensor of an Android device in your app, and the same SensorManager API you’re already used to can be used with your new devices (for which a driver may already exist, and if not adding a new one does not seem overly complex)
  • Finding good development tools for building IoT solutions is always a challenge. It’s great to be able to leverage the Android SDK tools and Android Studio for things like device emulation, debugging, etc.

I just received my Rainbow HAT today and thought I would use the opportunity to do a quick tutorial on how to use MQTT with Android Things, using Eclipse Paho. What’s more, I’ll also show you a cool feature in mqtt-spy that will allow us to easily display the live temperature on a chart.

I used the Weather Station example from Android Things as a starting point, as it is already including code to publish data to the cloud using Google Pub/Sub. My fork is available on Github, and as you can see the changes to the original example are very limited!

Check out the video, and let me know if you have any questions!

Announcing the Open IoT Challenge 3.0 scholars

The third edition of the Open IoT Challenge officially started one week ago. More than 80 teams have submitted their entries and are now in the running to win the Open IoT Challenge 3.0!

Participants have about three months to complete their solution and show the world how open source and open standards can help build innovative IoT solutions. On February 27, they will have to submit their final project report and hope that their work ends up in the top 3 winning solutions.

For now, the judges have reviewed all submissions and we have awarded  a “starter kit” to the most promising solutions. We hope this will help them bootstrap their project. The kit comes in the form of $150 gift card to buy IoT hardware, as well as access to special offers from our sponsors.

The lucky teams/participants are (in no particular order):

  • Tom Morocz – Residential home diagnostics
  • Bilal Al-Saeedi – Water management for farms
  • Benjamin Lassillour – Fish farming management
  • Siva Prasad Katru – Agriculture app to manage a farm
  • Sergey Vasiliev – Environmental monitoring
  • Mark Lidd – build a secured device that can scan and detect IoT objects that could be compromised
  • Nedko Nedkov – Domestic intrusion detection system
  • Amarendra Sahoo – Retail food storage management
  • Deepak Sharma – Smart traffic lights and controller
  • Celso Mangueira – Breeding monitor
  • Vinayan H – MPulse: machine health monitor
  • Tien Cao-hoang – Sensor network to monitor fish farms
  • Anupam Datta – Factory equipment maintenance
  • Ettore Verrecchia – Intelligent monitored garbage collection system
  • Juan Pizarro – Greenhouse automation/smart farming platform
  • Marcos OAP – Low cost connected homes smart city system
  • Didier Donsez / i-greenhouse: monitor greenhouses for organic and auto-production agriculture with LoRa and Sigfox endpoints

As you see, all the submissions have very specific use cases in mind, and I’m really looking forward to seeing the solutions that will be built.

If you entered the challenge and your name does not come up in this list, it doesn’t mean you’re out – not at all! There were only so many entries we could select (and you may have noticed we selected more than initially planned), and unfortunately we had to draw a line somewhere. If you haven’t been awarded the “starter kit”, we still very much hope you will work on the project you’ve submitted.

All the participants will be sharing their journey on their blogs and on social media, so stay tuned to see what they will be up to! I will also be relaying some of the cool stuff being built on Twitter as well, of course.

Live demo of the MoDeS3 project at EclipseCon Europe 2016

At EclipseCon Europe I spent a few minutes chatting with István Ráth from IncQuery Labs. He was demoing a pretty awesome set of development tools for safety-critical domains (here: railway inter-locking system), and showing how to use them in combination with some cool Eclipse IoT Projects such as Eclipse Paho and Eclipse Mosquitto.

On a related note, this project was a finalist in last year’s edition of the Open IoT Challenge. Don’t wait and enter this year’s before November 25!

Live demo of AutoFOCUS at EclipseCon Europe 2016

AF3 (AutoFOCUS3) is an open-source, model-based, development tool for distributed, reactive, embedded software systems.
At EclipseCon Europe 2016, I spent a few minutes chatting with Johannes Eder and Thomas Böhm from the project team to learn more about the project.

You can check out the project website at http://af3.fortiss.org

[White Paper] Implementing IoT Architectures with Open Source

Eclipse IoT has just published a white paper that, although I’m obviously biased, is a nice read for anyone looking at understanding today’s IoT architectures, and the role that open source plays by providing some of the key software building blocks needed for implementing IoT solutions.

More specifically, the white paper looks at the core features that need to be provided by each of the three key components (stacks) of an IoT solution:

  • the constrained devices – those are typically the billions of devices you hear about in the news: they are cheap, very specialized, and often not capable in terms of communication and networking capabilities,
  • the gateways and smarter devices – here we’re talking about more powerful equipment that is sitting at the edge of the network, that’s to say that bridges the physical world to the Internet,
  • the IoT cloud platforms – this is where the devices in the field are managed, and where data is stored and analyzed. IoT cloud platforms must also allow the integration of external applications thanks to open APIs.

 

You can download the white paper from the Eclipse IoT website, or read it below.

I will also  be giving a presentation at the Virtual IoT meetup  on November 2. You should plan on attending to get a chance to learn more about some of the open source projects mentioned in the white paper, and get a more complete overview of what is going on at Eclipse IoT:

Implementing IoT Architectures using Open Source Software

Wednesday, Nov 2, 2016, 8:00 AM

No location yet.

168 IoT enthusiasts Went

This is a virtual Meetup occurring at 8AM Pacific time (11AM Eastern, 4PM Central European Time). For help with your timezone calculation, refer to this.The meetup will be held on Google Hangouts and you will be able to watch the live stream directly on YouTube.https://www.youtube.com/watch?v=B68gwlV3LkEIn this session Benjamin will provide some…

Check out this Meetup →

IoT Programming Workshops

Over the past two years, I’ve delivered several training sessions and workshops about IoT Programming. Depending on the audience and their background, those sessions have been either one-day or two-day long.

As you probably know, IoT is really broad, and one needs to be familiar with all the pieces involved in an IoT solution to be able to design and build an efficient IoT solution. For example, I strongly believe that every software developer building an IoT solution today needs to care about the hardware, which is why the workshop starts with a pretty extensive overview of the hardware landscape, and goes through things like the different classes of IoT devices that may exist (from micro-controllers to powerful system-on-chips, when should you use one or the other?), to the different kinds of sensors, before moving on to the communication protocols suited for IoT (like MQTT or CoAP).

The training includes many hands-on sessions, and the participants get a chance to learn first-hand how to master the MQTT protocol (using Eclipse Paho), how to program IoT gateways, or how to build IoT visualizations.

The overall outline is the following, and can be adapted on a case-by-case basis, depending on the trainees’ expectations:

  1. Introduction to the Internet of Things
  2. Sensing and acting on the physical world: micro-controllers or powerful gateways?
    1. What can be sensed and acted upon?
    2. Overview of sensors and actuators technologies
    3. Making an intelligent object
      1. Different classes of devices for different needs
      2. Interacting with sensors and actuators
      3. Overview of IoT operating systems and frameworks.
  3. Connecting things, or how to build efficient and scalable sensor networks
    1. Constraints of IoT Communications
    2. Overview of different topologies for IoT networks
    3. IoT Communication protocols
      1. MQTT – Eclipse Paho, Eclipse Mosquitto
      2. CoAP – Eclipse Californium
  4. Managing IoT solutions
    1. IoT Gateways – Eclipse Kura
    2. Device Management & Software Provisioning – Eclipse Leshan, Eclipse hawkBit

If you are interested in participating to similar workshops in the future, either for yourself or for your company, please get in touch!

Eclipse, open-source for the Internet of Things, and other random stuff