[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.
Attached is the log file. I change the pin and count on the taps screen in several ways. I lowered the counts to 100 to be able to see things at the extreme and nothing. I repeated when connected to pin 2 and setting pin in Pints to 0, 1, 2, and 3. All the same results.
 

Attachments

  • 74CA218E-B921-42D8-A765-FBEFFEC40572.jpeg
    74CA218E-B921-42D8-A765-FBEFFEC40572.jpeg
    406.8 KB · Views: 58
Attached is the log file.
It looks like the Arduino might not have the sketch on it because I don't see anything that looks like its establishing connection.

Are you using Uno or Alamode?

Check /python/Config.py config['flowmon.port'] should be '/dev/ttyS0' for alamode and '/dev/ttyACM0' for Uno.
you can also enable more logging by replacing False#True with True

Use the Arduino ide to manual upload the sketch (/Arduino/raspberypints/raspberrypints.ino) then use the serial monitor to see if you are getting alive messages from the arduino
 
It looks like the Arduino might not have the sketch on it because I don't see anything that looks like its establishing connection.

Are you using Uno or Alamode?

Check /python/Config.py config['flowmon.port'] should be '/dev/ttyS0' for alamode and '/dev/ttyACM0' for Uno.
you can also enable more logging by replacing False#True with True

Use the Arduino ide to manual upload the sketch (/Arduino/raspberypints/raspberrypints.ino) then use the serial monitor to see if you are getting alive messages from the arduino

I am using an Uno. I thought I checked the config.py for that but I will check again. Do you have more guidance you can point me to how to use the Arduino ide as you mentioned? I am not familiar with that process.
 
I am using an Uno. I thought I checked the config.py for that but I will check again. Do you have more guidance you can point me to how to use the Arduino ide as you mentioned? I am not familiar with that process.
Ok I checked the config.py and is is set for uno. Attached is another log file and it shows it is waiting for an alamode, do I still have something set wrong somewhere?
 

Attachments

  • 14538052-0BCD-4923-BEDA-87BB838BAAF4.jpeg
    14538052-0BCD-4923-BEDA-87BB838BAAF4.jpeg
    21.5 KB · Views: 39
@RandR+ Changing the delay time from 100 to 5000 seems to have done the trick! I also generated a .hex of the edited version and named it the same as the one on the rpi and replaced the old version with the new one and everything seems to be working fine except the other issues I mentioned before. luckily I was able to get it to open chromium in kiosk mode on boot, but I still haven't figure out how to do it where I still have my regular desktop when I use alt-F4, but oh well.
 
Attached is another log file and it shows it is waiting for an alamode, do I still have something set wrong somewhere?
The text in the picture is too small for me to read.

The log defaults to say alamode so you don't need to worry about that, do you see an error in the log about uploading to the Arduino?

before using the Arduino ide stop the flowmon service using this command from the terminal
sudo /etc/init.d/flowmon stop

You can use the Arduino IDE from the start menu->programing->Arduino IDE, open <WWW_DIRECTORY>/arduino/raspberrypints/raspberrypints.ino
this is the code that run on the ardunio,
under tools check and make sure you have Uno selected as the board and make sure the serial is set to /dev/ttyACM0

then try to upload the sketch using file->upload, if that succeeds use tools->serial monitor, this should bring up a different window that should be printing alive on it, if it is not printing alive then the Arduino is not working yet

if it is printing alive then close the serial monitor and restart the flowmon service
sudo /etc/init.d/flowmon start
 
@RandR+ I tried updating my RP by getting the latest version of your script and just updating but I got this error. I am trying to update so my brewery logo will appear larger.
 

Attachments

  • Error.jpg
    Error.jpg
    996.6 KB · Views: 52
  • IMG_1686.jpg
    IMG_1686.jpg
    636.4 KB · Views: 52
but I got this error
I just committed the fix for that error, try getting the latest from GitHub then run the update again.

If your brewery image doesn't increase in size edit /includes/beerListTable.php
change the 100 of the following line to a number that looks good (you will probably need to edit the file as sudo or change permissions on that file)
<img style="border:0;width:100px" src="<?php echo $beer['breweryImage']; ?>" />
 
@RandR+ Not sure if you remember, but I had mentioned before that despite answering yes to both disabling screen blanking and that I wanted it to open chromium in kiosk mode it wasn't opening chromium in kiosk mode. I also said that with the workaround I was using by putting an autostart file in /home/pi/.config/lxsession/LXDE-pi/ (I had to create the lxsession folder and LXDE-pi folder) when I would use alt-F4 there was no desktop. Well I finally figured out what was wrong! Took a lonnnnng time, but I finally found where your version of the autostart file was at in /etc/xdg/lxsession/LXDE-pi/ and compared it to what I had been using that seemed to be working. The difference was I was using "@chromium-browser --kiosk --incognito localhost" (I added the --incognito to get rid of the annoying alert that pops up after you've restarted it in a way chromium didn't like) and you are using "@chromium --kiosk localhost" the main difference being that yours is lacking the "-browser" tacked on to the end of the "@chromium".

I'm not sure why this difference doesn't seem to matter for your system, but for me as soon as I change that one line it finally works when none of my other 30 or so installs of your branch worked in that regard. This holds true for both Raspbian Stretch and Buster all tested on Raspberry Pi 3B+'s

Also there's still some wonky stuff with image sizing. Everything looks great on desktop and the actual display TV, but when I connect via my phone the scaling of images looks weird. The brewery image in the "pours" list is tiny, the brewery logo in the top left corner is too big, and the SRM images are similarly oversized. The keg images also appear to not be centered in the column and look small.

Other than that I've been battling having my raspberry pi's not resolve their local IP addresses when I type them into my browser manually yet somehow they sometimes will still resolve when doing it through port forwarding. It doesn't seem tied to anything in your code as I'm having the same issue with my Fermentrack build as well, but figured I'd mention it in case you have any insights.

Anyways that's all I can think of at the moment. Hopefully this is all coming across as constructive and not me just being critical or anything. I'd just love to see every last bug worked out because I know I'm OCD like that haha

Like I said though, man, I love the work you're doing so that's why I want to help work with you on getting it flushed out rather than just give up and try a different fork or something. Let me know if there's anything else I can do for additional testing.
 

Attachments

  • rpints issues3.png
    rpints issues3.png
    1.5 MB · Views: 47
Last edited:
I just committed the fix for that error, try getting the latest from GitHub then run the update again.

If your brewery image doesn't increase in size edit /includes/beerListTable.php
change the 100 of the following line to a number that looks good (you will probably need to edit the file as sudo or change permissions on that file)
<img style="border:0;width:100px" src="<?php echo $beer['breweryImage']; ?>" />

I just tried to redo the update and received the same error. I did the following:

wget https://raw.githubusercontent.com/rtlindne/RaspberryPints/master/util/installRaspberryPints

chmod +x installRaspberryPints

sudo ./installRaspberryPints

Once that was finished, I went into raspberry pints and clicked update under the install tab. This is where I received the error. Any idea where I'm going wrong?
 
The text in the picture is too small for me to read.

The log defaults to say alamode so you don't need to worry about that, do you see an error in the log about uploading to the Arduino?

before using the Arduino ide stop the flowmon service using this command from the terminal
sudo /etc/init.d/flowmon stop

You can use the Arduino IDE from the start menu->programing->Arduino IDE, open <WWW_DIRECTORY>/arduino/raspberrypints/raspberrypints.ino
this is the code that run on the ardunio,
under tools check and make sure you have Uno selected as the board and make sure the serial is set to /dev/ttyACM0

then try to upload the sketch using file->upload, if that succeeds use tools->serial monitor, this should bring up a different window that should be printing alive on it, if it is not printing alive then the Arduino is not working yet

if it is printing alive then close the serial monitor and restart the flowmon service
sudo /etc/init.d/flowmon start

Thank you for the detailed procedure, it was very clear what to do. I followed the steps and the arduino was outputing "alive" I then restarted flowmon and tried several differing pins (1, 2, 3) and still R Pints was not showing any volume change on any of the kegs. I am not sure what to try next. The only think I can think of is to try a different SF800 flow meter but I am not confident that is where the issue lies. Any other suggestions? Thank you again for the help!
 
Once that was finished
What options did you select during the loading? If you reinstalled or chose update raspberrypints, there is no need for you to run the update from the admin page.

If just update the pi or told it to do nothing then you haven't got the latest from GitHub and haven't got the fix yet
 
I am not sure what to try next. The only think I can think of is to try a different SF800 flow meter but I am not confident that is where the issue lies. Any other suggestions?
Go back to /var/log/rpints.log to see if there is any new messages in it (feel free to post it for me to review)

If there is something in the log like
alamode config, about to send: C:8:3:4....| (where ... is actual text)
then you can take the C:8:3:4....| part go back to the serial monitor and paste it in the text box on top and send it (make sure the flowmonitor service is stopped before trying), you should see it echoed backed from the Arduino, that will set the Arduino ready to check pins for pulses. You then can try the flowmeter and see what the Arduino reports, after stopping the flow it should say something like P:-1:1:1000
 
Thank you for the detailed procedure, it was very clear what to do. I followed the steps and the arduino was outputing "alive" I then restarted flowmon and tried several differing pins (1, 2, 3) and still R Pints was not showing any volume change on any of the kegs. I am not sure what to try next. The only think I can think of is to try a different SF800 flow meter but I am not confident that is where the issue lies. Any other suggestions? Thank you again for the help!

I would check that your flow meters are wired correctly. The swissflows should be wired so that the wire with the stripe on it goes to a ground pin on the arduino, the middle wire goes to the data pin (I use pins 8, 9, and 10), and the outside wire without the strip goes to 5 volts on the arduino.

you can also try flashing using either this modified hex or .ino to flash the arduino and also replace the current hex file named "raspberrypints.cpp.hex" and .ino file named "raspberrypints.ino" located in /var/www/html/arduino/raspberrypints with that same .hex file and .ino file I linked. Instead of replacing that .ino file you can also edit "raspberrypints.ino" in that same folder by opening it up which should pull it up in the arduino IDE, and then doing a search for "delay(100)" and changing "100" to "5000". After that you can then save it and flash your aduino by hitting "upload" after making sure your settings are correct like you did previously.
 
Last edited:
What options did you select during the loading? If you reinstalled or chose update raspberrypints, there is no need for you to run the update from the admin page.

If just update the pi or told it to do nothing then you haven't got the latest from GitHub and haven't got the fix yet

Options during loading? I chose update raspberry pints.

Ok, so I don't need to try the update on the Pints web interface?
 
I chose update raspberry pints.

Ok, so I don't need to try the update on the Pints web interface?

Correct the installer will do the pull from GitHub then run the database update. The web interface just runs the database update for now.
 
I have a model 3B+, Rpints version from RandR+, 2 Swissflow and Arduino Uno(with breadboard) connected with USB.
I am now stucked getting the flowmeters to work properly and hope for some help. I have been reading and trying now for so many hours.

I have done this:
- Uploaded raspberrypints.ino file through serial port:ttyACM0 and board:Arduino Uno.This was done successfully (done uploading).
In the .ino file I only changed "unsigned int numSensors = 4;" to "unsigned int numSensors = 2;". Nothing else
- I have changed config.py to "config['flowmon.port'] = '/dev/ttyACM0'", "config['flowmon.debug' ] = True" and "config['flowmon.debug' ] = True"
- sudo /etc/init.d/flowmon start is successful and ps aux | grep FlowMonitor.py gives:
pi 2324 0.0 0.0 4368 552 pts/0 S+ 22:48 0:00 grep --color=auto FlowMonitor.py
Doesn't reply what it should?
- Connected to pin 2 and 7 on the Arduino and put flowpin 2 and 7 on admin page.

- rpints.log give me this message. What is the problem here?

"2019-09-26 22:13:51 RPINTS: valve update: RPU:VALVE:0=0
2019-09-26 22:13:51 RPINTS: valve update: RPU:VALVE:1=0
2019-09-26 22:13:51 RPINTS: Could not import RFID Reader, RFID disabled. Assuming SPI not installed/configured
2019-09-26 22:13:53 RPINTS: starting setup...
2019-09-26 22:13:53 RPINTS: resetting alamode to try to force it to listen to us...
2019-09-26 22:13:54 RPINTS: giving it a short break to wake up again...
2019-09-26 22:13:56 RPINTS: reflashing alamode via:
/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -patmega328p -calamode -P/dev/ttyACM0 -b115200 -D -Uflash:w:/var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex:i
RPINTS: reflashing alamode failed, moving on anyways, error was: Command '/usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -patmega328p -calamode -P/dev/ttyACM0 -b115200 -D -Uflash:w:/var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex:i' returned non-zero exit status 1
2019-09-26 22:14:02 RPINTS:
2019-09-26 22:14:02 RPINTS: starting WS server
2019-09-26 22:14:02 RPINTS: starting tap flow meters...
2019-09-26 22:14:02 RPINTS: resetting alamode
2019-09-26 22:14:02 RPINTS: starting command server
2019-09-26 22:14:02 RPINTS: starting fan control
2019-09-26 22:14:02 RPINTS: Fan Control fanControl1 is Running
2019-09-26 22:14:02 RPINTS: Not Configured to run Fan
2019-09-26 22:14:03 RPINTS: waiting for alamode to come alive
 
What is the problem here?
hmm looks like you successfully connected to the Arduino.

I suggest stopping the service (sudo /etc/init.d/flowmon stop)
then go to the Arduino IDE
reupload
open the serial monitor (under tools)
You should see a stream of alive messages coming in.
If not then Arduino is not actually running for some reason
if you do enter the following in the serial monitor and hit enter
C:2:2:7:0:300:200:30:50:250:0|
it should be echoed back to you and you should be able to try a pour and see a P: message
If it is not echoed back then there is an error what I told you to send and I will test with mine to make sure it is correct
 
hmm looks like you successfully connected to the Arduino.

I suggest stopping the service (sudo /etc/init.d/flowmon stop)
then go to the Arduino IDE
reupload
open the serial monitor (under tools)
You should see a stream of alive messages coming in.
If not then Arduino is not actually running for some reason
if you do enter the following in the serial monitor and hit enter
C:2:2:7:0:300:200:30:50:250:0|
it should be echoed back to you and you should be able to try a pour and see a P: message
If it is not echoed back then there is an error what I told you to send and I will test with mine to make sure it is correct


Thank you so much for your help and for your script. Now It finally work!
Now I just have to find out how I can convert fl oz to liter, and SRM to EBS.
Cant remember reading about this. Any tips?
 
Thank you so much for your help and for your script. Now It finally work!
Now I just have to find out how I can convert fl oz to liter, and SRM to EBS.
Cant remember reading about this. Any tips?
There is a unit of measure page in the admin section. You can easily change oz to liters. I didnt do anything for SRM to EBC but it seems easy enough when I get time I will try to complete
 
Crap, everytime I go to get back to this I realize i'm missing something....sigh

this time I discovered that the JG fittings they included with the swissflow meters do not fit my tubing which is (3/16" ID x 5/16" OD x 1/16 Wall). Do they make a simple barbed fitting that will screw onto those swissflow sensors so I can finally make some progress on this?
 
Crap, everytime I go to get back to this I realize i'm missing something....sigh

this time I discovered that the JG fittings they included with the swissflow meters do not fit my tubing which is (3/16" ID x 5/16" OD x 1/16 Wall). Do they make a simple barbed fitting that will screw onto those swissflow sensors so I can finally make some progress on this?


I use hese with 3/8 silicone washers. Super clean. Work great.

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/Lulng9Yk
 
Crap, everytime I go to get back to this I realize i'm missing something....sigh

this time I discovered that the JG fittings they included with the swissflow meters do not fit my tubing which is (3/16" ID x 5/16" OD x 1/16 Wall). Do they make a simple barbed fitting that will screw onto those swissflow sensors so I can finally make some progress on this?
These work without any adapters: https://www.google.com/url?sa=t&sou...FjACegQIAhAB&usg=AOvVaw3sft-tjHzlMeNGqwwYBHPu

Edit: these work, assuming you have tubing like the Bev Seal Ultra hard wall tubing.
 
Last edited:
So on day_trippr’s advice I’m reposting this from a separate tread I started.

Does anyone have a primer or "RaspberryPints for Dummies" post or document? I looked at the RaspberryPints sticky, but the 101 level stuff is old and most of the current posts are more technical in nature and not particularly helpful for an ignorant soul like me starting from scratch. The confusing part is if I wanted to use one of the branch versions vs the original: what hardware to buy (to include flowmeters), where to download software, and how install/setup everything. Any advice would be greatly appreciated
 
Last edited:
So hopefully it won’t come to a popcorn session. I’ve been to the Raspberrypints website and I’m prepared to buy the hardware recommended (or at least 2019 versions) and download the software from the site. However I gather that a couple of you have coded updated/improved “branches” that uses different hardware. Just looking for advice as the direction to go. FWIW what I want is a basic tap list fed by flowmeters. Other capabilities are a bonus but not required. If the basic RaspberryPints fills all the squares then just looking for confirmation from those who have already traveled down this path.
 
Last edited:
what I want is a basic tap list fed by flowmeters
To start I would use the command from the terminal
curl -L https://raw.githubusercontent.com/rtlindne/RaspberryPints/master/util/installRaspberryPints | sudo bash

This gives you the options of what version to install plus does all the setup needed.

My version has a lot of bells and whistles and is very different then the original, but it is also a little easier to step because you don't need to modify the Arduino logic to get it to work.

The original version (whats on the website) doesn't work on Raspbian Stretch or Buster, so you would have to use outdated Jessie. It takes some basic code changes to get it configured.

Tobor's version is the original but modified to work on Raspbian Stretch and Buster.
 
To start I would use the command from the terminal
curl -L https://raw.githubusercontent.com/rtlindne/RaspberryPints/master/util/installRaspberryPints | sudo bash

This gives you the options of what version to install plus does all the setup needed.

My version has a lot of bells and whistles and is very different then the original, but it is also a little easier to step because you don't need to modify the Arduino logic to get it to work.

The original version (whats on the website) doesn't work on Raspbian Stretch or Buster, so you would have to use outdated Jessie. It takes some basic code changes to get it configured.

Tobor's version is the original but modified to work on Raspbian Stretch and Buster.

OK much appreciated, but I think I need a step or two in the process prior to this. As in buy "this" hardware list, hook everything up, then use the command from the terminal...... The original RaspberryPints website has a tutorial that steps you through the whole process (purchase, setup, etc) but of course I don't know what info is still valid. I'm somewhat computer literate but I haven't coded anything since my Fortran days in college and have never worked with a RaspberryPi or an Arduino so stating I'm looking for someone to hold me by the hand would be an understatement. Normally I search threads and figure stuff out on my own, but this thread has 5000 posts so that's basically impossible at this point so my apologies for all the noob questions.
 
As in buy "this" hardware list
you will need a raspberry Pi, a power adapter for it and a sd card (https://www.amazon.com/LoveRPi-Rasp...eywords=raspberry+pi+3&qid=1570555316&sr=8-13)
you will need to either buy an SD card with Raspbian on it or use a different computer to download it and install to the SD card (instruction on https://www.raspberrypi.org/downloads/raspbian/)

You will need an Arduino, the original used the Alamode, which is what I went with only to find that it is a little outdated. (https://www.amazon.com/Seeedstudio-...ds=alamode+sheild&qid=1570555452&sr=8-2-fkmr0)
or you could use the Uno (cheaper and more up to date)
(https://www.amazon.com/RoboGets-Com...9Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=)

Then you need to pick your flow meters, most use the Swissflow meters from the original, but I used slightly cheaper one from amazon (https://www.amazon.com/gp/product/B01D44N41U/ref=ppx_yo_dt_b_asin_title_o06_s01?ie=UTF8&psc=1) mine use a john guest fitting to convert to tubing (https://www.amazon.com/gp/product/B005XU0SK4/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)

You will also need some small wire to run from the meters to the alamode I think I used 22 gauge.

You should be able to follow most of the instruction on the original website for assembly.
 
you will need a raspberry Pi, a power adapter for it and a sd card (https://www.amazon.com/LoveRPi-Rasp...eywords=raspberry+pi+3&qid=1570555316&sr=8-13)
you will need to either buy an SD card with Raspbian on it or use a different computer to download it and install to the SD card (instruction on https://www.raspberrypi.org/downloads/raspbian/)

You will need an Arduino, the original used the Alamode, which is what I went with only to find that it is a little outdated. (https://www.amazon.com/Seeedstudio-...ds=alamode+sheild&qid=1570555452&sr=8-2-fkmr0)
or you could use the Uno (cheaper and more up to date)
(https://www.amazon.com/RoboGets-Compatible-ATmega328P-Microcontroller-Electronics/dp/B01N4LP86I/ref=sr_1_1_sspa?crid=3QZOTUAMNXWYA&keywords=arduino+uno&qid=1570555511&sprefix=ardui,aps,186&sr=8-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzTlY1NjlPN0xOWUE5JmVuY3J5cHRlZElkPUEwMDMwNTk5MVY1VkhRVDdKWlVQRCZlbmNyeXB0ZWRBZElkPUEwMDQ2NzE1M0xUTDZCNE1TWjNQQSZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=)

Then you need to pick your flow meters, most use the Swissflow meters from the original, but I used slightly cheaper one from amazon (https://www.amazon.com/gp/product/B01D44N41U/ref=ppx_yo_dt_b_asin_title_o06_s01?ie=UTF8&psc=1) mine use a john guest fitting to convert to tubing (https://www.amazon.com/gp/product/B005XU0SK4/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1)

You will also need some small wire to run from the meters to the alamode I think I used 22 gauge.

You should be able to follow most of the instruction on the original website for assembly.


Perfect! Thanks much!!! I think I can take it from here.
 
Hello
This is my first post and this looks like a great and helpful thread.
I have installed RandR+ version and it is running well. I have it installed on stretch, will it work on buster?
My flowmeters should be here in a couple of days. I have a spare ardunio.
Is there any information on how to set them up by Bluetooth, as I have my pi behind the screen on the wall and my keggerator is under the bar.
Cheers
 
I have it installed on stretch, will it work on buster?
it should work on Buster, I have yet to get a Buster VM updated to verify, but the only things others have mentioned are the settings to get the monitor to display correctly after restart

Is there any information on how to set them up by Bluetooth
I have not done anything with Bluetooth my self but if you have an Arduino that supports Bluetooth and get it connected to the pi you can try to change python/Config.py and add config['flowmon.port'] = '/dev/rfcomm0' to the end of the file
 
it should work on Buster, I have yet to get a Buster VM updated to verify, but the only things others have mentioned are the settings to get the monitor to display correctly after restart


I have not done anything with Bluetooth my self but if you have an Arduino that supports Bluetooth and get it connected to the pi you can try to change python/Config.py and add config['flowmon.port'] = '/dev/rfcomm0' to the end of the file


Thanks will give this a try when they arrive.
 
Back
Top