Project Things - Philippe Coval, Dipesh Monga [FOSDEM 2019]

Biggest reasons for people not to adopt smart home is price, security and privacy. Project Things addresses these concerns. It allows to directly control your home over the web without middle man.

It is possible to allow third-party applications to access your data to provide some service, but it’s under your control.

The Web of Things is giving a URL to a device and giving it a JSON-API.

A Gateway connects the Things to the Internet. Things Gateway 0.7 is based on RPi.

The Controler is a device that can control your home, e.g. phone app but also e.g. smart speaker.

PageKite is used for tunneling via mozilla-iot.org. Every device gets its own subdomain and a Let’s Encrypt certificate. Authorization can be done with OAuth.

Webthings are a HTTP server. It’s a star topology, everything is connected to the gateway. Microcontroller based devices can use IoT.js as an interpreter. It uses the JerryScript engine. Combines well with MQTT for communicating data.

Addons communicate with the core gateway application using nanomsg.

Things connected to gateway are visible in a WUI on the gateway (available outside through pagekite, if you set it up that way). Things have actuator and sensor functions. A rules engine on the gateway can be used to implement automation.