[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.
Actually, you may be able to change the Arduino configuration by editing /var/www/html/rpints/python/Config.py and change the value of
config['flowmon.port'] =

from '/dev/ttyS0'
to '/dev/ttyACM0'

as implied by a familiar looking list found near the top of the file :)

That would preclude the need to rerun the whole installation, I believe.

Once you get the Arduino loaded you will noticed the "blink" LED will pulse at roughly 1 hz...

Cheers!
it is already set as you mention above.
 
charitable to let me get post 8000

I stopped sniping milestones years ago 😁

i think there is an issue loading the instructions to the arduino

I agree, the question is why.

-patmega328p -calamode -P/dev/ttyACM0 -b115200

I guess "-calamode" doesn't mean what I thought it meant given the -P(port) is pointing to a USB device and not a serial one.
I think we may need to try to summon the author known as @RandR+ to weigh in on your conundrums...

Cheers!
 
I think the orange flashing light on the arduino is from a loaded sketch called blink.
I also came across an arduino program in the menu list. I've updated the firmware to 1.8.6.
This has made no difference.
I've also confirmed no change with a new USB lead and that the 9V psu is working correctly.
 
You are correct that many UNOs ship with the "Blink" sketch installed, but I'm looking at my desktop RPi3+ running @RandR+'s R'Pints and the "Blink LED" is blinking at 1 hz...

Cheers!
 
I also came across an arduino program in the menu list. I've updated the firmware to 1.8.6.

What do you see on the UNO if you restart the Flowmonitor service?
You should see the UNO rx and tx leds flash a few times, then the Blink LED should start its 1 hz blink...

Cheers!
 
When I restart flowmonitor service.

I see no change at all on the UNO, green light stays on, orange light flashes at same rate throughout and no rx tx led flash.

Log is exactly as copied in previous post except different time stamp.
I've tried rebooting from off with and without power supply to the UNO and there is no difference in the log messages or behaviour.
 
Ok, then there's definitely a lack of proper dialog between your UNO, your RPi, and R'Pints.
If I was confronted with this I'd install the Arduino IDE on the RPi, connect the UNO to it, and see if it communicates properly...

Cheers!
 
THe arduino ide is on the pi, that's how I managed to update the firmware.

What should I do in the IDE to see if the communication is open?
 
For a start, make sure you have the full error notifications enabled in the Arduino IDE, then pick a sketch that will do something you will be able to verify and load it. Observe the log pane to make sure the sketch is actually loaded correctly and see if all goes well. That at least will ensure the UNO is working...

Cheers!
 
btw, I suppose I should ask, how are you actually installing the RaspberryPints kit?
I've only ever had to do this:

curl -L install.rpints.com | sudo bash

Cheers!
 
ive turned on verbose logging and tried to upload blink sketch.
has an error and this is the output.



Arduino: 1.8.13 (Linux), Board: "Arduino Uno"

arduino-builder -dump-prefs -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/dunc/.arduino15/packages -tools /usr/share/arduino/hardware/tools/avr -tools /home/dunc/.arduino15/packages -libraries /home/dunc/Arduino/libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10813 -build-path /tmp/arduino_build_147635 -warnings=none -build-cache /tmp/arduino_cache_865705 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/dunc/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/dunc/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avr-gcc.path=/home/dunc/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/dunc/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avrdude.path=/home/dunc/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/dunc/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -verbose /usr/share/arduino/examples/01.Basics/Blink/Blink.ino
arduino-builder -compile -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/dunc/.arduino15/packages -tools /usr/share/arduino/hardware/tools/avr -tools /home/dunc/.arduino15/packages -libraries /home/dunc/Arduino/libraries -fqbn=arduino:avr:uno -vid-pid=2341_0043 -ide-version=10813 -build-path /tmp/arduino_build_147635 -warnings=none -build-cache /tmp/arduino_cache_865705 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/dunc/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/dunc/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avr-gcc.path=/home/dunc/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/dunc/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avrdude.path=/home/dunc/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/dunc/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -verbose /usr/share/arduino/examples/01.Basics/Blink/Blink.ino
Using board 'uno' from platform in folder: /home/dunc/.arduino15/packages/arduino/hardware/avr/1.8.6
Using core 'arduino' from platform in folder: /home/dunc/.arduino15/packages/arduino/hardware/avr/1.8.6
Warning: platform.txt from core 'Arduino AVR Boards' contains deprecated compiler.path={runtime.tools.avr-gcc.path}/bin/, automatically converted to compiler.path=/usr/bin/. Consider upgrading this core.
Detecting libraries used...
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-I/home/dunc/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/dunc/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/standard" "/tmp/arduino_build_147635/sketch/Blink.ino.cpp" -o "/dev/null"
Generating function prototypes...
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-I/home/dunc/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/dunc/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/standard" "/tmp/arduino_build_147635/sketch/Blink.ino.cpp" -o "/tmp/arduino_build_147635/preproc/ctags_target_for_gcc_minus_e.cpp"
"/usr/bin/arduino-ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/tmp/arduino_build_147635/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-I/home/dunc/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/dunc/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/standard" "/tmp/arduino_build_147635/sketch/Blink.ino.cpp" -o "/tmp/arduino_build_147635/sketch/Blink.ino.cpp.o"
Compiling libraries...
Compiling core...
Using precompiled core
Linking everything together...
"/usr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "/tmp/arduino_build_147635/Blink.ino.elf" "/tmp/arduino_build_147635/sketch/Blink.ino.cpp.o" "/tmp/arduino_build_147635/../arduino_cache_865705/core/core_arduino_avr_uno_6ef57cadf44e65836b9d53ecd199b0d5.a" "-L/tmp/arduino_build_147635" -lm
"/usr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "/tmp/arduino_build_147635/Blink.ino.elf" "/tmp/arduino_build_147635/Blink.ino.eep"
"/usr/bin/avr-objcopy" -O ihex -R .eeprom "/tmp/arduino_build_147635/Blink.ino.elf" "/tmp/arduino_build_147635/Blink.ino.hex"
Sketch uses 930 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
An error occurred while uploading the sketch
/home/dunc/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/home/dunc/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/arduino_build_147635/Blink.ino.hex:i

avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, BDMICRO ARM and AVR Microcontrollers, Relays, Optocouplers, and IoT
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "/home/dunc/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
User configuration file is "/home/dunc/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/ttyACM0
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : Arduino
Description : Arduino
 
It was fresh desktop install of raspberry pi os, then updated and then using the line of code as you said above.
done that method both installs.
 
I'm not sure if the warning matters but the upload issue similar but more verbose than the raspberry pints error

I'll try another USB lead whilst i scratch my head


Warning: platform.txt from core 'Arduino AVR Boards' contains deprecated compiler.path={runtime.tools.avr-gcc.path}/bin/, automatically converted to compiler.path=/usr/bin/. Consider upgrading this core.

An error occurred while uploading the sketch
/home/dunc/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/home/dunc/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/arduino_build_147635/Blink.ino.hex:i
 
Okay now tried fresh raspberry pi os and fresh raspberry pints on a raspberry pi 3b+.

No joy same errors.
Further wipe of SD card and install of raspberry pi os 32 bit desktop and updates then install rpints as before.
This time seemed a bit different and then after flowmeter part saw Arduino lights flashing differently.
Then I assigned the pin to tap 1 beer and a test blow registered.

So it seems bullseye 64 bit not compatible with Arduino and rpints.

Now for some more wiring and plumbing. I'm not sure if the 4 will be able to run pints on one monitor and Kodi on another. But we'll find out.
 
Ah - had not even considered you were trying to use the 64 bit OS.
I have not yet dipped a toe in that particular puddle yet and have no idea what horrors lie therein ;)

Cheers!
 
Hey all, question for the team. This post is nearly a a decade old and 8,000+ posts long.

Is there a more recent post that summarizes the best practices for setting up the most recent iteration? Absent that, can anyone point me to an approx. post number where I should start reading.

I love beer, and this idea, but I don't think I can commit the time to reading 200 pages of info...
 
Hey all, question for the team. This post is nearly a a decade old and 8,000+ posts long.

Is there a more recent post that summarizes the best practices for setting up the most recent iteration? Absent that, can anyone point me to an approx. post number where I should start reading.

I love beer, and this idea, but I don't think I can commit the time to reading 200 pages of info...
Not quite able to provide a new summary as not quite finished. As you see from above a few issues hobbled me.
 
Well on my install that is running on Pi4 with a single flowmeter waiting to be tested I have this issue.
My install I chose NOT to install the test data as I thought it would be easier to start from nothing and incrementally add everything.

However I can't seem to add a beer to the tap list at all.

I've added a keg, made sure it's in secondary as mentioned on earlier pages.
I've defined a beer as well and it's in the keg .

But I can't get anything other than Whats on tap, last pour and your brewery logo on the taps page.

Does anyone have any clues please. I've been through all the drop down options but can't seem to get a tap or get a beer tapped.

Apologies
 
This is perplexing,
I reinstalled rpints and installed the dataset.

Deleted all that I didn't need and assigned the flowmeter to a tap and beer. Pours were registering with gentle blows.
Then added in the beers, kegs and tap assignment for the rest of the kegerator.
Then calibrated the flowmeter on pin 2 tap 1 and got a reading of 3965 per litre.

All going well.
Then put the flowmeter on a beer and changed it from tap 1 to tap 4 saving as I went.

Then no pours registered. Restarted the flowmeter service several times, rebooted, took flowmeter off the keg and no joy.

Solid Orange light on the arduino and green light on. No other orange light which had been happily flashing away.

Reinstall of raspberry pints and back to the error of arduino not found.

This would explain why the flowmeter not registering pours I suppose.

Anyone any ideas?
 
latest log error is similar to earlier but

