Dotdot Over Thread Deep Dive
LeveregeLeverege
In the quickly evolving world of the IoT, multiple standards have developed in a short span of time, each with the goal of allowing smart home devices to communicate with each other and with multiple online services. One solution to this issue is the use of the Dotdot, an application layer developed for IoT devices to easily join networks of other similar devices and to communicate their status and capabilities in a standardized way, combined with Thread.
Thread is an IP mesh network implementation designed for IoT device communication, promises to be a widely implemented standard in IoT device manufacture and development.
Thread is an IPv6-based mesh network implementation based on the IEEE 802.15.4 specification for Low Rate Wireless Personal Area Networks. What this means is that Thread is designed to connect hundreds of devices together in a short-range network using as little power as possible to transmit and receive messages.
Because Thread is based on IPv6 networking, it means that all Thread-enabled devices have the capability of communicating directly with each other through their local network and the potential of being accessible directly over the wider internet.
To illustrate the usefulness of this configuration, imagine a typical home with 10 or 15 smart devices (light switches, alarms, thermostats, etc). Within this group of 10 or 15, there may be devices from several manufacturers, some of which might connect to the home's network through WiFi, indirectly via Bluetooth or through a custom hardware gateway using proprietary networking technology.
If one device (like a smart speaker) wants to request action on the part of another device (perhaps asking a light bulb to turn off), typically it will be sending an outbound request over the home's network (presumably WiFi) to a cloud service hosted by the device's developer. That service will then make a request back over the internet, through the home's WiFi network, perhaps through a special bridge device, which then relays the request to the target smart device.
The entire system is complex with multiple points of failure, and this is assuming that the original request was a simple one. Imagine the added complexity when the original request involves targeting actions on multiple devices, each from a different provider.
Conversely, in a home that features devices on a Thread network using Dotdot, the smart speaker could communicate directly with the smart bulb using their built-in Thread radios and each would know how to address the other using a common Dotdot vocabulary.
Of course, connection to the broader internet for compatibility with cloud services is also possible through the use of what is called a border router. A border router is a device with a radio built for communicating on the local Thread network and some other method for connecting directly to the internet, be it a WiFi radio or an ethernet connection. This makes it possible for a cloud service to make a request through the border router which then forwards it along to the ultimate target device.
The fact that Thread is a form of mesh network makes it incredibly stable, given that many of the smart devices on the network can themselves serve as routers to pass messages along to other devices. This way, if a single device fails, the messages that would be routed through it can instantly be rerouted through other devices. And if a new device joins the network, its range and routing efficiency increases.
As mentioned above, Dotdot is an application layer that defines a common language that IoT devices can use to talk with each other to communicate status information and execute requests. It is based on the ZigBee Cluster Library, the application layer of the ZigBee networking standard, but it is generalized to work on any type of IoT device network.
Dotdot allows devices to join a local network of other devices and to communicate information about their abilities to each other. For instance, a light may request to join the local home network. The security of that connection is negotiated using the Dotdot specification and the device communicates its abilities to the rest of the network. In the case of a light, the device might broadcast that it has the ability to turn on and off, to be dimmed from 0 to 100 percent or to change color.
Having multiple devices from different manufacturers on one home network without something like Dotdot would make it impossible for device-to-device communication to occur. This leads to the scenario described above, where multiple manufacturers must each maintain a separate method of communication for interacting with their devices and requests must come through separate cloud services.
With Dotdot, even if the internet connection to a home is out, a user could send a request over their home WiFi network, through a border router and directly to a Dotdot device.
While both Thread and Dotdot are promising new technologies for smart home system control, the specifications for both technologies are still relatively new. Dotdot in particular only had its specification finalized last year and it is still in the process of ratification and release to members of the Zigbee Alliance.
On paper, Thread and Dotdot seem like excellent choices for home and commercial IoT systems but time will tell if these technologies have the adoption rate that it will take to be a serious player in the market.
New Podcast Episode
Recent Articles