2nd November 2021 Update
So, here is the incredibly questionable wiring and hardware part of my project. I’m posting here so you can see how not to wire up live UK (230V) mains electricity! This works for me but mains voltage can kill you so copy my designs at your own risk.
Parts list
- (A) Room Temperature Probe: https://www.amazon.co.uk/gp/product/B0928JKFGQ/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&psc=1
- (B) Raspberry Pi: old raspberry pi | eBay
- (C) Beer Temperature Probe: https://www.amazon.co.uk/gp/product/B0928JKFGQ/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&psc=1
- (D) LAN Connection: I bought this at an actual shop and I’m sure you have an Ethernet cable.
- (E) Mains Relays: https://www.amazon.co.uk/gp/product/B07MY2R2ML/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
- (F) Reptile Heating Mats: https://www.amazon.co.uk/gp/product/B08GHLJBFZ/ref=ppx_yo_dt_b_asin_title_o00_s01?ie=UTF8&psc=1
Annotated Mess:
Inside Shot of Questionable Mains Wiring
A wiring diagram of sorts
The Trials and Tribulations of Web Server Software
So one of my main goals was to have a secure web server with the least amount of bloat. I initially asked around on some other unnamed forum what people thought was a good fit for some ideas. The best suggestion there was GNU Guile. I looked into it and like all GNU software, ideologically it was perfect. And like a lot of GNU software the reality of using it was awful. Also, Lisp gags. When I realised that I didn’t have recommended number of gangrenous toenails to chew on (don’t Google Stallman toenail chew interview) to make it through reading the manual/FAQ page, I gave up on GNU Guile.
I next contacted a friend who’s idea of a personal desktop is Gentoo and still uses Solaris seriously without irony. This friend is also a massive Rust pervert and begun preaching to me from the book of Rocket. I sat through his sermon until he started getting excited about the potential for API integration and quickly excused myself to do some Duck Duck Go ing. I liked what I saw and noted how the Rocket Framework is very similar to Python’s Flask in many ways. I have sat through many previous sermons so I also know how great Rust is just (as previously mentioned) I have avoided it so far due to not needing it. I thought this would be a good opportunity for me to learn Rust at last and be brought into the decaying folds.
I quickly got Rust and cargo installed on my ancient Raspberry Pi and very soon had a basic example ready to go. The eldridge horrors then unleashed themselves in a wave of corruption upon my poor Pi and after valiantly compiling 25+ hidden sub dependencies of Rocket it fell over at the “HTTP” library. The marks of the corruption remain but a reboot brought the Pi back to life or something closely resembling life.
So this rather defeats one of my main goals “F**k node js and it’s npm pit of hell”. I’m quite disheartened by this hidden bloat but not entirely perturbed yet. I also run a personal website where I create comics basically no one reads. Because I’m a techy nerd I have a staging environment for this on my home server. So I installed Rust and Rocket there and it kept the eldridge hordes at bay and ran fine.
So the options I’m considering now are:
- Run host the web server on Linode and have the Pi upload data there.
- Cross compile the web server for my Pi and hope it will at least run.
- F*ck it use Flask.
I haven’t mentioned this yet but I’m quite familiar with flask and have used a number of times for making tools that needed Web interactions. The reason I had discounted it is because I don’t really consider it a real web server. I’ve run into it’s limits many times and I’d like a robust system as possible.
While I consider this, please feel free to add your two cents worth on which web server software you like or why Rust will fail always or why I should give in use Flask. My main criteria are security, simplicity and robustness. As previously mentioned, the main point in this project is creating a web server front end with dynamic functionality so again, I want to build this myself and not use something like Home Assistant etc.
[Edit: After looking at the Devember threads I can see someone has had a very similar idea to me and that they are/will be using Flask. This is enough for me to avoid using Flask and stop b*tching about Rust’s bloat. “F*ck it; we’ll do it live!”]
And last but not least… The much requested home brewed beer
This is a lemon pale ale I brewed on the hardware set up shown here. As this is a tech forum and not a beer forum, I won’t go into beer details but will say that the recipe and notes will be available for viewing on my final website.



