Inspiration
I'm a home-brewer hobbyist and I'm always looking for ways to improve my product. I want a way to be more on top of temperatures during primary and secondary fermentation.
What it does
Given preset high- and low-temperature ranges, Thermal Ranger gathers temperature data from a waterproof sensor connected to a Raspberry Pi. It analyzes the temperature and saves it in degrees Celsius and degress Fahrenheit to a MySQL database hosted on the Raspberry Pi along with the rest of the LAMP stack. If the measured temperature is higher than the high-temperature limit, or lower than the low-temperature limit, an SMS message is sent to the user's cell phone via the Twilio API. That message indicates the current temperature, the difference between the current temperature and the limit and the set limit.
How I built it
I used a Raspberry Pi Model 3B, a DS18B20 waterproof temperature sensor, breadboard, ribbon cable, breakout board, 3 jumper wires and a resistor to create a circuit for the temp sensor. I then set up a LAMP stack web server on the headless raspberry pi, from which I am hosting the database and website. I wrote a python script to access the sensor, collect and format the data, save the data to the mySQL server, and check if it's within the appropriate range. I used the Twilio API to generate and send SMS messages as notifications that the temperature had left the desired range. The current range is based on the typical range of Ale fermentation temperatures.
Challenges I ran into
I've had a lot of difficulty trying to create a visualization of the data. I'd like to display a dynamically updated line graph, showing the change in fermentation temperature over time. Next to that, I would like to display either a dial gauge or thermometer gauge to display the most recent temperature reading.
Accomplishments that I'm proud of
This is my first time using the Twilio API (or any other, if I'm being honest). I was excited to learn how it worked. The moment I received my first test message was a high point, around 10:45 PM.
What I learned
I've learned a lot more about flex-box layout with Bootstrap 4, and tweaking the default bootstrap look with some custom CSS. While I've used a MySQL database once before, it was pretty cool figuring out how to get the LAMP stack setup on the raspberry pi headless, without direct access to it with keyboard, mouse or monitor. I was eventually able to flash an SD card, get it setup on the HawkHack WiFi and do everything i needed via SSH, VNC, and FTP. While I haven't been successful at implementing data visualization at this time, I had an opportunity to explore several different methods of doing so, including Plotly and FusionCharts.
What's next for ThermalRanger
Next steps for ThermalRanger include getting dynamic visualization of the temperature data implemented, allowing for the use of multiple sensors, and (I think most excitingly) adding a feature for using 'current' temperature readings to control the ambient temperature in a fermentation environment via controlling the heating system (space heater or warming mat) and cooling system (mini-fridge or chest freezer).
Log in or sign up for Devpost to join the conversation.