[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.
The upload of the code to the shield is something I picked up from a different fork of RP. Maybe it doesn't have to happen but Ive noticed that if I remove power from my alamode without uploading after power on then the Alamode doesn't work. Maybe it was a one off or I have wiring mistake.

If the alamode code or python code is restarted or the configuration is change (i.e. count per pour) then the new configuration is sent to the shield without uploading the sketch to it.

As for recompiling every start; it doesn't, it takes the latest binary and uploads to run then request configuration to get the pins/delay/ticks/kickcount/etc. if there is no latest compiled sketch then nothing is uploaded and it assume the shield will keep it programming (hence removing the *.cpp.hex file removes the upload)

If you modify the python to upload the .ino file directly then yes every time it would to recompile.
 
I've tried for hours and hours and I keep getting this message
E: Package 'php5' has no installation candidate
E: Package 'php5-mysql' has no installation candidate.
Is there something I'm missing. Any help would be much appreciated
I have the Raspberry pi3 is this the problem.
If you care to edit the script, change anything that says php5 to php.
 
Can i calibrate my flow meters with just uncarbonated water in my corny keg or does it have to be an actual carbonated beer to get a more precise reading? and if i ever change the length of my hose will it have to be calibrated?
I did some testing with just room temp water and found that the flow meter gave a different result when I actually used it in the cooler. It might just be a issue with my particular flowmeters.

this is the one I am using.
https://www.amazon.com/gp/product/B07JWD4C46/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
 
I did some testing with just room temp water and found that the flow meter gave a different result when I actually used it in the cooler. It might just be a issue with my particular flowmeters.

this is the one I am using.
https://www.amazon.com/gp/product/B07JWD4C46/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
Ok, i'll at least calibrate it with cold water at first to get it close enough then re-calibrate when i connect my beer up. I'm installing the new taps soon so they'll need a proper clean before i can use them anyway.
 
Did anyone ever figure out how to upload the sketch to an alamode board connected to rpi2? I saw multiple people in this thread had the same problem:

pi@raspberrypi:~ $ /usr/share/arduino/hardware/tools/avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega328p -calamode -P/dev/ttyS0 -b115200 -D -Uflash:w:/tmp/build6810830170068098824.tmp/Blink.cpp.hex:i

avrdude: Version 5.11svn-20111019, compiled on Feb 15 2015 at 18:22:47
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is "/usr/share/arduino/hardware/tools/avrdude.conf"
User configuration file is "/home/pi/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/ttyS0
Using Programmer : alamode
Overriding Baud Rate : 115200
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

avrdude done. Thank you.

Looks like a couple people ditched the alamode board completely, a couple more disabled the flowmon service (I never got to the point of starting it). I've tried disabling all python services but it says none are running. I've tried turning Serial Port on and using enable_uart=0, as well as turning Serial Port off and using enable_uart=1 (no other combination gives me an option in the Arduino IDE for ttyS0). I've tried running the upload from the command line instead of using the IDE, same error.

I'm continuing to google around this but nothing seems to work. If anyone has any ideas please let me know.



I've tried for hours and hours and I keep getting this message
E: Package 'php5' has no installation candidate
E: Package 'php5-mysql' has no installation candidate.
Is there something I'm missing. Any help would be much appreciated
I have the Raspberry pi3 is this the problem.

If you're using jessie check my last post. I had to change some setting in order to get php5 available.
 
Finally solved this one too. I wonder if the people who ditched the alamode had the same issue...

I don't know the terms, but the black connector things I soldered to the alamode which the flow meters plug into, when the alamode was pushed all the way down on the rpi I guess some of the pins on the bottom were touching the USB housing on the rpi. I think this was causing a short. I pulled the alamode board off then pushed it back on only about 3/4 of the way. I was able to upload a sketch after that.
 
I did some testing with just room temp water and found that the flow meter gave a different result when I actually used it in the cooler. It might just be a issue with my particular flowmeters.

this is the one I am using.
https://www.amazon.com/gp/product/B07JWD4C46/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1


Looks similar to the generic version I am using and I found my calibration with normal temp cold tap water is not the same as when I'm using beer - my pours on a 16 ounce register as 12.

Out of curiosity, what is your tick count at?
 
Looks similar to the generic version I am using and I found my calibration with normal temp cold tap water is not the same as when I'm using beer - my pours on a 16 ounce register as 12.

Out of curiosity, what is your tick count at?
room temp tap water I was getting 8000 pulses/gal, that was pretty far off for cold carbonated beer. I dropped it to 7400 pulses/gal and I am getting normally within about a pint of the bottom when the keg kicks(says I have ~1 pint left). I think I could drop the value a tad lower still, but it close enough for me at the moment.
 
I have Finally got Rpints installed and running, Thanks to RandR+ and your simple script.

When I was asked what resolution I was after, I selected 1980x1080. Is there any way I can change this once the software is installed?

Can I make it so that I can mark when a Pint is poured? I know that I can do a sample 1oz, but want a normal glass to be registered when poured (Manual Entry)

Thanks in advance
 
Last edited:
When I was asked what resolution I was after, I selected 1980x1080. Is there any way I can change this once the software is installed?

Can I make it so that I can mark when a Pint is poured? I know that I can do a sample 1oz, but want a normal glass to be registered when poured (Manual Entry)

To change the Resolution you need to modify /boot/config.txt see http://raspberrypints.com/byo/step-3-operating-system-configuration/ for the configuration values needed based on screen/resolution

To change the sample to pour a 16oz beer you will need to change line 297 of admin/includes/managers/pour_manager.php from
$amount = 1/128;
to
$amount = 16/128;

You could also change 16 to the number of oz you want poured manually
 
To change the Resolution you need to modify /boot/config.txt see http://raspberrypints.com/byo/step-3-operating-system-configuration/ for the configuration values needed based on screen/resolution

To change the sample to pour a 16oz beer you will need to change line 297 of admin/includes/managers/pour_manager.php from
$amount = 1/128;
to
$amount = 16/128;

You could also change 16 to the number of oz you want poured manually
Awesome, I'll look at doing these changes this afternoon. Thanks heaps
 
To change the Resolution you need to modify /boot/config.txt see http://raspberrypints.com/byo/step-3-operating-system-configuration/ for the configuration values needed based on screen/resolution
This is not a good way to set the resolution in my opinion. It's too easy to typo in that file and end up with a system that will not boot. The safer way is to execute sudo raspi-config, go to 'Advanced Options', then 'Resolution' and select your desired resolution.

Unfortunately, to rotate the display it's still up to editing the file manually/adding a line (unless the RPints install does it for you.)
 
This is not a good way to set the resolution in my opinion. It's too easy to typo in that file and end up with a system that will not boot. The safer way is to execute sudo raspi-config, go to 'Advanced Options', then 'Resolution' and select your desired resolution.

Unfortunately, to rotate the display it's still up to editing the file manually/adding a line (unless the RPints install does it for you.)

Very good point, the original instructions probably need to be updated to avoid direct editing config files and I need to make script able to reconfigure without wiping the existing RPints install.

My script does prompt for rotation if you select a monitor option.
 
Anyone else running into issues with the xml upload saying file size is too large?
 
Last edited:
How large is the file you are trying to upload? Could you PM me the file so I can try locally?
 
OK, my good folks..

Please steer me in the right direction WRT the flowmeter installation
The details...
I followed this post :https://www.homebrewtalk.com/forum/...taplist-solution.487694/page-111#post-8547392

  1. used balenaEtcher and latest Raspbian Stretch with Desktop and recommended software written to a 64gb microSD on Win10 PC
  2. updated all programs on first boot of Raspbery Pi
  3. used @RandR+ fantastic install script, just cut and paste from lines 14, 18, & 20 and say "yes" when asked about configuring initial database:
  4. found MAC address of RPi in Terminal: ifconfig eth0
  5. updated home router for a static IP address
  6. Terminal: sudo /etc/init.d/flowmon stop
  7. Terminal to kill hex file: sudo mv /var/www/html/arduino/raspberrypints/raspberrypints.cpp.hex/var/www/html/arduino/raspberrypints/raspberrypints.cpp.hex.save
  8. Terminal: sudo nano /var/www/html/python/Config.py (open the window to full page) the last line should be: config['flowmon.port'] = '/dev/ttyAMC0' (mine was set at /dev/ttySO) if this is not the last line, go up and remove the ## from the beginning of it
  9. Arduino IDE: Tools Tab: Board: Arduino UNO, Serial Port: /dev/ttyACM0.
  10. Arduino IDE: Sketch Tab: Add File: Choose file system on left panel: var/www/html/arduino/raspberrypints/raspberrypints.ino "Open"
  11. Arduino IDE: find "establishContact" and change the timing from (100) to (500)
  12. Terminal: sudo /etc/init.d/flowmon start
  13. Chromium: log into rPints using the static IP address established earlier, click on the "Your Logo Here" to get to the configurations page

However I had to deviate, because I used a mega instead of an uno, my usb was = '/dev/ttyAMC0'

I am able to upload the sketch to the arduino, without any errors, and able to restart services. I am able to see the alive messages in the serial monitor of the arduino ide. So I know I have the right port.

In Rpints, I selected 3 taps, and am using pin 7 as the input pin. I am using sf800 with the 5V connected to the mega 5v pin, and gnd to mega gnd pin. I am not getting any readings however. I have rebooted the pi, and that seems to not help.

thanks for any insight

Bryan
 
I would start a IM dialog with Rand as there is not a lot of people using his version.

If you look back a page or two there are some debugs you can enable to get more information. Search for Rands messages in this thread to narrow things down.
 
If Bryan is having to thrash through the Randr+ branch it would be best that the issues are solved in a visible manner as at this point this branch is the most viable going forward...

Cheers!
 
Terminal: sudo nano /var/www/html/python/Config.py (open the window to full page) the last line should be: config['flowmon.port'] = '/dev/ttyAMC0' (mine was set at /dev/ttySO) if this is not the last line, go up and remove the ## from the beginning of it

My latest script prompts for the connection method, so you should no longer need to edit Config.py.

Can you check /var/log/rpints.log for errors, or send me the file so I can check
 
My latest script prompts for the connection method, so you should no longer need to edit Config.py.

Can you check /var/log/rpints.log for errors, or send me the file so I can check


Yup, and I selected usb on that.

I will send you a pm, I have teamviewer running on it, and I have the unit right by me so I can be your hands if you need.

Thanks!

Bryan

edit:

log
2019-04-24 08:34:29 RPINTS: Could not import RFID Reader, RFID disabled. Assuming SPI not installed/configured
2019-04-24 08:34:31 RPINTS: starting WS server
2019-04-24 08:34:31 RPINTS: starting tap flow meters...
2019-04-24 08:34:31 RPINTS: starting command server
2019-04-24 08:34:31 RPINTS: starting fan control
2019-04-24 08:34:31 RPINTS: Fan Control fanControl1 is Running
2019-04-24 08:34:31 RPINTS: Not Configured to run Fan
2019-04-24 08:34:35 RPINTS: 1Wire Temperature Thread 1 is Running
2019-04-24 08:35:18 RPINTS: got WS connection from ('::1', 36604, 0, 0)
 
Last edited:
For everyone else, I was able to get on @Die_Beerery 's pi and look around. I enabled more logging and reuploaded the sketch, but the error did not reoccur, instead the shield and the python starting talking normally. BUT the flow meters did not register a pour when blown into. I added some trace to the sketch to see if any pulses were getting into it, but it looked like they were not. Die_Beerery is going to check the wires. I forced pulses in the sketch and pours were registering like they should on the UI.

This did help me found that if you decrease the number of taps the python still uses all taps when configuring the shield (i.e. reducing from 10 taps to 3, all 10 will be sent to the shield) I committed a fix to GitHub for this.

Also, the Beer XML upload file size is fixed in my branch. It not only allows larger size files, it also is improved to create missing data (i.e. ingredients, beerstyle) and associating it with the beer
 
Still working though some glitches for my setup.

Firstly when using the mega instead of the uno, the ports do not map 1:1. For instance uno port 7 is mega port 38. The reason I used mega is because I have a bunch for my brewing stuff. However, I just picked up an uno, and it works out of the box as it should.

1wire- I could not for the life of me get 1wire to work despite knowing it was 100% wired correctly. I realized it was set to off in raspi-config.. so folks don't forget to tick that box. Then it came right up.

Kiosk mode- still fighting this one. Had @RandR+ take a quick look and he said all was present, but for the life of me I can't get this thing to auto bring up Chromium with the tap list. Auto login is enabled. This is my last quirk.
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
point-rpi
@xset s off
@xset -dpms
@xset s noblank
@chromium --kiosk http://localhost/


Maybe there has been an OS update that has broken this?


Thanks
 
Last edited:
I installed the latest version of Raspbian Desktop on a VM and tested my script. It ran through without errors and it is starting chromium in kiosk mode.

But without a test Pi I don't know if version for Pi is different and causing issues.
 
@RandR+ you can script turning on OneWire if you are in there messing around anyway:
Code:
    sed /boot/config.txt -i -e "s/^#dtoverlay=w1-gpio/dtoverlay=w1-gpio/"
    if ! grep -q -E "^dtoverlay=w1-gpio" /boot/config.txt; then
      printf "dtoverlay=w1-gpio\n" >>/boot/config.txt
    fi
To my way of thinking, the more you can do for folks in the script, the less you will hear about problems. Of course, some people take that as a personal challenge. :)
 
