craigmw
Well-Known Member
I released the original CellarWarden application for monitoring temperature and humidity on a Raspberry Pi (RPi) about a year ago. I've recently updated CellarWarden to provide controller functions, including PID, hysteresis and manual output via the GPIO pins on the RPi. This app was inspired by BrewPi, but takes a different approach because it functions natively on the Raspberry Pi. Thus, a microcontroller such as the Arduino is not needed; all processing occurs on the RPi itself, simplifying setup and configuration. CellarWarden 1.0.1 is now available for beta testing with the application and installation instructions found here:
https://github.com/craigmw/CellarWarden
CellarWarden supports 20 x 4 LCD optional character displays using either parallel or I2C modes. It also supports as many as two DHT22 humidity/temperature sensors and 8 DS18B20 1-wire temperature sensors. In addition, up to 2 GPIO pins may be designated to monitor door open events. These sensors can be directly connected to the RPi, as shown in the hardware examples in the help pages. CellarWarden also provides as many virtual controllers as needed. These controllers can be set to monitor and control temperatures for multiple fermentation vessels (e.g. using FermWrap or other heating pads), kegerators, keezers, etc. The following is the current feature list for CellarWarden:
1. Monitors temperature and humidity sensors using a Raspberry Pi.
2. Provides a web interface to the CellarWarden server for viewing and adjusting parameters.
3. Supports 2 DHT-type humidity/temperature sensors.
4. Supports 8 1-wire temperature sensors (e.g. DS18B20).
5. Supports as many as two door sensors via microswitches.
6. Provides an unlimited number of virtual controllers.
7. Controllers can control humidity or temperature using hysteresis (e.g. thermostatic), PID or manual output modes natively via GPIO pins on an RPi.
8. Controllers can be one- or two-sided (e.g. heat only, cool only or heat/cool).
9. Each controller can have a primary and optional secondary sensor, with factoring between their values to control output.
10. Provides a PID autotuning routine for each associated actuator.
11. Each controller can be set to run temperature/humidity profiles.
12. Load and save profile templates.
13. Resumes set temperature, even profiles, with reboot.
14. Can send alarms via email and/or text/SMS messages if temperatures or humidity values are outside of a set range, or if door(s) have been open for too long. Alarm monitoring currently supports two DHT, two DS18B20 and two door sensors.
Shown is the graph from a particular PID controller under test:
MainController[/url]
Note that the output from this controller was set to follow a temperature profile such as:
Profiles [/url]
Here's an example of a very simple monitoring setup:
https://flic.kr/p/FmcZNp
A Sainsmart relay board could be added to some free GPIO pins to control a chest freezer and some FermWrap heaters (or other heaters) to provide individual fermenter control. Here's a more complex configuration that uses bidirectional level shifters to buffer the GPIO outputs and provide 5V I/O:
https://flic.kr/p/G8jgqJ
This more complex setup is realized using an Adafruit PermaProtoPi Hat:
https://flic.kr/p/G8jh5E
Feel free to try out CellarWarden 1.0.1 and let me know what you think.
https://github.com/craigmw/CellarWarden
CellarWarden supports 20 x 4 LCD optional character displays using either parallel or I2C modes. It also supports as many as two DHT22 humidity/temperature sensors and 8 DS18B20 1-wire temperature sensors. In addition, up to 2 GPIO pins may be designated to monitor door open events. These sensors can be directly connected to the RPi, as shown in the hardware examples in the help pages. CellarWarden also provides as many virtual controllers as needed. These controllers can be set to monitor and control temperatures for multiple fermentation vessels (e.g. using FermWrap or other heating pads), kegerators, keezers, etc. The following is the current feature list for CellarWarden:
1. Monitors temperature and humidity sensors using a Raspberry Pi.
2. Provides a web interface to the CellarWarden server for viewing and adjusting parameters.
3. Supports 2 DHT-type humidity/temperature sensors.
4. Supports 8 1-wire temperature sensors (e.g. DS18B20).
5. Supports as many as two door sensors via microswitches.
6. Provides an unlimited number of virtual controllers.
7. Controllers can control humidity or temperature using hysteresis (e.g. thermostatic), PID or manual output modes natively via GPIO pins on an RPi.
8. Controllers can be one- or two-sided (e.g. heat only, cool only or heat/cool).
9. Each controller can have a primary and optional secondary sensor, with factoring between their values to control output.
10. Provides a PID autotuning routine for each associated actuator.
11. Each controller can be set to run temperature/humidity profiles.
12. Load and save profile templates.
13. Resumes set temperature, even profiles, with reboot.
14. Can send alarms via email and/or text/SMS messages if temperatures or humidity values are outside of a set range, or if door(s) have been open for too long. Alarm monitoring currently supports two DHT, two DS18B20 and two door sensors.
Shown is the graph from a particular PID controller under test:
MainController[/url]
Note that the output from this controller was set to follow a temperature profile such as:
Profiles [/url]
Here's an example of a very simple monitoring setup:
https://flic.kr/p/FmcZNp
A Sainsmart relay board could be added to some free GPIO pins to control a chest freezer and some FermWrap heaters (or other heaters) to provide individual fermenter control. Here's a more complex configuration that uses bidirectional level shifters to buffer the GPIO outputs and provide 5V I/O:
https://flic.kr/p/G8jgqJ
This more complex setup is realized using an Adafruit PermaProtoPi Hat:
https://flic.kr/p/G8jh5E
Feel free to try out CellarWarden 1.0.1 and let me know what you think.