Connect With Us


Mozilla open framework for IoT integration

William Payne
February 8, 2018

Open source technology foundation Mozilla has launched a framework for unifying and integrating different Internet of Things devices and apps. Mozilla's Project Things allows users to create their own IoT hub using low resource, low cost hardware and free software. Users can use web commands and a voice interface.

According to Mozilla: "Each vendor typically creates a custom application that only works for their own brand. If the future of connected IoT devices continues to involve proprietary solutions, then costs will stay high, while the market remains fragmented and slow to grow.

"We believe the future of connected devices should be more like the open web. The future should be decentralised and should put the power and control into the hands of the people who use those devices. This is why we are committed to defining open standards and frameworks."

Mozilla is best known for the Firefox browser, which has recently been completely re-engineered.

Project Things IoT hubs, or "Things Gateways", can be built using a Raspberry Pi. Users and vendors can therefore build open and inter-operable IoT hubs using low cost hardware and free software.

Mozilla has provided demo code for a Raspberry Pi, but other code is likely to follow, allowing other hardware platforms to be used.

The code is available on GitHub at mozilla-iot/gateway. Raspberry Pi users can download and flash a pre-built image to SD card from GitHub. Users of other platforms, such as Windows, Linux and OSX, can install the libraries on top of JavaScript Node.js. 

The hub will offer a dashboard through a secure URL for users to monitor and manage their IoT devices.

The Things Gateway could be of use not just for smart home applications but also in office, building and industrial settings. Mozilla has added a number of functions: voice commands can be given from a desktop computer or a laptop, not just a smart home assistant device; full support for IFTTT (if-this-then-that) style logic, as well as a mapping tool to show where devices are currently located; sensors, devices and products can be simulated and virtually implemented for testing purposes.

The technical challenge of implementing and programming such a gateway has been kept to the minimum. The inclusion of IFTTT logic means that non-technical people can implement simple logic and tie together different devices into functional applications.

However, since the code is published on GitHub, is written in JavaScript, and runs on Node.js, there is nothing to prevent businesses from extending the functionality of the system through adding their own JavaScript routines, or calling out to compiled C or C++ routines or Java objects.

Integration with both Google Assistant and Amazon Alexa is believed to be underway or complete. 

The Things Gateway also includes an add-on system which allows for the addition of proprietary protocols and devices.