[Initial Release] RaspberryPints - Digital Taplist Solution

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
fwiw, I have mine in the middle of 12' runs and sitting atop my kegs (pic below). I'll be doing a major overhaul of my keezer soon and will be replacing the tubing so the meters are within a running foot of the Out posts...

Cheers!

Interesting and thanks day_trippr, you are always a great help. I have the 25 CF freezer and can get a lot of spares for my 8 on line taps. I just wanted to keep the flow sensors as far away form the keg area as possible as it can get tangled sometimes and want to keep from damaging a flow sensor while moving full and empty kegs.
Thank you for your time and support!
 
Cool and thanks for the input. I was not sure when they changed the GPIO header connector and was concerned over compatibility. I will worry about a case later.
Thanks again.

The "base" part of the IO header is unchanged, they just added a 14 pin "extension". The biggest problem some RPi shields have is their header shells are too thick at the ends to jamb in between the original 26 pin footprint and the added pins.

But the AlaMode folks used a shell with thin ends so it fits without bending pins out of the way. You just have to position the rubber "bumper" under the board so it keeps the board from touching the metal shells for the USB and nic receptacles. A piece of cake, it's just situational awareness ;)

Cheers!
 
fwiw, I have mine in the middle of 12' runs and sitting atop my kegs (pic below). I'll be doing a major overhaul of my keezer soon and will be replacing the tubing so the meters are within a running foot of the Out posts...

Cheers!

day_tripper - that's exactly how I have my meters set up and I'm regretting it a bit. I clean my lines using a pump that attaches directly to the beer quick disconnect. That means when I move my quick disconnect outside of the keezer to hook it up to my pump, I have to move the meter, too. I wish I had given myself about 3 feet from the quick disconnect to the meter so I could mount the meters without having to ever move them. Just a point of data for those who come after me.
 
fwiw, I have mine in the middle of 12' runs and sitting atop my kegs (pic below). I'll be doing a major overhaul of my keezer soon and will be replacing the tubing so the meters are within a running foot of the Out posts...

Cheers!

day_trippr, what size are your beer lines? Mine are 3/16" and the inserts for the meters are listed as John Guest PI251208S Stem Barb Connector – 3/8 OD Stem x 1/4 ID Barb and will soaking in hot water let them go on?
Thanks
Mike
 
I run 3/16" ID Bevlex-200 pvc tubing. Warming up the ends make them slide on easily over 1/4" barbs (which I use everywhere, including the meters). I used a heat gun but hot water should work if your tubing is similar stuff...

Cheers!
 
Could have sworn I posted these pics a few replies back.

Anyway, this is my solution for hooking up to the beer lines without having to undo the coils and meters or keep the keezer lid open through the cleaning process. The length is actually closer to five feet, which is a good length for a 13cf keezer. Small units could get away with a shorter leash.

I hook up, close the lid, pump away with cleaner followed by rinse water, then move to the next line. Having the two pumps greatly speeds up the cleaning process to where it is quick enough that I do it more often.

That's a Cornelius beer post with 19/32-18 threads, with an adapter to 1/4" MFL, and a 1/4" MFL to 1/4" barb, all stainless steel...

Cheers!

line_cleaner_extension_01_sm.jpg


line_cleaner_extension_02_sm.jpg
 
I use the famous DIY pump cleaners and I understand what you're saying.
But I have a solution using a beer QD, about 4 feet of beer line, and a corny keg beer post with a couple of adapters. Stick that on the pump and it'll provide the reach to get to the QDs inside the keezer...

Cheers!

Excellent solution. That's probably how I'll probably end up solving my problem so I can mount the meters on the back wall of my keezer and not move them. Kudos.
 
Can you use an old netbook (I have an AspireOne) to run RaspberryPints? I have been trying to have it boot from my SD card (the current OS is Ubuntu on the netbook) but to no avail.
 
There are a lot of Aspire One models.

