• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

[Version 2 Release] RaspberryPints - Digital Taplist Solution

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Which version are you trying to get running?

This is a cut from my post early in this thread regarding using an UNO or an UNO clone (with a ch340/341 USB/serial bridge chip) instead of the Alamode, using the original RaspberryPints kit. Theoretically it should also work for the Tobor fork:

----------------------------------------------------------------------------------------------------------------------------------------------------

If using an Uno instead of AlaMode

Do not perform the AlaMode support installation in Step 6 of the raspberrypints installation procedure. Skip Step 6 entirely.

The Python port "listener" needs to know what device to monitor for "pour" messages.
The default setting is to listen for TTYS0, while an Uno connected via USB will typically show up as TTYACM0.

Edit /var/www/html/python/flow_monitor.py
Find these lines:

#The following line is for serial over GPIO
port = '/dev/ttyS0'
#The following line is for serial over USB
#port = '/dev/ttyACM0'

Add a comment # in front of the ttyS0 line and remove same from the ttyACM0 line.


If using an Uno CLONE instead of AlaMode

Do not perform the AlaMode support installation in Step 6 of the raspberrypints installation procedure. Skip Step 6 entirely.

Again, the Python port "listener" needs to know what device to monitor for "pour" messages.
The default setting is to listen for TTYS0, while an Uno Clone connected via USB will typically show up as TTYUSB0
I believe this is due to clones using a CH340 USB/serial bridge chip instead of the Mega16U2 used on "genuine" Arduino Uno boards.

Edit /var/www/html/python/flow_monitor.py
Find these lines:

#The following line is for serial over GPIO
port = '/dev/ttyS0'
#The following line is for serial over USB
#port = '/dev/ttyACM0'

Add a comment # in front of the ttyS0 line and remove same from the ttyACM0 line.
Then change /dev/ttyACM0 to /dev/ttyUSB0.

----------------------------------------------------------------------------------------------------------------------------------------------------

You still need to Enable the flow meters in the RaspberryPints management gui (Personalization - Show/Hide Columns) and set the number of faucets as well (Basic Setup - My Taps).

And assuming you are not running the RandR+ fork, you need to edit the raspberrypints.ino file to set the number of meters (numSensors) and the pins they're wired to (pulsePin[]). In the below example from my keezer I have 6 taps on pins 2 and 5 through 9.

Code:
//This line is the number of flow sensors connected.
const uint8_t numSensors = 6;
//This line initializes an array with the pins connected to the flow sensors
uint8_t pulsePin[] = {2,5,6,7,8,9};

Then you need to load that sketch to the UNO.

There are a couple of more changes needed if you are NOT using Swissflow meters but the above should get you in the ballpark...

Cheers!
 
Thank you for this unfortunately still unable to get this working. I would be happy to pay someone for assistance. I did not find the lines that you stated in the flowmonitor.py file. I have uninstalled and reinstalled 20 times now. I have used everything from the raspberrypints repo to R+R install script. I can get the application running with no issues and do what I want in it. but the only thing i really want this for is for flow meters. I am just at a loss.

I am running rpi3, buster, uno clone and some cheap 3 wire flowmeters.
 
Which version of RaspberryPints are you trying to run now? There's the original 2.0.1 version which will definitely not work on Buster; then there's the Tobor_8thMan fork which I believe should be fully functional on either Stretch or Buster as it was extensively reworked for Mariadb compatibility; and there's the RandR+ fork which I'm pretty sure works with Stretch and so should work with Buster.

If you're using the RandR+ version (which I'm guessing is the case) I don't think the raspberrypints.ino file looks like the original as RandR+ has pulled some of the settings into his management gui. So you set the parameters there, and then his code stuffs the resulting sketch into the Arduino...

Cheers!
 
I am going to blow it out again the the morning and install your version. Just hope I can get flowmeters running. Have 4 kegs and no idea how much is left.
 
Unless there is an error during the install and the error is resolved there is no reason for repeated install attempts. Time is better spent than doing the install again and again.

Was the initial RPints error free? If so, then the problem(s) reside elsewhere. Perhaps the flowmeters pin outs/lines are different since a different brand is being used. This is only a guess as, at this point, we're searching for "left field" or unusual situations/items causing the problems.
 
