Categories
Eclipse IoT

[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.

[pdfviewer width=”608px” height=”849px” beta=”true”]https://blog.benjamin-cabe.com/wp-content/uploads/2016/10/Eclipse-IoT-White-Paper-The-Three-Software-Stacks-Required-for-IoT-Architectures.pdf[/pdfviewer]

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:

https://www.meetup.com/Virtual-IoT/events/234623542/

Categories
Eclipse IoT

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!

Categories
Eclipse IoT

On making standards organizations and open source communities work hand in hand

eclipse-and-standardsDid you know that the Eclipse Foundation is home to many open source implementations of industry standards?

From IETF to ISO to oneM2M or OASIS, we have many open source projects that provide industrial-grade implementations that anyone can use to evaluate a given standard, or to effectively use it in their commercial solution.

We do believe that open source is key to the adoption of standards, and in a presentation I gave last week at an Open Source Think Tank organized by IEEE, I shared some thoughts on what makes a standard successful, as well as how Eclipse has proved with recent success stories that open source and open communities are a key factor.

The two examples I used in my presentation (see the slides at the end of this post) originate from the Eclipse IoT community.

OMA (Open Mobile Alliance) LWM2M is a standard for doing device management of IoT devices (i.e remotely monitor the device’s health, upgrade its firmware over-the-air, etc.). The first drafts of the standard have been published less than 4 years ago and today, LWM2M is already used in commercial products, and has a thriving community of developers and contributors gathered around two Eclipse open source projects: Eclipse Wakaama, and Eclipse Leshan. I think you will agree that this is the kind of timeline you would like to see for all standards!

The other example is MQTT, a very popular IoT protocol that I’m sure you’ve heard about! 🙂 In just a few years, it went from a de-facto standard to an actual OASIS and ISO/IEC standard. Having a rich ecosystem of open source MQTT implementations (including Eclipse Paho clients, and the Eclipse Mosquitto server) certainly helped the standards organizations to pin down the issues that need to be fixed in the spec much faster. What’s more, open source projects will also fuel the future of the MQTT specification, as they allow for new ideas to be explored (see e.g this recent work on MQTT-SN).

My hope is that Standards Developing Organizations will start embracing open source initiatives more and more. Open source communities are a great place for innovation, and can host standard implementations that sometimes actually become reference implementation. They also complement very well the role of the SDOs, which are here to enforce some needed processes when it comes to evolving a standard, anticipating incompatibilities or corner cases, etc.

As mentioned above, here are the slides I used during my presentation. I am looking forward to hearing your comments and feedback.

On making standards organizations & open source communities work hand in hand from Benjamin Cabé