Fortunately there seems to be a large multiple of threads re: Debian on Aspire One models visible via search. I'd get busy on Google and find the threads for your model and see where they lead.

If you can get Debian running, you can at least get a tap list display.
For the flow meters someone's going to have to tweak some code to enable a USB-connected Arduino to take on the AlaMode functions...

Cheers!
 
I've seen some talk and saw one persons tap list have Untappd integrated into their RaspberryPints. Is there any documentation on how to do this?

I don't have any documentation on how I did it and it's not complete by far. It may be in the V3 release if we ever get that far.
 
Hope it is - that would be one cool feature. Of course, it would be great if they had badges for trying home brew as well... ��
 
I don't have any documentation on how I did it and it's not complete by far. It may be in the V3 release if we ever get that far.

Here's hoping it does. What I would like is to be able to have my friends check in my beer and it shows the latest check ins on my RaspberryPints. Was at a bar that had that going on their screens, but have no idea what software they were using.
 
Huh - I cannot seem to figure out how to add one of my own brews to the list then...

Yea it's not very intuitive. What you do is search for the name of your beer. Then scroll to the bottom of the results and click "Don't see your beer". Then it should ask you to search for the brewery that makes it. Type in the name of your brewery and at this point if you have already created your brewery, you'll select your brewery and add the beer. If you haven't created your brewery then you can go ahead and hit " Brewery not found" and create your brewery. Hope this helps.
 
I was messing around with JonW index.php file and finally got everything the way I wanted it to look, but now when I start my Pi up, the chromium doesn't automatically start up. If I go to my laptop browser and type in the Pi's address I can see my taplist fine. I've also checked the "/etc/xdg/lxsession/LXDE/autostart" file and everything looks fine. Anyone have any suggestions?
 
I was messing around with JonW index.php file and finally got everything the way I wanted it to look, but now when I start my Pi up, the chromium doesn't automatically start up. If I go to my laptop browser and type in the Pi's address I can see my taplist fine. I've also checked the "/etc/xdg/lxsession/LXDE/autostart" file and everything looks fine. Anyone have any suggestions?

Does the local console make it to the LXDE desktop?
Or is it stuck in CLI mode?

If you configured your system based on the "official instructions, your tap list would be started by this line in /etc/xdg/lxsession/LXDE/autostart"

@chromium –-kiosk localhost (note the double-dash)

The 'localhost' url by default will look for index.html, index.php, etc. Make sure you don't have an index.html or you'll need more than just 'localhost' to get to your tap list. And make sure index.php has the proper ownership (either 'pi' or 'www-data' are typical users) and access rights.

If all else fails, look at the tail of /var/log/apache2/error.log as it is often very helpful...

Cheers!
 
Does the local console make it to the LXDE desktop?
Or is it stuck in CLI mode?

If you configured your system based on the "official instructions, your tap list would be started by this line in /etc/xdg/lxsession/LXDE/autostart"

@chromium –-kiosk localhost (note the double-dash)

The 'localhost' url by default will look for index.html, index.php, etc. Make sure you don't have an index.html or you'll need more than just 'localhost' to get to your tap list. And make sure index.php has the proper ownership (either 'pi' or 'www-data' are typical users) and access rights.

If all else fails, look at the tail of /var/log/apache2/error.log as it is often very helpful...

Cheers!

The pi makes it into the LXDE desktop,

The @chromium command is setup correctly

There is no index.html, just index.php

Not sure how you check for the proper ownership

I checked the error.log, and the only thing I get are the following:
[Thu Oct 30 17:08:10 2014] [error] [client 127.0.0.1] File does not exist: /var/www/img/pint.ico
[Thu Oct 30 17:08:18 2014] [error] [client 127.0.0.1] File does not exist: /var/www/img/pint.ico
[Thu Oct 30 17:55:04 2014] [error] [client 192.168.1.188] File does not exist: /var/www/img/pint.ico

I checked the file system and there is no pint.ico, but the index.php, does look for it. Any suggestions?
 