I am going to blow it out again the the morning and install your version. Just hope I can get flowmeters running. Have 4 kegs and no idea how much is left.

I’m No expert, but mine weren’t working/registering until I set the pulses in the tap menu (last column). My pulses are set to 19200 but some have them set as low as 700. Could be something that simple (or as simple as your wiring).

Using R+ with SF800s
 
Unless there is an error during the install and the error is resolved there is no reason for repeated install attempts. Time is better spent than doing the install again and again.

Was the initial RPints error free? If so, then the problem(s) reside elsewhere. Perhaps the flowmeters pin outs/lines are different since a different brand is being used. This is only a guess as, at this point, we're searching for "left field" or unusual situations/items causing the problems.


All of the installs have been successful with no errors. It’s only the flow meter . I have set the number of taps correctly. I have set the pin correctly and tried different pins. I have loaded up the Arduino IDE in order to see if I could get any messages or even see the ticks but that doesn’t work on the pi or a windows laptop. Im not a newbie to pi’s have about 15 running various applications at home and I’m not new to Arduino but not an expert with them. I use them with my home built 3D printers and my daughters robotics. I’m very much a newbie when it comes to flowmeters. I feel that the issue definitely lies between the Arduino and the pi but just do not know where to troubleshoot. Uno is recognized on pi and laptop. I have my multimeter ready to test the flowmeters but not even sure how to test them correctly at this point.
 
All of the installs have been successful with no errors. It’s only the flow meter . I have set the number of taps correctly. I have set the pin correctly and tried different pins. I have loaded up the Arduino IDE in order to see if I could get any messages or even see the ticks but that doesn’t work on the pi or a windows laptop. Im not a newbie to pi’s have about 15 running various applications at home and I’m not new to Arduino but not an expert with them. I use them with my home built 3D printers and my daughters robotics. I’m very much a newbie when it comes to flowmeters. I feel that the issue definitely lies between the Arduino and the pi but just do not know where to troubleshoot. Uno is recognized on pi and laptop. I have my multimeter ready to test the flowmeters but not even sure how to test them correctly at this point.

OK, then check all the connections. Believe, unless I'm mistaken, 3rd party flow meters are being used.
 
In index.php, I changed the following:
//echo '<td class="tap-num"><span class="tapcircle">' . $i . '</span></td>' . "\n";
echo '<td class="tap-num"><span><img class="billball" src="img/' . $i . '-tap.png"></span></td>' . "\n";

Then in styles.css, I added this at the bottom:

.billball {
position: relative;
top: 5px;
width: 50px;
height: 50px;
}

Good luck.

Dave

Thanks! I got some great assistance from Tobor_8thMan and ended up going with the following:

//echo '<td class="tap-num"><span class="tapcircle">' . $i . '</span></td>' . "\n";
echo '<td class="tap-num"><img src="img/tap/' . $i . '-tap.png" alt="" style="height:150px;width=150px;background-color:transparent;"></td>' . "\n";​

I just fully deleted the <span class> code to eliminate the image size issues I was having. I may reintroduce that with your billball code in the CSS file and mess around with it for sizing.

Andrew
 
R+R install script
if you are using my version check /var/log/rpints.log it will give some hints as to what is going on. You can turn on more loggin through python/Config.py changes

config['flowmon.debug' ] = False#True
config['dispatch.debug' ] = False#True

to
config['flowmon.debug' ] = True
config['dispatch.debug' ] = True

You also have to set a pulse count per gallon/liter. If it is 0 then pours will register but not log.
 
In my opinion John guest fittings are junk. I also try to minimize the amount of plastic parts I use in my brewery. I just hooked up my Swissies and used these parts instead:

US $6.90 | 2Pcs 6mm Hose Barb Tail To 3/8" Inch BSP Female Thread Connector Joint Pipe Fitting SS 304 Stainless Steel Coupler Adapter

https://s.click.aliexpress.com/e/c8H5NUN2

6PCS Rubber/silicone washer G3/8" Connector Water pipe Seal Ring Gasket 3 Point

https://rover.ebay.com/rover/0/0/0?mpre=https://www.ebay.com/ulk/itm/332860374076

