[Version 2 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.
how hard would this be to scale past 10 taps? Like say 50?

The RaspberryPints team (well, at least hbt member @mcangeli) actually had planned on integrating a Centipede shield, an array of four 16-bit I2C registers with state-change interrupts, which would have supported up to 64 meters.

The Centipede stacks atop the AlaMode atop the RPi, making for a relatively compact solution (though the wiring to 64 meters could get intense ;))
I actually had a working Centipede all ready to go (still do) but the team didn't get a round tuit before they lost their mojo.

I don't think the Arduino code that would replace the existing sketch would be all that daunting. It'd be essentially an ISR responding to the Centipede register state change interrupts. There are four of those (one per register) which can be used independently requiring four interrupt-capable Arduino GPIO, or paired requiring only two GPIO, or ganged together on a single GPIO.

If fully independent the code would immediately know which of the four registers "saw" a meter tick and could drill into it directly to determine which meter ticked; with shared or ganged interrupts the code would have to read the 2 or 4 register status values to figure out which saw a state change, then drill into that chip to find which pin toggled, then start counting meter ticks and resetting interrupts.

As we're not using the AlaMode beyond counting ticks, and all the meters would be wired to the Centipede thus freeing up GPIO, I would keep the four interrupts independent and go from there - unless the coding would be easier with all four interrupts ganged on one GPIO (which might actually be the case).

The bottom line concern is the sketch has to resolve the source of a tick, increment the related pour counter and clear the interrupt, before the next tick is registered. I don't think that'd be a big deal as the SF800 meters running under typical flow rates are generating around 190 ticks per second, so the code would have to have a worst-case loop duration around 5 milliseconds. Which in this era is crippled turtle speed ;) And alternative meters have far lower tick counts per volume so they'd go along for the ride...

Cheers!
 
Captain

I have been using your version for over a year. I have seven taps with flow meters. 4 swissflows and 3 adafruits. We talked about a feature that you might add on your next release which would allow you to select a profile for each tap allowing for different flow meters.

If not do you have any suggestions on how I can manually do it to get "better" accurate readings from the adafruit meters?

Thanks in advance.

Matt
 
Another question to everyone regarding mods. Has anyone got the rpi3 camera working and showing within rpints? i was thinking a good option would be to replace the logo box with output from the camera.
 
Does version 2.0.1 and 2.1.1 already have the wheezy OS built into it? I can only find Jessie. Should we use the noob at raspberrypints.com to start the install?
 
The R'Pints packages are OS and pre-requisite package agnostic.
It's up to the user to resolve any environmental issues.

Fortunately that's pretty much down to the Apache2 document root setting changing from /var/html to /var/www/html with recent Apache2 versions; and the LXDE startup file location changing from /etc/xdg/lxsession/LXDE/autostart to /home/pi/.config/lxsession/LXDE-pi/autostart with the current LXDE version.

The Raspberrypints.com link is to the Raspbian download page, which only shows the current release (Jessie).
You can use the NOOBS kit or the vanilla installer.

Cheers!
 
So in theory yes lol I will have to dive deeper into it as I want to use this to help me keep track of how much beer we flow. Yes I have 50 draft lines. Will post a pic of the craziness later



The RaspberryPints team (well, at least hbt member @mcangeli) actually had planned on integrating a Centipede shield, an array of four 16-bit I2C registers with state-change interrupts, which would have supported up to 64 meters.

The Centipede stacks atop the AlaMode atop the RPi, making for a relatively compact solution (though the wiring to 64 meters could get intense ;))
I actually had a working Centipede all ready to go (still do) but the team didn't get a round tuit before they lost their mojo.

I don't think the Arduino code that would replace the existing sketch would be all that daunting. It'd be essentially an ISR responding to the Centipede register state change interrupts. There are four of those (one per register) which can be used independently requiring four interrupt-capable Arduino GPIO, or paired requiring only two GPIO, or ganged together on a single GPIO.

If fully independent the code would immediately know which of the four registers "saw" a meter tick and could drill into it directly to determine which meter ticked; with shared or ganged interrupts the code would have to read the 2 or 4 register status values to figure out which saw a state change, then drill into that chip to find which pin toggled, then start counting meter ticks and resetting interrupts.