I think you found a bug wrt the missing pint.ico file. It won't stop the tap list from appearing (as you confirmed using a remote display) but it does cause errors.

I put a copy of it on my Google Drive here. You can copy it to /var/www/img.

As for ownership and access rights, iirc the RaspberryPints installation uses this command to set everything in the /var/www folder to world read/write/execute

Code:
$ sudo chmod -R 777 /var/www

which pretty much obviates ownership wrt access. I tend to use 755 myself.

Anyway, if you want to keep things tidy:

Code:
$ sudo chown -R www-data:www-data /var/www

which will make everything in /var/www owned by user www-data in the www-data group.

Still, none of the above would cause what you're seeing - that you can pull up the Tap List on another machine but can't get the LXDE startup to launch Chromium to your tap list. Maybe it's time to dig into the system log?

Cheers!
 
I think you found a bug wrt the missing pint.ico file. It won't stop the tap list from appearing (as you confirmed using a remote display) but it does cause errors.

I put a copy of it on my Google Drive here. You can copy it to /var/www/img.

As for ownership and access rights, iirc the RaspberryPints installation uses this command to set everything in the /var/www folder to world read/write/execute

Code:
$ sudo chmod -R 777 /var/www

which pretty much obviates ownership wrt access. I tend to use 755 myself.

Anyway, if you want to keep things tidy:

Code:
$ sudo chown -R www-data:www-data /var/www

which will make everything in /var/www owned by user www-data in the www-data group.

Still, none of the above would cause what you're seeing - that you can pull up the Tap List on another machine but can't get the LXDE startup to launch Chromium to your tap list. Maybe it's time to dig into the system log?

Cheers!

For the system log, do you mean the one under /var/log/ because if so, nothing jumped out at me even though I didn't understand most of it. I don't know if it would be helpful for me to post it or not.

Not sure if this helps narrow it down, but when I look at the Task Manager, I can see three instances of chromium.

The really weird thing is, when I remote desktop into the pi using VNC viewer on my laptop and using TightVNC on the pi. The VNC viewer displays the tap list. Is it possible that the tap list is just offscreen on my TV and if so how do I check?
 
Yea it's not very intuitive. What you do is search for the name of your beer. Then scroll to the bottom of the results and click "Don't see your beer". Then it should ask you to search for the brewery that makes it. Type in the name of your brewery and at this point if you have already created your brewery, you'll select your brewery and add the beer. If you haven't created your brewery then you can go ahead and hit " Brewery not found" and create your brewery. Hope this helps.

Helped immensely - thanks mate!
 
Aaaaand it just plain works!

To answer DanH: The HC SR501 PIR motion sensor is powered directly by the RPi, via the 5V rail. The sensor uses three connections to the RPi: 5V, GND, and GPIO7. The sensor has a local regulator that converts the 5V to 3.3V which runs the entire board, and making the output "RPi Safe" without dividers, etc.

Ok...So I haven't had to put an "instructable" together for a looong time, so bear with me. First person through let me know if there are any problems and I'll fix 'em up pronto. And I hope putting this here is ok with the 'Pints community!

Preview: You'll install xscreensaver and verify it works, stick the test and runtime scripts in the /home/pi folder, shut down and wire up the sensor, power up and test the sensor, then add an entry to the LXDE autostart file, and finally reboot to what should be a working feature.

Right then, we're off:

Unpack zip file:

I've put a zip file up on Google Drive with the two scripts, the instructions, and a couple of images to orient the user to the RPi GPIO header and the sensor. That file can be downloaded from here.

Unpack the file and place the two Python scripts (pir_test.py and pir_run.py) in the /home/pi folder. Have the other files handy as you put things together.


Install xscreensaver from an LXDE terminal:

apt-get install xscreensaver

After the installation completes, you can Add the ScreenSaver Preferences shortcut from the 'start' menu (look in folder "Other") to the desktop to make it handy while you're setting things up.