Added the 1wire config to the script. I just missed it in my research to add temp probe support
 
Hi @RandR+ ,

I'm not sure I understand the temperature probe setup for a single probe. Does your script do the whole setup and then the probe is just "plug and play" into the proper GPIO pins on the Pi? Or do I still need to follow the original thread from Day_Tripper that installs all of the scripts and such? I'm also assuming if I have to follow the original thread that things such as /var/www need to be /var/www/html?

To give you a good idea of where I am at, I have ran your script and successfully connected up the motion detector, and 4 hadronix flow meters all that seem to function with air blown into them. This is all done outside of my keezer for testing purposes. So far this has been super slick and easy to do! The only thing that does not seem to be working is the temperature probe.

Thank you in advance!
 
Does your script do the whole setup and then the probe is just "plug and play" into the proper GPIO pins on the Pi?

My script now just enables 1wire support on the pi, once 1wire is enabled you will have to wire the probes correctly (this is the only part of day_trippr's original post you should have to follow). They all get wired into a single pin (GPIO4 - header pin 7)

1wire takes care of reading from them and placing the temperatures into a file where the python part of RaspberryPints reads the temps and stores them into the database.
 
I am new to programming and raspberry PI. I am trying to get it installed correctly, however I keep running into issues. What is the easiest way to get this up and running? I am looking at RandR+ script, but I am not sure exactly how to make it work. Any assistance would be much appreciated.
 
Thanks RandR+, I really appreciate it. Is there a way on the RPI to run TiltPi and Raspberry Pints simultaneously?
 
The Raspberry Pi is a computer, not a microcontroller, so it can run numerous applications simultaneously.

RaspberryPints doesn't really make an RPi work hard - updating the display is the most taxing part of the whole and as long as you're not running on a B or Zero even that happens in a blink. Meanwhile listening for BT beacon messages then sending corresponding packets over your network is uber lightweight work, so TiltPi with RaspberryPints isn't going to tax an RPi...

Cheers!
 
While the computing power in the Pi may be sufficient, I believe you'll have a problem with the operating systems of trying to get RaspberryPints and TiltPi working on the same Pi. I can't remember what the technical name is when you modify the OS to work as a single purpose program, but I believe that TiltPi is set up to load right from their custom SD card image. It doesn't run on a standard Rasbian release.

I have two other projects like this. One is controller for my bbq smoker and one is a unit that tracks the international space station. On both, you burn custom SD card images, stick them into the Pi, and they run the specific tasks.
 
Hi @RandR+!

Many thanks again for providing the install script for this to work. You'll have to forgive me if I misstate anything semi-technical. From my previous message and doing some tooling around I believe that the original temperature probe I bought isn't in the database for onewire (and was suggested so by some Amazon reviewers) or it was DOA. As such I ordered some new ones and they immediately worked and were recognized. Another interesting item here is that I have them all connected up and recognized but RasperryPints seems to only list one. This isn't a huge deal because one is plenty one but having multiple for different areas would be interesting.

In the pi command I ran and saw the following:
pi@raspberrypi:~ $ sudo modprobe w1-gpio
pi@raspberrypi:~ $ sudo modprobe w1-therm
pi@raspberrypi:~ $ cd /sys/bus/w1/devices/
pi@raspberrypi:/sys/bus/w1/devices $ ls
28-0114388615aa 28-011438d0e4aa 28-011438f2c5aa w1_bus_master1

I believe the 3 "28-..." items are the 3 probes I currently have hooked up recognized by Pi/onewire. However, in Raspberry Pints temperature probes I only get 1 box listed for name, adjustment and notes. Also, I cannot put anything in name and it is blank. I am wondering if I missed a setting to designate how many probes are hooked up? In any case I wasn't sure where to go from there. Thoughts?

Thank you in advance!
BDBeers
 

Latest posts

Back
Top