This project has two parts: an open-source air quality sensor built with an ESP8266, and a Node.js message broker that posts MQTT topics to Masked Authenticated Message streams on the IOTA Tangle.
Air Quality Sensor (GitHub)
Air pollution is a global problem, especially in rapidly modernizing nations. But before government and other organizations can tackle it they need access to real-time air pollution data. The sensor we have built allows communities to measure air quality themselves, and contribute highly localized sensor readings to collaborative data sets hosted on the IOTA Tangle, which can used to support research and air quality improvement efforts. Our build uses DHT22 temperature/humidity sensor, a MQ-135 air quality sensor, and retrieves geolocation from IP Stack. We have a few of these sensors deployed in Bogota, Colombia, which allows us to visualize trends in air quality over time and across different neighborhoods.
Helix: Masked Authenticated Message Broker (GitHub)
To enable the creation of data sets that are truly open and collaborative, we built an MQTT broker that posts message topics directly to the IOTA Tangle, using Masked Authenticated Message streams. These streams can be made public by sharing the MAM root and side key, and can be configured to accept data from many sensors all posting simultaneously. Messages that pass through Helix are immutable and cannot be tampered with, making data sets reliable and verifiable. The Helix broker can be deployed very easily on any cloud or on-premise server, and has very low compute and storage resource requirements.
MAM Explorer (mam.iota.studio) (GitHub)
We also built a browser-based Masked Authenticated Message explorer, so that the raw data posted into MAM streams by Helix can be explored in an easy way. This explorer interface does not connect to any external server except for the IOTA Node itself (which you can choose).