Most of the screensavers are not installed as part of the kit, but they are selected in the ScreenSaver Preferences - Display Modes sheet. You'll want to de-select the unavailable screensavers (stick your cursor on a title and if it doesn't show up in the preview pane it isn't installed), and probably quite a few of the installed ones as well. The Preferences gui is a total POS but it's free, so don't complain ;)

In any case, you'll want to verify the xscreensaver is actually working before proceeding. In ScreenSaver Preferences - Display Modes you can set the "Blank After" delay to something short so you're not twiddling your thumbs waiting for it to kick in.


Shut down, remove power and wire up the PIR sensor

Refer to hc_sr501.jpg and 2x13_header.jpg for connection locations (pictures are below).
A detailed description of the HC SR501 can be found here: http://www.mpja.com/download/31227sc.pdf

5V: Pin 2
GND: Pin 6,9,14,20 or 25 (pick one)
GPIO7: Pin 26

For orientation on a Model B RPi, Pin 2 is located almost in the very corner of the RPi board. Pin 26 is at the opposite end of the same row.

You don't need heavy wire for this. The PIR sensor uses very little power, so 18-22ga stranded is fine.

Notes:
- Verify that the two pin jumper is positioned as shown in hc_sr501.jpg
- Set the Sensitivity Adjust to 50% of travel to start
- Set the Time Delay Adjust full counter-clockwise to start (minimum delay between triggers is roughly 10 seconds)


Power up and boot to the desktop

Open an LXDE terminal and run pir_test.py as root

sudo python pir_test.py

You'll see the following text appear:

PIR Module Test (CTRL+C to exit)
Ready



Let the PIR settle for ~10 seconds, then wave a hand in front of the sensor.
The terminal should immediately show:

Motion Detected!

The script will continue to respond to PIR interrupts until you CTRL+C out.

If you do not get the PIR to respond, shut down and verify your wiring, then verify the above steps.

You can play around with the Sensitivity Adjust potentiometer until you're happy with the response, and you'll likely want to tune it when you have the RPi and sensor in their final locations. The Time Delay Adjust can be left at minimum - the sensor will retrigger after the delay and keep the display "alive" while you're moving around in front of your dispensing system.


Set up Autostart for the PIR runtime script

Add an entry to LXDE startup to autostart the PIR run time script. In an LXDE terminal:

sudo nano /etc/xdg/lxsession/LXDE/autostart

Add this line at the bottom:

sudo python pir_run.py

Write out the file (^o) and exit (^x)


Restart the RPi and boot to the desktop

Allow xscreensaver to kick in, then wake it up by waving at the PIR sensor.


That's all there is to it!

fwiw, both sensors I received worked perfectly (best as I can tell, anyway).

I haven't spent a lot of time playing with the Sensitivity adjustment. Set at 50% of travel the sensor picks me up when I come in my office door a good ten feet from the sensor, which isn't even pointed at the doorway. So it appears the sensor is certainly sensitive enough for this application :)

Cheers!


Troubleshoot later. xsaver is running, but the test script does not work. Too many frustrations lately, will troubleshoot later. Probably my problem...
 
As I only have 3 taps, I want to set my system up exactly as you have. I've spent days looking for the perfect 1280x720 monitor and have come up empty. Any tips?


I've got things almost where I want them as far as the hardware and site go. I cannibalized an old laptop and found a board on ebay that will allow me to hook it up via hdmi. Made some tweaks to the site to make it fit on a 1280x720 screen.

Also have the untappd brewery feed, beer img and rating incorporated to it.

If anyone is interested let me know and I'll post the code to git.
 
I just update my bar at my house form 10 taps to 12 and want to see if there was a way to add 2 more taps to the menu. I would also like to have two columns so that I would have 6 taps on the left and 6 taps on the right. I am familiar with mysql and PHP, So I can modify the code to make this work for my. I was just hope that someone out there has does this before and has some sample code that I could start out with.
 
