Wall Calendar - The IOT web project is successfully in use

Stephans Profilbild

Stephan wrote on 21.05.2024 about...


From the idea to the project

The idea came over time when I bought a large paper wall calendar every year. You could digitize it and add a few additional features such as measuring the room climate and displaying weather data. That's how it happened in the end. A first mockup is the idea that was pursued and implemented over the course of the project.

Bild 1 Wall Calendar

Conception and architecture

At the beginning, an API was implemented using the Python Django framework, which uses an HTTP frontend. The services run on a Debian Linux server. Later, the API was split as an interface in the IOT network and a second backend in the network for the users. This simultaneously allows for an independent and specialized division of tasks and the added value of physically separate networks between IOT hardware and website hosting for users. A Celery task scheduler and pool worker also runs in the sensors' API in conjunction with a RabbitMQ broker. Currently, 4 temperature and humidity sensors serve the IOT interface with current measurement data every 20 seconds.

Bild 2 Wall Calendar

The hardware thing...

In the beginning, the web services were operated relatively stably experimentally, even with an experimental board such as one from Raspberry Pi. However, over the course of the project, the back and front ends were deployed on a Debian 12 virtual machine, which serves as the host. At the beginning, an Arduino board from my experiment box served as the first sensor. Until recently, however, the Wemos D1 board with an integrated WiFi shield was used, which shows very good stability and performance. The setup in connection with the Arduino Studio was a bit tricky. But once set up, the boards can be easily connected to the programming environment (IDE) and flashed. First, inexpensive DHT temperature and humidity sensors were used. We then switched to more accurate and high-performance sensors from Digilent, which have been used with very good experience.

Bild 3 Wall Calendar
Bild 4 Wall Calendar
Bild 5 Wall Calendar

The final result

The APIs run stably and the sensors continuously deliver their measured values to the server every 20 seconds. Data older than around 30 minutes is cleaned up in the database, which is operated on PostgreSQL.

Bild 6 Wall Calendar
Bild 7 Wall Calendar