The goal of this project is to provide a means of remotely monitoring the temperature of a room over the internet.
Additionally, I wanted to follow good security practices during the design of the project. I did this not because the information is particularly sensitive, but because I wanted to learn these practices myself, as well as provide an example for how they can be done.
At this time, I have completed the following:
- Write firmware for the WEMOS D1 Mini which does the following:
- Blink an LED once a second
- Measure the temperature and humidity once a minute
- Establish a secure connection to an MQTT broker over SSL/TLS
- Package the temperature and humidity in JSON form, encrypt the result, and publish it to the MQTT broker on the 'monitor' topic
- Write a small python program which performs the following:
- Establish a secure connection over SSL/TLS to the MQTT broker
- Subscribe to the 'monitor' topic
- When a message is received, decrypt and unpack the data and display it on standard out
The following list of items still needs to be completed:
- Replace the DHT with a more accurate temperature sensor
- Design, order, and populate a custom circuit board
- Further develop the python program to:
- Log readings to a database
- Write a web application to read from the logged database and supply visualizations via graphs/charts