A few months ago, we spoke to you here on the blog about Things Gateway a project that Mozilla was developing for the Internet of Things (IoT), which is uA universal layer to organize access to various categories of consumer and IoT devices.
And good, after two years of experimentation and development, Mozilla introduced the WebThings platform, which is a fusion of the previously developed WebThings Framework and WebThings Gateway projects.
These two Mozilla projects offered components to access various categories of consumer devices and to use the universal Web Things API to organize interaction with them. The developments of the project are distributed under the MPL 2.0 license.
Table of Contents
WebThings, the final project
With the merger of the aforementioned projects, WebThings emerged which is a framework that provides a set of replaceable components for creating IoT devices that can interact directly using the Web Things API.
Such devices can be automatically detected by gateways based on WebThings Gateway or client software (used by mDNS) for subsequent monitoring and control over the Web.
The server implementations for the Web Things API are prepared in the form of libraries in Python, Java, Rust, Arduino, and MicroPython.
WebThings Gateway - the software
WebThings Gateway is a universal layer to organize access to various categories of consumer and IoT devices, hiding the characteristics of each platform and without requiring the use of vendor-specific applications.
You can use the ZigBee and ZWave protocols, WiFi or direct connection via GPIO To interface with Gateway IoT platforms prepared for various Raspberry Pi models, packages for OpenWrt and Debian are also available.
This can be installed on a Raspberry Pi and get a smart home control system that integrates all IoT devices in the home and provides tools to monitor and manage them through a web interface.
The platform also allows you to create additional web applications that can interact with devices via the Web Thing API.
So instead of installing your mobile app for each type of IoT device, you can use a single, unified web interface.
WebThings Framework - the part that interacts with the API
This is a collection of software components reusable that have as main function to build the web elements themselves, which directly expose the Web Thing API.
This means that they can be discovered by a Web of Things gateway or client, which can then automatically detect the device's capabilities and monitor and control it over the web.
WebThings Gateway It has functions such as the discovery of devices on the local network, the selection of a web address to connect to devices from the Internet, creating accounts to access the gateway's web interface, connecting devices that support the patented ZigBee and Z-Wave protocols.
It also allows you to turn off the devices from a web application, remote monitoring of the state of the house and video surveillance.
In addition to the web interface and API, the gateway also provides experimental support for voice control, which allows the recognition and execution of voice commands.
How to get WebThings Gateway?
If you have various equipment or hardware that you can give excellent use with this project.
You can install WebThings Gateway in a very simple way. They just need to download the firmware provided to the SD card of your Raspberry Pi.
Once this is done, you must now open the "gateway.local" file and configure the connection to WiFi, ZigBee or Zwave.
Likewise, it will be in charge of finding the existing IoT devices which will give you the option of being able to configure the parameters for external access and to be able to add the most popular devices to the screen.