A Web of Things Gateway for the Raspberry Pi From Mozilla

Alasdair Allan
3 min readJul 11, 2017


While they might be network enabled, a lot of today’s Internet of Things ‘smart devices’ make use of a variety of protocols and radio stacks—from NFC, to Bluetooth, to Zigbee and Z-Wave—that don’t necessarily allow them to directly connect to the Internet.

So for at least 10 years now there has been a vocal faction arguing that we should settle on the existing web standards and tools as a single unifying substrate for connected devices to talk to one another and the Internet—and to differentiate it from a more general Internet of Things vision this has been dubbed the ‘Web of Things.’

With the concept of the web itself under threat from native apps, desktop browsing in decline, and the web more-or-less unusable on mobile platforms this idea isn’t necessarily as cut-and-dried as it appeared ten years ago. However at the tail end of last month it received a boost as the Mozilla Foundation launched their Project Things.

The ‘Things Gateway’ by Mozilla. (📷: Mozilla)

While still in early stages the project launch was accompanied by the release of a Things Gateway, a fully open-source implementation of a Web of Things gateway to help bridge existing Internet of Things devices onto the web. At the moment the gateway only supports Zigbee and Z-Wave smart plugs, but other devices should be supported soon. Built on top of the Raspberry Pi you’ll need a Digi XStick (ZB mesh version) for ZigBee support, and the Aeotec Z-Stick (Gen5) for Z-Wave—although other OpenZWave compatible dongles may also work.

Mozilla Internet of Things On/Off Switch. (📹: Ben Francis)

In the future the project also hopes to develop a Things Cloud—a collection of Mozilla-hosted cloud services to help manage a large number of smart devices over a large geographic area—and frameworks to help create smart devices which directly connect to the Web of Things.

However right now if you want to develop your own Web of Things device Mozilla have published a draft Web Thing API specification which includes a Web Thing Description format based on JSON and a REST along side a WebSockets Web Thing API.

While I think there’s always going to be a place for smart devices that don’t talk to the web—the temptation by manufacturers to shave a few more cents off the bill of materials of a smart device by using cheaper and less capable processors will always win out over web services and state-of-the-art cryptography—I do think that in the future we’ll see the web protocols used far more for machine-to-machine communication than machine-to-human.

That means we’re probably always going to need gateway devices, boxes to bridge between local ad-hoc networks that might be using two, or even three, different protocols and the ‘real’ network—the one we’re familiar with, the Internet. Mozilla’s Things Gateway is a good step to making that easy and bringing the Internet of Things future just a little bit closer.