As we're not using the AlaMode beyond counting ticks, and all the meters would be wired to the Centipede thus freeing up GPIO, I would keep the four interrupts independent and go from there - unless the coding would be easier with all four interrupts ganged on one GPIO (which might actually be the case).

The bottom line concern is the sketch has to resolve the source of a tick, increment the related pour counter and clear the interrupt, before the next tick is registered. I don't think that'd be a big deal as the SF800 meters running under typical flow rates are generating around 190 ticks per second, so the code would have to have a worst-case loop duration around 5 milliseconds. Which in this era is crippled turtle speed ;) And alternative meters have far lower tick counts per volume so they'd go along for the ride...

Cheers!
 
[...]Yes I have 50 draft lines. Will post a pic of the craziness later

Do you need a new best friend? :D

The idea of using a Mega2560 (which honestly escaped me - I'm actually not well versed in all the different Arduino boards available) seems like a good one as it would only require extending the existing sketch, as long as all of the digital IO can trigger on input state changes (ie: interrupt capable).

That said, the greater issue may be how to display 50-something taps in a list. I think the most I've seen was around a dozen and that required two columns. Maybe with one hella yuge display and four columns?

Cheers!
 
Got the monitor rotated, had to add
hdmi_force_hotplug=1^M
display_rotate=2
The ^M is what did the trick, I have no idea why. I'm on Jessie and a 1G pi
Mark
 
Okay, I have serial port enabled by uart=0, but when I go to compile raspberrypints.ino sketch it throws an error, "Error inside Serial.Serial Event" Do I have another path problem. Running an almode on a pi3 B.
Thanks
 
Having built something like this for a local bar, I heartily endorse this concept!

I had to go a bit less information dense for the build I did, given TV size and readability concerns, but this looks great. I've also always wanted to try a flowmeter synced setup, but haven't had the chance. Maybe one day :)
 
Totally loving RaspberryPints!

I originally was running this with my simple 4-tap setup on the 7" touchscreen but I've since added a couple more taps.

With 6 taps it crowds the 7" screen quite a lot and makes it hard to read some of the smaller text. I've been trying to educate myself enough in CSS/HTML to be able to make the tables interactive and bring up separate pages for beer descriptions, etc.

Unfortunately, my VERY limited knowledge of coding has not afforded me the ability to do this. I'm not able to find where there beer names and descriptions are actually saved in the admin PHPs.

Has anyone else tried to make a build that is interactive??

:mug:
 
All of the tables are stored inside your RaspberryPints MySQL database.

They are fully accessible via phpMyAdmin, allowing pretty much any type of edit that you want.
You can add Beer Styles at will, for instance, delete "false pours" (like the time I forgot to shut down MySQL before I cleaned all six tap lines), and so on.

I just tried a 7" 4:3 browser to see what my tap list (also 6 beers) looks like in tiny form.
Woof. Total eye test :eek:

Cheers!

[edit] The database file should be at /var/lib/mysql/ibdata1, but if you install phpMyAdmin it'll find it on its own.
 
Boomer3731,

I have recently made a build that is responsive and based on the Bootstrap framework. You can download the source files at : https://github.com/iainwb/itaps. It is still in alpha and does not have an automated install or flowmeter support at the moment, but I will be updating it regularly.
 
I'm having trouble getting the pir_run.py script to autostart. It works fine if I manually start it from the terminal.

@sudo python pir_run.py

...added to /etc/xdg/lxsession/LXDE-pi/autostart :confused:


I'm making progress on the interactive buttons though. I found a way to make the table elements into buttons/links and I'm now just working on passing php attributes through.
 
@Boomer

I initially misunderstood your request. The web app I built is responsive in that is automatically adjusts for almost any display size and orientation.

I wasn't planning on any interactivity, but since I've based mine on the Bootstrap framework it'd be fairly easy to incorporate. If you have a small touch screen and want the tasting notes hidden, but accessible that can be done with popovers or collapses.


Totally loving RaspberryPints!

I originally was running this with my simple 4-tap setup on the 7" touchscreen but I've since added a couple more taps.

With 6 taps it crowds the 7" screen quite a lot and makes it hard to read some of the smaller text. I've been trying to educate myself enough in CSS/HTML to be able to make the tables interactive and bring up separate pages for beer descriptions, etc.

Unfortunately, my VERY limited knowledge of coding has not afforded me the ability to do this. I'm not able to find where there beer names and descriptions are actually saved in the admin PHPs.