Thanks day_trippr. that is a huge piece to the puzzle i'm working on. Now all i need to figure out is to add 2 more taps to the menu. and yes Google is a wonderful thing. :cross:
 
Less of a feature request and more of a re-working request: Would it be possible to assign a beer to a keg BEFORE tapping? Right now, the only time I can define what beer is in a keg is when I tap it. I have 6 kegs and 3 taps, so I can't easily define which recipe is in which Keg, other than typing it into the notes section for each keg - which is fine, but that doesn't cary through when I go to tap it.

Seems like the keg management page - where I switch the keg from "needs cleaning" to "clean" to "conditioning" once I add the beer - would be the right place to show what I put in that keg. Then, when I go to tap, I just select a keg # and it brings the beer recipe with it.

To me, this is far more logical than trying to remember which beer is in which keg #, and then going to the tap page and selecting a recipe and a keg. This presents the possibility of selecting a non-matching pair as there's nothing that ties the keg to a recipe.

Just a thought,
-Kevin
 
...other than typing it into the notes section for each keg - which is fine, but that doesn't cary through when I go to tap it...

Agreed, day_trippr - that's how I do it now. But it doesn't carry through when I tap it. So if I've got a few kegs cellering and I pull keg 5 out to tap it and select that on the tap list and it pulls up a different beer than I was expecting, then I know to look into it. As it stands now, unless I check the notes, I could tap that keg thinking it was beer A, when really it was beer B, but nothing in the system would validate that.

Maybe I'm just lazy...
 
Less of a feature request and more of a re-working request: Would it be possible to assign a beer to a keg BEFORE tapping? Right now, the only time I can define what beer is in a keg is when I tap it. I have 6 kegs and 3 taps, so I can't easily define which recipe is in which Keg, other than typing it into the notes section for each keg - which is fine, but that doesn't cary through when I go to tap it.

Seems like the keg management page - where I switch the keg from "needs cleaning" to "clean" to "conditioning" once I add the beer - would be the right place to show what I put in that keg. Then, when I go to tap, I just select a keg # and it brings the beer recipe with it.

To me, this is far more logical than trying to remember which beer is in which keg #, and then going to the tap page and selecting a recipe and a keg. This presents the possibility of selecting a non-matching pair as there's nothing that ties the keg to a recipe.

Just a thought,
-Kevin

It would have to be an addition to the code to make it more of a "keg tracker".

Currently, the system is designed to be little more than a fancy list. The only reason the keg information is even there is for the volume monitoring (and even then, its not really needed).

My plan once the holidays are over and life is a little less hectic and I have a chance to work on the projects around the house *I* deem necesary are to sit down and look at the Rpints code again (I haven't really done that since we pushed out V2) and see where things can be cleaned up a bit and simplified and then start working on finalizing some of the things I've been working on like the untappd integration and RFID stuff.

I also need to sit down and work out some of the other items on the list and figure out where to go from here....
 
Got my Pints up and running... Got the two-column running with 3 taps on each column successfully, so that's good.

What I don't have, like LiquidFlame, is the application auto-launching on boot.

And it's not just Chromium, the "@xset" lines in /etc/xdg/lxsession/LXDE/autostart aren't being executed, because the screen saver/blanking is still happening.

If I go into the command prompt and manually run that autostart script, it launches fine, disables screen blanking, and runs chromium in kiosk to the localhost Pints display. So I know there are no issues with the script. But it's not launching at boot.

Any thoughts?
 
Check out this resolution. Maybe you have the same issue?

Cheers!

Well, I'll be darned! It worked! Thanks!

For those who don't want to click over, it appears there are now two different autostart files:

/etc/xdg/lxsession/LXDE/autostart
/etc/xdg/lxsession/LXDE-pi/autostart

You need to add the lines to the latter, not the former...
 
Excellent!
All credit goes to @Twang :mug: as I only have the default /etc/xdg/lxsession/LXDE/ folder on my RPi's and never saw the problem myself...

Cheers!
 
Back
Top