Going to necro the shit out of this thread as I have done quite a bit of tinkering with kegbot over the past week up to the point I am ready to install in the keezer. I will document it in more detail if anyone is interested but here is a basic rundown. There are probably many other ways to get setup but this is what I've learned.
Parts List:
Arduino - Used to read from the flow meters and report to the server
Arduino Uno (Up to 2 taps)
Arduino Mega (up to 6 taps)
Flow Meters
I picked up some from Jaycar for $11 to test, you can tweak the "pulse per ml" setting on the server to get the right measurements
The YF-S201 are cheap and cheerful, I just picked up a stack on Aliexpress for <$5 each. Will report back
You will need some 1.2" BSP female to barb fittings or some JG push fittings to screw on to the flow meters - again Aliexpress I picked up some staino ones
You will need a .25w 2.2k resistor for each flow meter
Server
I am using a Raspberry Pi but you can use a tablet that is OTG compatible or a laptop/linux box somewhere on the network
Installing
- First you need to flash the arduino board with the kegboard firmware, it is available on the github and is fairly straight forward, I had to get a few libraries in the right place.
- Installation on the Rpi was straight forward, there is a pre built image however I did below
- Fresh NOOBS image
Enable SSH and change password on pi by opening terminal and typing sudo raspi-config
In the terminal type the following or paste and press enter - bash -c "$(curl -fsSL https://raw.github.com/Kegbot/kegberry/master/install.sh)"
Check DHCP leases to find IP and browse to IP
configure basic settings
cd /home/kegbot/.kegbot
sudo nano local_settings.py
Change DEBUG = True to DEBUG = False
In local settings you also need to add the below
# Tell Kegbot use the SMTP e-mail backend.
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# SMTP server hostname (default: 'localhost') and port (default: 25).
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
# Credentials for SMTP server.
EMAIL_HOST_USER = 'brewpalacekegbot'
EMAIL_HOST_PASSWORD = '************'
EMAIL_USE_SSL = False
EMAIL_USE_TLS = True
# "From" address for e-mails.
EMAIL_FROM_ADDRESS = '
[email protected]
Putting it together
- Plug the arduino into the pi with USB cable
- if you are using two arduinos (for more than 6 taps or more than 2 with a few UNO's) you will need to install the support library - Run - sudo pip install kegbot-kegboard as pi user (sudo su kegbot)
Run set-kegboard-serialnumber to set the serial
Plug in additional boards and set serial per above steps
open /home/kegbot/.kegbot/local_settings.py and add KEGBOT_ENABLE_ADMIN = True
sudo su kegbot
cd /home/kegbot/kegbot-server.venv/bin
./kegboard syncdb
Go to the web interface through your browser and go to controllers
You will need to add any additional meters from a mega manually, name them flow2, flow3 etc.
You can then add kegs, brewers etc and assign them to taps
You will need to tweak your "tick/ml" settings on each flow meter, this will depend on which one you use, I believe the YF-S201 are 2.25/ml
Update your email settings on your user to notify you when kegs are low etc.
I plan on looking into RFID and potentially a solenoid to play with, just because... no real practical value to me.
I also think with some arduino skills you could get the pin change interrupts running on additional pins on the Uno or other boards but the Mega can be had for $16 anyway.
Again if anyone needs any info, help or more detail let me know. I've spent a good part of the last few days playing with this and Raspberry Pints. My preference is Kegbot mainly because I couldn't handle the imperial measurements in RPints but there are a heap more stats and features with Kegbot. Plus the API means I can convince a dev mate to knock me up a nice interface.
Cheers!