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:
- It's prolific. It runs pretty much everywhere, and there are tons of examples online.
- There are libraries (many of them standard) to do pretty much everything I need.
- It's high level, performant enough, and allows me to focus on what I want to do without having to worry about too many of the details
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
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.