The silicone washer fits perfectly into the 6mm stainless barb fitting. No thread tape needed. My liquid lines are all 3/16 ID. I have no issues with foamView attachment 640334.

Sorry I didn't reply back sooner but SwissFlow answered my question (they are very responsive and provide good customer service thus far).
The product number that SwissFlow provides with the 800 series flow meter from John Guest is: PI451213S 3/8" x 3/8 BSP
 
RandR+, Tobor_8thMan and other fork developers, is there any thoughts on maintaining a sticky when there are changes to your work? I have read and re-read and wrote emails to myself with lots of links and notes to do my due diligence and not bother you but I apologize forums can be troublesome to follow the current state of the projects. Sorry, I am a noob and about to try my first install. I have reviewed my notes again and need to continue reading. It would be helpful to list the pros/cons of each development/branch. It would also be helpful to have a tutorial/instruction set for each branch (or highlight changes from a baseline set of instructions). I know you are developing this of your own good will and time, it is much appreciated. I returned a Kegtron I bought on the Amazon Day deal as I felt this would be a better project for my 6 tap keezer.
 
RandR+, Tobor_8thMan and other fork developers, is there any thoughts on maintaining a sticky when there are changes to your work? I have read and re-read and wrote emails to myself with lots of links and notes to do my due diligence and not bother you but I apologize forums can be troublesome to follow the current state of the projects. Sorry, I am a noob and about to try my first install. I have reviewed my notes again and need to continue reading. It would be helpful to list the pros/cons of each development/branch. It would also be helpful to have a tutorial/instruction set for each branch (or highlight changes from a baseline set of instructions). I know you are developing this of your own good will and time, it is much appreciated. I returned a Kegtron I bought on the Amazon Day deal as I felt this would be a better project for my 6 tap keezer.

"Sticky" has been requested by others. I agree I'd be very helpful to have things in 1 (or separate for each branch) place instead of reading thru 122 pages. Does anyone know how to create a "Sticky" in this thread?
 
You cannot create a sticky within the thread. What I've done (and still not posted because I suck) for the BrewPi variants is a shared Google doc.
 
You cannot create a sticky within the thread. What I've done (and still not posted because I suck) for the BrewPi variants is a shared Google doc.
Is skemp45 the Original Poster (OP) of this thread still active? If so, could we ask if he would be willing to edit that #1 OP of this thread with links to Google Docs or alternatively would the branch creators want to create new threads where they are able to update the #1 OP of those threads with the current state of their development (then if skemp45 desired he could update the #1 OP of this thread pointing to those threads).
 
One may not edit posts after a certain amount of time. The moderators would need to do that.

If I may suggest: The various people doing work on this should create the target first, then the mod could be called in to add the link to the first page.
 
I've been vacillating between letting things lay vs recommending forking this thread, particularly with the emergence of Stretch and the coincidental mysql chaos.

There's no doubt there has been some benefit to the coexistence of effectively three different packages all trying to do roughly the same thing. Problems in one have visibility across the broadened experience base. But, otoh, when newcomers arrive with questions, I'm constantly wondering "which branch is he/she using?" and usually have to ask.

If folks feel forking would be a benefit, I propose RandR+ create his thread and Tobor_8thMan create his - and I recommend the threads be of similar titles so they won't get lost (eg: "RaspberryPints - RandR+ Branch" and "RaspberryPints - Tobor_8thMan Branch").

Once established, at the very least I can have a moderator edit the second post in this thread (mine) with forward pointers accompanied by a terse explanation of what happened and why. That would relieve the mods of the issue of editing someone's post who hasn't made an appearance in a hella long time...

Cheers!
 
Raspberry pints uses Arduino to count the pulses from the meters. Originally it used the Alamode board but many just use a Uno.


You can use either Tobor's version (much like the original)
https://www.homebrewtalk.com/forum/attachments/raspberrypints-2-1-0-000-zip.629862/

or my version (much different then the original but easier to use imo)
https://github.com/rtlindne/RaspberryPints

or edost also has a version he is trying to get back into the original
https://github.com/ericdost/RaspberryPints

on a side note you can run the following command to run my install script which will install all packages you need, prompt you what version you want to run, and setup the database for you.
curl -L https://raw.githubusercontent.com/rtlindne/RaspberryPints/master/util/installRaspberryPints | sudo bash

