I think I now have my Raspberry Pi powered temperature logger working to where I wanted it to be.
My hand-built temperature logging had a chart that tracked sensor temperatures over time, so that was the least I wanted to replicate using a Raspberry Pi as the server.
That home-built version relied on server hosting I already had, but I put it together quickly and simply used a text file to store json style data. This required a manual reset once in a while as the file got too big. It also meant that any updates required a fair bit of coding effort.
The new setup uses a Raspberry Pi 3B+ with a 64GB "fast" SD card, with NodeRed, Mosquitto, and InfluxDB. The Wemos D1 Mini was programmed with Arduino, using an mqtt library.
I might one day upgrade it to use a Raspberry Pi 4 with an SSD drive, but we'll see how well this setup behaves over time. So far it's fast enough, so I'm just hoping for it to also be reliable over time - it's not mission critical so I'm not too worried.
I also set up Grafana, and it allows for building nice flexible UI, but it requires a login to see anything. So I most likely will not be using that for day-to-day viewing. Instead, I'm using the UI nodes that came with NodeRed. It took some fiddling to get the data format correct for the temperature line chart, but otherwise it was all fairly easy.
For the winter I'll likely add another few sensors (for the hummingbird feeders), but that can be as easy as just replicating the existing flow and changing sensor IDs. Or I might try to combine the histories into one chart... that will depend on how courageous I'm feeling that day
I guess I should back up that SD card now... just in case something goes squirrelly later.
The whole setup wasn't too bad actually. NodeRed was mostly a one-liner, and mosquitto and infuxDB were pretty painless to install too - I followed a few tutorials on YouTube for those. Make sure you get recent tutorials though, as the procedures seem to have changed a fair bit even just over the last few years.
Best,
-Nico
Top Comments