Has anyone else tried to make a build that is interactive??

:mug:
 
@Boomer

I initially misunderstood your request. The web app I built is responsive in that is automatically adjusts for almost any display size and orientation.

I wasn't planning on any interactivity, but since I've based mine on the Bootstrap framework it'd be fairly easy to incorporate. If you have a small touch screen and want the tasting notes hidden, but accessible that can be done with popovers or collapses.

I actually cracked it last night. I have the taplist hiding notes but when each tap line is clicked on the touchscreen another page opens with notes. There is a simple return button to go back to the taplist.

It makes the 7" screen much more manageable.
 
Hello,

I am new here and am trying to get my RaspberryPints to work. I have gotten it all set up, but when I add a beer it doesn't show up on the "Currently on Tap" list. Ive added multiple beers and still nothing shows up. Any help is appreciated.

Thank you
 
Do other database functions work?
For instance, if you set the number of taps do you see that number of (empty) taps on the tap list page?
And can you add some kegs to My Kegs?

There is a "feature" in the My Beers entry that does not react kindly to forced formatting (Tabs or hard returns).
This usually bites people when they try to put recipes or form multiple paragraphs in the Tasting Notes.
Don't do that. Try something dead simple (one word, even) and see if it shows up. If that works you can edit that entry and write one paragraph...

Cheers!
 
I'm trying to configure flow sensors.

Unfortunately, when I try to run the setup file for AlaMode in Jessie it gives me this error:

Code:
jessie-setup: line 2: $'\r':command not found : No such file or directoryne.txt

chown: cannot access '/usr/share/arduino/hardware/tools/avrdude\r': No such file or directory

chgrp: cannot access '/usr/share/arduino/hardware/tools/avrdude\r': No such file or directory

chmod: cannot access '/usr/share/arduino/hardware/tools/avrdude\r': No such file or directory

jessie-setup: line 14: $'/r': command not found

Any pointers?


EDIT: I figured this formatting error out and ran the script through dos2unix.

I'm now able to select AlaMode board in Arduino IDE but it is not able to find the serial port
:confused::confused::confused:



EDIT 2: I should really search this thread more. Thanks again to day trippr!!! You've probably answered everyone's question multiple times somewhere in here.

Here was the fix!
 
Long shot but - anyone in the DC (NOVA) area willing to help a guy out with setting up the latest and greatest version? I was an early adopter back with V1 then upgraded to V2 with some flow meters. I know zilch about programming so it took a LOT of energy and effort (and cursing and drinking) to get it running... mostly.

Then I moved and haven't touched it in nearly a year. I just finished my bar and brewery (I'm better at construction than programming) and popped back on, only to find 2600 posts about the various tweaks and updates and I see something like "open the script and run each command in a terminal" and think to myself "there's zero chance, kiddo"

So I give you food and a seat at my bar and you help me learn something. Sounds like a good deal to me!
-Kevin
 
Most of what's in those gazillion posts are coping with RPi3 hosts, Raspbian Jessie, and an updated Apache2 that changed where it wants your web service files.
If you haven't changed your hardware and have a working installation you can ignore virtually everything beyond the "plan vanilla" V2.01 With Flow Meters installation process on Raspbian Wheezy.

Otoh, if your SD card is lost/croaked and you need to start from scratch or you want to switch to an RPi3, you'll encounter all that good post-Wheezy/RPi2 stuff ;)
But...the R'Pints Collective has walked lots of people through the process, so if it comes to that, give it a shot...

Cheers! :mug:
 
I'm going to have to start at least somewhat fresh. I still have my Pi, though wouldn't mind upgrading to the Pi3 for the onboard wifi and better processing. I still have my alamode with the custom board I cobbled together for my flow meters and temp sensors to run over a CAT-5... so if no one lives local and wants to help I'll sift through the 2600 threads and figure it out. Tenacity always wins!
 
[...]Tenacity always wins!

That's the spirit! :rockin:

fwiw, unless you're planning on loading something big along with RaspberryPints the incremental performance improvement with the 3 won't be noticed.
I wouldn't toss an RPi2B for a 3 just out of hand when a $7 dongle will give you reliable Wifi on a mature platform...

Cheers!
 
More Jessie problems for me trying to get the flow sensors to work.