if you do run my script let me know if you have any errors

What are the pros/cons of each of these versions? (official RPints, Tobor's, RandR+'s, and edost's)
 
Trying to help a fellow HBT with displaying the temp on the Raspberry Pints screen. php to do isn't an issue. Problem I've run into is the dreaded linux.

Hoping someone with more linux knowledge than me will have a resolution to the problem I describe.

Ran into issues with expired Debian keys. I was able to install sqlite3, but not use php to query/access the db.

Using sqlite3 command line I opened the temp_data.db sent to me. I see there are plenty rows of data. Most recent is from Friday, September 6, 2019 so I know the temp probe is working and data are being logged.

I've downloaded phpliteadmin, put the 3 files (2 phpliteadmin files and the db) into the newly created database folder (var/www/html/database) with 777 permissions.

In the browser I then surf to localhost/database/phpliteadmin.php

Even through the command line sqlite3 opens the temp_data.db and I'm able to query the database, I get errors running phpliteadmin.php. I'm told PDO SQLite Driver not installed. SQLite3 not installed, SQLiteDatabase not installed.

How to resolve the needed items not being installed? I've searched online, but have run into 1 linux error after another. Mostly these errors are due to Debian key expiring in May 2019.

Any linux experts (or at least someone playing a linux expert on TV) able to profile instructions on installing the missing items in Debian running php7.2?

Thanks.
 
Looks like re-integrating my temperature logger into the tap list page, something I'm keenly interested in seeing working again. The collective had a bitch of a time getting the integration working the first time :)

I use phpliteadmin with the temperature database as well. The installation was as straightforward as you imply. From my system log:

Code:
Files go into /var/www/phpliteadmin (phpliteadmin.php and phpliteadmin.config.php)
Edit phpliteadmin.config.php

//password to gain access
$password = 'password';

//directory relative to this file to search for databases (if false, manually list databases in the $databases variable)
$directory = '/var/www';

//whether or not to scan the subdirectories of the above directory infinitely deep
$subdirectories = true;

Note in this case /var/www is the default Apache2 DocumentRoot hence the location of RaspberryPints and the phpliteadmin files there.

Any package dependencies must've been resolved when installing the basic php and sqlite support because my log says after the above was done it just worked...

Cheers!

[edit] fwiw, I went back through my build log and found when we got the temperature scroller thingie integrated on the RaspberryPints tap list page I needed to install php5-sqlite. But I didn't need that just to run the logger as a standalone application.
 
Last edited:
I can’t reproduce your error. Can’t say I’ve ever had to worry about keys when installing standard software on an up to date system.

This should update all out of date keys:

Code:
for K in $(apt-key list | grep expired | cut -d'/' -f2 | cut -d' ' -f1); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $K; done
 
What are the pros/cons of each of these versions? (official RPints, Tobor's, RandR+'s, and edost's)
Official RPints pros are that its the best documented and the official release. Cons are that it doesn't work on php 7.0 (default in Stretch) because its MySQL calls were removed and requires Arduino modification to get flow meters to work. It also seems that the original creators are no long active in maintaining it.

Tobor's and edost's versions; as far as I know, are the original that works on php 7.0, not sure what other features were added.

RandR+ is a rework of the original, it keeps the same feel but moves all the configuration into the web page so there is no need to modify the Arduino code. Many features that were thought of and created by others have been integrated (temp probes, motion sensor, volume estimation) Cons are that its maintained by just me and I don't have it well documented yet and may have a few bugs.
Side note: its installation script can be used to install The Original, Tobor's or RandR+ version.
 
I can’t reproduce your error. Can’t say I’ve ever had to worry about keys when installing standard software on an up to date system.

This should update all out of date keys:

Code:
for K in $(apt-key list | grep expired | cut -d'/' -f2 | cut -d' ' -f1); do sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $K; done

in a terminal window I did sudo su then typed in the for K etc exactly as shown. I get

Warning: apt-key ouput should not be parsed (stdout is not a terminal)

"pub" not a key ID: skipping

"uid" not a key ID: skipping

tried sudo apt-get update

sudo apt-get-install php7.2-sqlite3

both result in pub key is not available, failed to fetch, etc.
 
Last edited:
Back
Top