Project Things from Mozilla is a framework of software and services. It helps to bridge the communication gap between IoT devices. Project Things does this by giving each IoT device a URL on the web. The latest version of the Things Gateway, also from Mozilla, can directly let you control your home over the web, and manage all your devices through a single secure web interface. Therefore, if you have several smart devices in your home, you will not need different mobile apps to manage each of them. The best part of the Things Gateway is you can easily build one on a single board computer and use the power of the open web to connect off-the-shelf smart home products immediately, even if they are from different brands.
DIY hackers will find many exciting new features in the latest version. It even includes a rules engine, where you can set ‘if this, then that’ style of scenarios for making up rules of how things should interact. Other features include a floor plan view for laying out the devices on a map of your house, an experimental voice control, and it supports several new types of IoT devices. If you have a new device requiring new protocols, there is a brand new add-ons system. Third party applications that want to access your gateway can now do so, as there is a new way to authorize them safely.
On the hardware side, you will need a single board computer. Although Mozilla recommends a Raspberry Pi 3, any single board computer will do, as long as it has Wi-Fi and Bluetooth support built-in. Access to GPIO ports is also necessary, as you will require direct hardware access. Although a laptop or desktop computer will also work here, using the single board computer will provide the best experience.
If your smart home devices use other protocols such as Zigbee or Z-Wave, you will also need a USB dongle. Things Gateway supports Zigbee with Digi Xstick and for Z-Wave you will have to use a dongle compatible with OpenWave. You will need the proper device suitable for your region, as Z-Wave operating frequencies vary for different countries.
For the software part, you will need at least a 4 GB micro SD card to flash the software. The Gateway already has support for several different smart sensors, plugs, and smart bulbs from various brands, which may be using Wi-Fi, Z-Wave, or Zigbee. The Wiki mentions all the tested parts, and you can contribute if you have tested other new devices. However, if you are not yet ready with the actual hardware of IoT devices, and want to try out the Gateway software, the Virtual Things add-on us your friend. Simply install it and start adding virtual IoT things to your Gateway.
Mozilla offers the Things Gateway software image for the Raspberry Pi, which you can download and flash onto the micro SD card. The safest way to do this is to use Etcher, a cross-platform image writer software, useful for Linux, Windows, and the Mac OS.