Mozilla is working to create a Web of Things framework of software and services that they are able bridge the communication gap between connected devices. By providing these devices with web URLs and a standardized data model and API, we are moving towards a more decentralized Internet of Things that is safe, open and interoperable.
The Internet and the World Wide Web are built on open criteria which are decentralized by design, with anyone free to enforce those norms and connect to the network without the need for a central phase of control. This has resulted in the explosive growth of hundreds of millions of personal computers and billions of smartphones which can all talk to each other over a single global network.
As technology advances from personal computers and smartphones to a world where everything around us is connected to the Internet, new types of devices in our homes, cities, automobiles, clothes and even our bodies are going online every day.
The Internet of Things
The aInternet of Thingsa( IoT) is a word to describe how physical objects are being attached to the Internet so that they can be discovered, monitored, controlled or interacted with. Like any advancement in technology, these innovations bring with them enormous new opportunities, but also new risks.
At Mozilla our mission is ato ensure the Internet is a global public resource, open and accessible to all. An Internet that truly puts people first, where individuals can shape their own experience and are empowered, safe and independent.a
This mission has never been more important than today, a day when everything around us is being designed to connect to the Internet. As new types of devices come online, they bring with them significant new challenges around security, privacy and interoperability.
Many of the new devices connecting to the Internet are insecure, do not receive software updates to fix vulnerabilities, and create new privacy questions around the collection, storage, and use of large quantities of extremely personal data.
Additionally, most IoT devices today use proprietary vertical technology stacks which are built around a central point of control and which donat always talk to each other. When they do talk to each other it requires per-vendor consolidations to connect those systems together. There are efforts to create standards, but the landscape is extremely complex and thereas still not yet a single dominant model or market leader.
The Web of Things
Using the Internet of Things today is a lot like sharing information on the Internet before the World Wide Web existed. There were vying hypertext systems and proprietary GUIs, but the Internet lacked a unifying application layer protocol for sharing and linking information.
The aWeb of Thingsa( WoT) is an effort to take the lessons from the World Wide Web and apply them to IoT. Itas about creating a decentralized Internet of Things by devoting Things URLs on the web to induce them linkable and discoverable, and defining a standard data model and APIs to induce them interoperable.
The Web of Things is not just another vertical IoT technology stack to compete with existing platforms. It is intended as a unifying horizontal application layer to bridge together multiple underlying IoT protocols.
Rather than start from scratch, the Web of Things is built on existing, proven web criteria like REST, HTTP, JSON, WebSockets and TLS( Transport Layer Security ). The Web of Things will also require new web criteria. In particular, we think there is a need for a Web Thing Description format to describe things, a REST style Web Thing API to interact with them, and maybe a new generation of HTTP better optimised for IoT use cases and use by resource constrained devices.
The Web of Things is not just a Mozilla Initiative, there is already a well established Web of Things community and related standardization efforts at the IETF, W3C, OCF and OGC. Mozilla plans to be a participant in this community to help define new web standards and promote best practices around privacy, security and interoperability.
From this existing work three key integration patterns have emerged for connecting things to the web, defined by the point at which a Web of Things API is exposed to the Internet.
Direct Integration Pattern
The simplest pattern is the direct integration pattern where a device exposes a Web of Things API directly to the Internet. This is useful for relatively high powered devices which can support TCP/ IP and HTTP and can be directly connected to the Internet( e.g. a WiFi camera ). This pattern can be tricky for devices on a home network which may need to use NAT or TCP tunneling that are intended to traverse a firewall. It also more directly uncovers the device to security threats from the Internet.
Gateway Integration Pattern
The gateway integration pattern is useful for resource-constrained devices which canat run an HTTP server themselves and so use a gateway to bridge them to the web. This pattern is particularly useful for devices which have limited power or which use PAN network technologies like Bluetooth or ZigBee that donat immediately connect to the Internet( e.g. a battery powered door sensor ). A gateway can also be used to bridge all kinds of existing IoT devices to the web.
Cloud Integration Pattern
In the cloud consolidation pattern the Web of Things API is exposed by a cloud server which acts as a gateway remotely and the device employs some other protocol to communicate with the server on the back end. This pattern is particularly useful for a great number of devices over a wide geographic area which need to be centrally co-ordinated( e.g. air pollution sensors ).
Project Things by Mozilla
In the Emerging Technology squad at Mozilla weare working on an experimental framework of software and services to help developers connect athingsa to the web in a safe, secure and interoperable way.
Project Things was originally focus on developing three components 😛 TAGEND Things GatewayaaaAn open source implementation of a Web of Things gateway which helps bridge existing IoT devices to the web Things CloudaaaA collection of Mozilla-hosted cloud services to help manage a great number of IoT devices over a wide geographic area Things FrameworkaaaReusable software components to help create IoT devices which directly connect to the Web of Things Easily detects the gateway on your local network Choose a web address which connects your home to the Internet via a secure TLS tunnel involving zero configuration on your home network Create a username and password to permit access to your gateway Discover and connect commercially available ZigBee and Z-Wave smart plugs to the gateway Turn those smart plugs on and off from a web app hosted on the gateway itself