Thread-based Meeting Room Indicator and Air Quality Sensor network


Description
July 5, 2023
This has been a long-running project of mine. It started with wanting to do battery-powered meeting room availability indicators, using Thread as the wireless protocol (has to be mesh, had to be low-power, and the use-case didn't fit the predefined application layer of the other mesh protocols).
After some iterations, I ended up reverse-engineering a couple of eInk price labels instead of trying to create my own hardware.
The Thread network consists of a base station (Raspberry Pi with an EFR32MG21-based USB dongle as OpenThread border router and a custom daemon script including CoAP server), router nodes which double as air quality monitors (line-powered) and the sleepy end nodes (the displays).
The daemon scrapes availability data from Office365 and updates the display content (rendered locally on the display to minimise data throughput ~ battery usage). It also receives air quality measurements from the sensor nodes and uploads those into a database.
There's then another Raspberry Pi which pulls from that database and shows the real-time air quality score dashboard on a TV in the office.