I've got everything working with the Alamode board (I think) and the flowmon seems to be operating... Unfortunately, it's not updating the UI at all when I pour.

I even changed the target directories in flowmon to the correct ../www/html/

:confused:

lY0zWnCYgQA8m2J4MjDe_wpw7Zg2zQcVTka17AfMmNVhE2Iu6b28FUnlUbMjrj2DUkQZhM4z8XvPUKXZIrA_dlqXqfuIJ4ETo-753F7HkUzLP0JamHZF68ETAdnuhr3aY2GIOGtW40j3N__3zWu27ncGlgxVh3oa7iuLCh-8YmbMZwqGaTCH2CCgjqi0GoiFaXbRMbj1Tgw-03W0hng5Uf--iwbn4lHFSfAPW_ardRUNogA_JfznOiaVXu6PQS2zwEfxaI9eW3ViBEBk61R8BqtfKKjsJISng7-BxY-OOWy9pcSWENwWmuyIJ1WWYMTkMWP9mbBxV9oBbZJ-QLtBaW8MBTvZY7Wf3n9qn0biR6SlKj3ScnAG-eEDDOLeWwh6g8Fa1b75-bD7n_--XVVPyji1TwjOvaGEEo-ZFtqz7y9lV2CtSSa5QaZQNdbWB792giuSKtp1ST4M4Ut5mj3e3RF-LYLnI70Jrk6JR0f-3y3kMFO3kZiuJRTUdmSBN6gwhyDMnIXZTgVg67RDo3Lf_f0YQVmIKJDz7oYZUL3-LJr7yWwN4W0Qc4dECYacywWd86Mmy0EUD-46AYr9D9ujcbD10tyxQkQTZwcjbKAVluYILRP4fmdX=w1721-h950-no
 
My error - you got my motion sensor script running, not the flow meters.

Ok, so you had a working installation without the flow meters, what have you done so far to get the flow meters running so I have some idea what might need tweaking?

Cheers!

ps: there is a Use Flow Monitoring switch in the R'Pints management gui that'll need enabling...
 
My error - you got my motion sensor script running, not the flow meters.

Ok, so you had a working installation without the flow meters, what have you done so far to get the flow meters running so I have some idea what might need tweaking?

Cheers!

ps: there is a Use Flow Monitoring switch in the R'Pints management gui that'll need enabling...

  • I've enabled flow sensors in the GUI
  • I've edited the .ino to match my sensor quantity and pins
  • I've flashed the AlaMode board with the .ino
  • I've copied flowmon to the init.d folder
  • I've changed the flowmon file to update the ticks to the proper pours file location for Jessie
  • I've started the flowmon service
 
  • I've enabled flow sensors in the GUI
  • I've edited the .ino to match my sensor quantity and pins
  • I've flashed the AlaMode board with the .ino
  • I've copied flowmon to the init.d folder
  • I've changed the flowmon file to update the ticks to the proper pours file location for Jessie
  • I've started the flowmon service

Good. I'm assuming at this point you have a working tap list and the only thing needed is to get the pour monitoring running.

Somewhere along the way you should also have executed these commands:
Code:
$ sudo chmod a+x /etc/init.d/flowmon
$ sudo update-rc.d flowmon defaults
And a reboot is advised.

One thing you can try will at least prove the AlaMode is issuing a pour packet towards the host RPi.

- Open a terminal window on console

- Stop the flowmon service:
Code:
$ sudo /etc/init.d/flowmon stop

- Now run flow_monitor.py in the terminal session:
Code:
$ sudo python /var/www/html/python/flow_monitor.py

If you have your meters wired and plumbed, try a short pour while observing the running terminal session (if not plumbed, gently blow through one in the forward-flow direction).
Within a second of stopping the pour you should see a few lines of "complaints" about display settings etc but the bottom line is you'll definitely see something after a pour (this worked cleaner on Wheezy - you could see the actual three line "pour message" instead a bunch of OS and app whining. I miss Wheezy, Jessie blows chunks ;))

If there's no response then the AlaMode isn't working properly. Double-check the ino file and make sure when uploading the sketch that there weren't any errors. Re-check your meter wiring for all three connections (btw, which meters are you using) being sure that the data connection is to one of the pins you've enabled in the sketch...

Cheers!
 
Back
Top