PINTS: reflashing Arduino 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 255.
2023-10-07 19:30:39 RPINTS: starting WS server
2023-10-07 19:30:39 RPINTS: starting device monitors...
2023-10-07 19:30:39 RPINTS: starting command server
2023-10-07 19:30:39 RPINTS: starting fan control
2023-10-07 19:30:39 RPINTS: Fan Control fanControl1 is Running
2023-10-07 19:30:39 RPINTS: Not Configured to run Fan
2023-10-07 19:30:40 RPINTS: serial connection stopped...
Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
self.run()
File "/usr/lib/python3.9/threading.py", line 892, in run
self._target(*self._args, **self._kwargs)
File "/var/www/html/python/PintDispatch.py", line 598, in spawn_flowmonitor
self.flowmonitor.exitFlowMonitor()
File "/var/www/html/python/FlowMonitor.py", line 352, in exitFlowMonitor
self.arduino.close()
AttributeError: 'FlowMonitor' object has no attribute 'arduino'
 
Where would the backup be stored? made one before last install and now can't find it. Thought that phpadmin would be a bit more revealing.
Full turn off of power to the arduino seems to have allowed it to accept uploads of firmware again after a poweroff of everything and a reboot.
 
well got back to it fresh install and added the test data.

different flashing as expected but no pours are being registered.

Seems to be basically the same issue loading to the arduino as with 64 bit os.

023-10-11 20:58:13 RPINTS: No such device - Sleeping to try again
2023-10-11 20:58:18 RPINTS: Could not import RFID Reader, RFID disabled. Assuming SPI not installed/configured
RPINTS: reflashing Arduino 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 255.
2023-10-11 20:58:24 RPINTS: starting WS server
2023-10-11 20:58:24 RPINTS: starting device monitors...
2023-10-11 20:58:24 RPINTS: starting command server
2023-10-11 20:58:24 RPINTS: starting fan control
2023-10-11 20:58:24 RPINTS: Fan Control fanControl1 is Running
2023-10-11 20:58:24 RPINTS: Not Configured to run Fan



really baffling is this bit a clue ?
Uflash:w:/var/www/html//arduino/raspberrypints/raspberrypints.cpp.hex:i' returned non-zero exit status 255.
 
This is a hardware problem, blowing through sensor I get pour recorded.
Water records a pour but beer doesn't.
I'm going to try flowmeter close to tap as this is how @RandR+ mentions for configuration on the system.
 
So, you got past the Arduino hex file load errors?

Cheers!
Not really that failure to reflash is persistent in the log. I restarted getting no pours once I put it on a keg so it's a beer flow / foam issue. Nothing to do with test data, Arduino not flashing.
Some progress at least.
 
So my issue was a series of holes in the cheese aligning.
I could only get 1/2 inch BSP to 1/4 inch John guest connection to the flowmeters.
Then decided to connect to my raspberry sour that was 3 vols and using 3 mm internal tubing about a foot long.
Series of adapters needed to make the connection to the flowmeters and ball locks.
There was too much resistance to trigger the flow meter.
So no success triggering a pour on this.
Found that water squeezed from bottle worked and connection of meter onto the post adapter that went on another beer tap worked fine.
So once I get half inch BSP to 8mm push fit I think I'll be okay.
I'd like to display 5 taps in columns on the screen and then scroll to display the next 5 taps again in columns.
Is this possible? I've selected 10 taps but this makes ten columns.
IMG_20231014_211756.jpg


I only want 5 columns on the first page then 5 on the next.
Pi 4 easily handling the tap display on one screen and TV / YouTube on the big screen.
 
I finally decided to update my beer styles with the latest BJCP 2021 list. I could not easily find anyone/where that had provided the sql or xml to do that with Raspberry Pints. I went ahead and created a little python script to generate the xml and sql from my BeerSmith3 installation. I am attaching both sql and xml here for those like me that haven't updated and couldn't find the sql/xml. I also found a small bug in the xml upload for beer styles. I'm also attaching a small patch for that (as I don't know a good place to provide/push the patch).
 

Attachments

  • BeerStyles_BJCP_2021_RaspberryPints_sql.txt
    30.6 KB · Views: 0
  • BeerStyles_BJCP_2021_RaspberryPints_xml.txt
    59.6 KB · Views: 0
  • upload_beer_style_patch.txt
    608 bytes · Views: 0
Would I need beersmith to do this? I use brewfather or would a free account work?

Also anyone able to help with the display 5 beers on one page and then scroll down to 5 beers on the next page issue?
as mentioned in post 8033
 
I've had a few issues with my sd card getting corrupted in the raspberry pi. I just reinstalled using the curl -L install.rpints.com | sudo bash command and everything appears to have completed successfully. Maybe I forgot but how to do I get raspberry pints to actually load -- previously it just started automatically
 
I think it just needs mysql and apache2 running. And I agree, iirc the installation preps everything to start on boot.
Do a 'ps aux | grep xxxx' of those and see what's not running...

Cheers!
 
Back
Top