• 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.
Did you setup the flow monitor service? the temp probes are run from that service so without it you wouldn't get temp probes nor rpints.log

I have not. I don’t have any flow meters yet but will try to set up empty. Thanks!
 
That's still a work in progress, eventually there will be a login button that you will log into untapped and that will fill in your token

Awesome. I created a page for our "Home Brewery" and requested the access tokens for the API. But I doubt I will get it.
 
@RandR+ My flow meters finally came in and I hooked them up. I'm using an arduino Uno via USB and I can't seem to get it to work reliably. It's only worked a few times and doesn't seem consistent. I'll post the latest contents of rpints.log below. The last section just repeats over and over again.

Also some of the issues I was having before regarding not being able to cleanly exit chromium to the desktop using alt-F4 and it not opening in chromium, but rather just the desktop. You had guessed that might be due to using Buster, but I redid the install using a Raspbian Stretch image and I am still having the same difficulties. Is there a specific image or soemthing that you are using that is giving you different results? I think I'm gonna give the Tobor version a try and see if I maybe have more luck with that just to get things running. Otherwise I do love the improvements you are trying/have implemented, but I definitely want the flow meters to work.


2019-09-20 11:49:26 RPINTS: No such device - Sleeping to try again
2019-09-20 11:49:31 RPINTS: valve update: RPU:VALVE:0=0
2019-09-20 11:49:31 RPINTS: Could not import RFID Reader, RFID disabled. Assuming SPI not installed/configured
2019-09-20 11:49:33 RPINTS: starting setup...
2019-09-20 11:49:33 RPINTS: resetting alamode to try to force it to listen to us...
2019-09-20 11:49:34 RPINTS: giving it a short break to wake up again...
2019-09-20 11:49:36 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
2019-09-20 11:49:41 RPINTS:
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f
avrdude: reading input file "/var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex"
avrdude: writing flash (11352 bytes):
Writing | ################################################## | 100% 2.19s
avrdude: 11352 bytes of flash written
avrdude: verifying flash memory against /var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex:
avrdude: load data flash data from input file /var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex:
avrdude: input file /var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex contains 11352 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 1.59s
avrdude: verifying ...
avrdude: 11352 bytes of flash verified
avrdude done. Thank you.
2019-09-20 11:49:41 RPINTS: starting WS server
2019-09-20 11:49:41 RPINTS: starting tap flow meters...
2019-09-20 11:49:41 RPINTS: resetting alamode
2019-09-20 11:49:41 RPINTS: starting command server
2019-09-20 11:49:41 RPINTS: starting fan control
2019-09-20 11:49:41 RPINTS: Fan Control fanControl1 is Running
2019-09-20 11:49:41 RPINTS: Not Configured to run Fan
2019-09-20 11:49:42 RPINTS: waiting for alamode to come alive
2019-09-20 11:49:42 RPINTS: alamode alive...
2019-09-20 11:49:42 RPINTS: getting config data for alamode
2019-09-20 11:49:42 RPINTS: alamode config, about to send: C:1:8:0:300:200:30:250:0:0|
2019-09-20 11:49:42 RPINTS: Waiting for Config Response
2019-09-20 11:49:44 RPINTS: alamode says:
2019-09-20 11:49:44 RPINTS: listening to alamode
2019-09-20 11:49:44 RPINTS: alive
2019-09-20 11:49:44 RPINTS: alamode was restarted, restart flowmonitor
2019-09-20 11:49:44 RPINTS: closing serial connection to alamode...
2019-09-20 11:49:45 RPINTS: flowmonitor aborted, restarting...
2019-09-20 11:49:45 RPINTS: resetting alamode
2019-09-20 11:49:46 RPINTS: waiting for alamode to come alive
2019-09-20 11:49:46 RPINTS: alamode alive...
2019-09-20 11:49:46 RPINTS: getting config data for alamode
2019-09-20 11:49:46 RPINTS: alamode config, about to send: C:1:8:0:300:200:30:250:0:0|
2019-09-20 11:49:46 RPINTS: Waiting for Config Response
2019-09-20 11:49:48 RPINTS: alamode says:
2019-09-20 11:49:48 RPINTS: listening to alamode
2019-09-20 11:49:48 RPINTS: alive
2019-09-20 11:49:48 RPINTS: alamode was restarted, restart flowmonitor
2019-09-20 11:49:48 RPINTS: closing serial connection to alamode...
2019-09-20 11:49:49 RPINTS: flowmonitor aborted, restarting...
2019-09-20 11:49:49 RPINTS: resetting alamode
2019-09-20 11:49:50 RPINTS: waiting for alamode to come alive
2019-09-20 11:49:50 RPINTS: alamode alive...
2019-09-20 11:49:50 RPINTS: getting config data for alamode
2019-09-20 11:49:50 RPINTS: alamode config, about to send: C:1:8:0:300:200:30:250:0:0|
 
Is there a specific image or soemthing that you are using that is giving you different results?
I run the latest Stretch on a VM and an older stretch on my pi and don't have an issue, but I run my pi headless and use a wireless tablet to display the tap screen and remote to the pi for changes.

As for the USB UNO, I use the Alamode board and dont have an issue connecting, but I know others have had similar issues. I think part of it is the Uno is faster than the alamode creating a constant stream of messages coming into the pi that makes the code think the Arduino restarted when it didn't.

Others have had luck replacing delay(100) with delay(5000) in the ino file, (its a change I plan on committing when I get a chance)
removing ardunio/raspberrypints/raspberrypints.cpp.hex
stop the python (sudo /etc/init.d/flowmon stop)
then manually upload the change to the Arduino. From the ide hit the upload button
(NOTE: if you don't remove raspberrypints.cpp.hex then the python will upload that overwriting your changes when it start)
start the python (sudo /etc/init.d/flowmon start)

Then check the logs to see if it stops repeating.
 
A kick-fest is in the offing this weekend.

Been driving the current rack of kegs to their ends as my keezer has developed some rust spots on the floor and needs some attention units (dry out, sand the rust off, hit the spots with a reformer/primer, then a few coats of appliance epoxy paint). Gotta empty the works (except for the stout - that's a must-have-on-tap and will ride in one of my fridges with a picnic tap).

I shall see how the flow meter accuracy is these days - now a full five years in use.

taplist_20sep2019.jpg


I have another full rack of kegs waiting their turn so I just have to get through a few days :)

Cheers!
 
RandR+ I have your branch installed and just tried the arduino wired to a test Swiss Flow meter and I could not see any registered pour volumes. What is the best way to troubleshoot this? Are the Swiss Flow wires really red=ground, center is data, and the last wire is power?
 
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
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
@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
  • IMG_1686.jpg
    IMG_1686.jpg
    636.4 KB
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
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.
 
Back
Top