TwistedBrew
Twisted Brew - Distributed brewing Software
Install / Use
/learn @hif/TwistedBrewREADME
#TwistedBrew
Twisted Brew - Distributed brewing Software
This project is still in early design stages. More info will be added when it starts to take shape.
Design goals:
- Scalable brewing solution that can run on one or more devices
- The ability to read and use recipe info from Beersmith
- Server/Client design, one BrewMaster to rule them all (his workers)
Master:
- Parses recipe.bsmx from Beersmith and collects mash schedule, hop schedule and fermentation schedule
- Can be monitored and controlled from a web GUI
- Collects info from all BrewWorkers on the network for the user to control
- Can assign brewing schedule(s) to available brewWorkers
Worker:
- Can manipulate various devices (Initially: SSR (Heating/Cooling element, pump), TempProb. Future: Electronic valve, FlowMeter, Servo)
- Can follow brewing schedule(s) which are assigned by a Master
The Twisted Pair (hif & hJod)
##Install instructions
Install python development tools
sudo -i
apt-get -y install python-dev
apt-get -y install python-pip
Install virtualenv, a virtual environment manager
pip install virtualenv
Move to your preferred location and create your python 3 virtual environment
virtualenv -p python3 twistedbrew
Activate your new environment (you can type in "deactivate" anywhere go back to your normal prompt)
source twistedbrew/bin/activate
Get the latest version of TwistedBrew, unzip it, rename and clean up
cd twistedbrew
wget https://github.com/hif/TwistedBrew/archive/master.zip
unzip master.zip
mv TwistedBrew-master/ twistedbrew/
rm master.zip
Install required packages
sudo pip install -r twistedbrew/requirements.txt
##Usefull information
To start the Twisted Brew master and worker modules from config file (default is config/twisted_brew.yml), run:
python manage.py twisted_brew
To use a specific config file add it's path as an optional parameter to the above command, example:
python manage.py twisted_brew config/my_config_file.yml
###ZeroMQ requirements
Add ipv6 in /etc/modules for ZeroMQ communication so that it survives reboot.
If you get a ZMQError when starting up, check the config file and make sure the IP address is correct.
###The DS18B20 temperature probe
To be able to use the probe you have to enabling the 1-wire communication device kernel modules in linux. Here is how it is done in Debian (also Rasbian).
Run these commands: sudo modprobe w1-gpio && sudo modprobe w1_therm
and then add w1-gpio and w1_therm in /etc/modules so that the mod survives reboot.
Excellent information on how to connect and work with the DS18B20 on Rasberry Pi can be found on this website.
###Browser requirements
As our gui uses .bind() method in Javascript you have to use the following browsers:
- Chrome 7 or higher
- Firefox 4.0(2) or higher
- IE 9 or higher
- Opera 11.60 or higher
- Safari 5.1.4 or higher
Required packages
- Django
- pyYAML
- suit
- pytz
- pyzmq
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
342.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
