Regn
Status
In Dev
RES
DES
DEV
DOC
TST
15.3.227
DES :: 1h13m
14.3.227
DES :: 1h6m
4.12.226
DES :: 0h26m
3.12.226
RES :: 0h42m DES :: 0h39m
1.12.226
RES :: 1h48m
28.11.226
DES :: 1h26m
27.11.226
RES :: 0h53m
12.11.226
DEV :: 4h22m
11.11.226
DEV :: 1h27m DES :: 1h23m RES :: 0h32m
10.11.226
DEV :: 1h29m
Regn is a WiFi enabled weather station and visualisation dashboard.

56h27m (55 logs) from 12 Sǽd 226 to 15 Forst 227.

This project consists of 2 main components - a custom weather station and a data ingestion, API and dashboard server.

The weather station is a WiFi enabled IoT device built with an Adafruit HUZZAH ESP8266, a DHT22 temperature + humidity sensor, a BMP180 barometric pressure sensor and a TSL2561 luminosity/lux/light sensor to read various environmental properties.

Upon start-up, the weather station exposes a WiFi access point with the name Regn and a predefined password. Connecting to this AP and navigating to 192.168.4.1 lets me set various internal settings, such as the MQTT endpoint and sensor read frequency, after which the station will reboot, connect to the defined WiFi point and begin to submit sensor data. It does this by connecting to an MQTT endpoint with it's Client ID being the station's name and publishing it's sensor values to a Regn topic.

Regn's first time boot configuration

As part of the hardware side of this project, I also used EAGLE to design a PCB which was then fabricated by OSH Park. At the moment it is only a basic PCB that links together the various prototype boards, but future versions will embed the sensors, voltage regulators, LEDs and other things directly.

Version 0.1 PCB of Regn

The server side is relatively independent of the station. It serves a dashboard and an API for querying weather station data. It is a Flask service, and subscribes to the aforementioned Regn MQTT topic and stores the sensor data in a database.

The dashboard serves a real time graph of temperature, humidity, pressure and luminosity values over a chosen timespan of day, week, month or year.

Temperature over day dashboard

On 6 Hát 226 I gave a talk at the Kafka, KSQL & IoT meetup in Berlin on this project and my speculative work with multiple sensors, scalable ingestion frameworks, CrateDB and Apache Kafka.