Close

Considerations for Middleware and Web Application

A project log for Remote Temperature Monitor

Monitor temperature over the internet

casey-smithCasey Smith 09/02/2017 at 20:120 Comments

My background is more in firmware and embedded systems than on higher level software, so the primary learning curve for me on this project is the code running off the ESP. I've separated it out into two programs: the middleware, and the web application.

Middleware

The middleware is responsible for subscribing to the MQTT broker, receiving messages, decrypting them, and logging them in the database. At the moment I'm choosing to use Python 3 for the following reason:

Right now I still have to integrate a database into the program. I was initially going to go with something like PostgreSQL, but then I came accross time series databases, specifically InfluxDB. I'm probably going to go with this, since it seems appropriate for the application, and will give me a chance to learn something new. Also, it apparently has a Python API, which is a bonus.

Web Application

This will be responsible for serving web requests. I haven't thought much through this yet. I want to be able to generate graphs and charts of data. The only thing I've looked at so far is Grafana

Discussions