[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.
Package repository references must be out of date as those provided via a standard Raspbian install likely won't include superseded packages.
I believe there's a way to add repositories if their paths can be identified...

Cheers!
 
Thanks RandR.

When I got to the LAMP install, this is the message I got...

pi@raspberrypint:~ $ sudo apt-get -y install spache2 php5 mysql-client mysql-server php5-mysqlnd phpmyadmin

Reading package lists... Done

Building dependency tree

Reading state information... Done

Package php5 is not available, but is referred to by another package.

This may mean that the package is missing, has been obsoleted, or

is only available from another source


Package php5-mysqlnd is not available, but is referred to by another package.

This may mean that the package is missing, has been obsoleted, or

is only available from another source


E: Unable to locate package spache2

E: Package 'php5' has no installation candidate

E: Package 'php5-mysqlnd' has no installation candidate


... Same Issue i've been having... Doesn't like PHP5 anymore.... Any Ideas?

Im not familiar with the script but shouldnt it be installing apache instead of spache? Or is that a replacement for apache5?
 
Im not familiar with the script but shouldnt it be installing apache instead of spache? Or is that a replacement for apache5?

Yes, you are correct. That was a spelling error. Apache2 has no problems running (when spelled correctly). It's really php5 that is causing the grief.
 
Hey KColby...

I'm getting as far as the setup....
I have tried to install your version and this is the error message I'm getting...


Validating Entries...Success!
Checking DB connectivity...
Warning: mysqli_connect(): (HY000/1698): Access denied for user 'root'@'localhost' in /var/www/html/install/includes/configprocessor.php on line 51
FAILED!
User: root
Server: localhost
Pass: ubrewmenu
Array
(
[selectaction] => install
[servername] => localhost
[rootpass] => ubrewmenu
[dbuser] => beers
[dbpass1] => ubrewmenu
[dbpass2] => ubrewmenu
[adminuser] => ubrew
[adminemail] => [email protected]
[adminname] => ubrew
[adminpass1] => ubrewmenu
[adminpass2] => ubrewmenu
)
Checking folder permissions (/var/www/html/includes)...Success!

Cannot connect the the database using the supplied information. MySQL Error Number: 1698
Cannot write to the logs directory. Please check the /logs/ folder permissions. See the RPints Installation page on www.raspberrypints.com.
Cannot write to the template cache directory. Please check the /templates_c/ folder permissions. See the RPints Installation page on www.raspberrypints.com.


What do you think?

Please press the back button on your browser to fix these errors
 
Right, so been pondering using this (without flow meters) since I have a Pi sitting around that I'm not using. I also have another Pi that's currently running Retropie in my home office, that I use for "therapeutic" purposes (ie, when my boss is being a @#$@#) and was wondering...

How cool would it be to have RPints display within Retropie as one of the systems? Have it in the bar/garage or whatever, and when sitting at the kegerator/keezer/whatnot, simply exit out and play some random arcade games with your beer.


Wouldn't be hard to do, I don't think - I run TiltPi in the background of RPints.

Though, admittedly, I just bought another Pi for my RetroPi
 
Sorry for the delay, Yes php5 is depreciated and no longer available for Stretch you need to install libapache2-mod-php7.0 and php7.0-mysql instead of php5

Also the latest MySQL doesn't let you log in using a password for root the only way to login is to use bash and sudo MySQL and create the RP user manually the commands are in my instructions
 
Sorry for the delay, Yes php5 is depreciated and no longer available for Stretch you need to install libapache2-mod-php7.0 and php7.0-mysql instead of php5

Also the latest MySQL doesn't let you log in using a password for root the only way to login is to use bash and sudo MySQL and create the RP user manually the commands are in my instructions

Ok. I've done all that...

Could I be creating the username and password incorrectly in MariaDB?

Here is what I'm typing in:

MariaDB [(none)]> CREATE USER 'ubrew1'@'%' IDENTIFIED BY 'ubrewmenu';
Query OK, 0 rows affected (0.00 sec)

Then I use that user and password for the Database Server and Root Password.

this is what I get:

Validating Entries...Success!
Checking DB connectivity...
Warning: mysqli_connect(): (HY000/2002): Connection refused in /var/www/html/install/includes/configprocessor.php on line 52
Success!
Checking config folder permissions...Success!

Cannot connect the the database using the supplied information.

Please press the back button on your browser to fix these errors


Thx in advance!
 
When I keep the Database Server to localhost, this is what I get:

Validating Entries...Success!
Checking DB connectivity...
Warning: mysqli_connect(): (HY000/1698): Access denied for user 'root'@'localhost' in /var/www/html/install/includes/configprocessor.php on line 52
Success!
Checking config folder permissions...Success!

Cannot connect the the database using the supplied information.

Please press the back button on your browser to fix these errors
 
Here I a new configprocessor.php (found in <wwwrootdirectory>/install/includes that uses the DB user you created instead of root

change the extension to php after downloading
 

Attachments

  • configprocessor.txt
    8.2 KB · Views: 61
Here I a new configprocessor.php (found in <wwwrootdirectory>/install/includes that uses the DB user you created instead of root

change the extension to php after downloading

Thanks RandR

Edited:

I did a complete reinstall, started from the top. I am making progress!!! This is the error using your new configprocessor.php! (but there are a lot of successes now!)

Validating Entries...Success!
Checking DB connectivity...Success!
Checking config folder permissions...Success!
Update config files...Success!
Update admin config files...Success!
Creating RPints database user...Success!
Running Database Script...
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/install/includes/configprocessor.php:178 Stack trace: #0 {main} thrown in /var/www/html/install/includes/configprocessor.php on line 178
 
Last edited:
This is more to do with changes to how things are done in Stretch then the version of Pi and the fact that I heavily modified Raspberry Pints with improvements and fixes so my file I gave you doesn't work with the "Released" version of RP.

I pulled the file from the download on the website and made changes to get to use the db user you supply instead of the root user. Hopefully this one gets you up and running
 

Attachments

  • configprocessor.txt
    6.8 KB · Views: 44
We are getting close. Here's what I get now...

Validating Entries...Success!
Checking DB connectivity...Success!
Checking config folder permissions...Success!
Update config files...Success!
Update admin config files...Success!
Creating RPints database user...Success!
Running Database Script...
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/install/includes/configprocessor.php:178 Stack trace: #0 {main} thrown in /var/www/html/install/includes/configprocessor.php on line 178


However, after this, it breaks.... says "The page isn't working". I have to reload the files for raspberrypints....
 
I've gone through the configprocessor.php file and changed the last 2 mysql functions to mysqli functions. (I think that's what needed to be done).

This is the result:

Validating Entries...Success!
Checking DB connectivity...Success!
Checking config folder permissions...Success!
Update config files...Success!
Update admin config files...Success!
Creating RPints database user...Success!
Running Database Script...
Warning: mysqli_query() expects at least 2 parameters, 1 given in /var/www/html/install/includes/configprocessor.php on line 186
error in query

Seems that mysqli_query($sql) or die('error in query'); needs 2 parameters.

Here is my modified configprocessor.php file.

Hope you can help again. Thanks a million.
 

Attachments

  • configprocessor.php.modified.txt
    6.8 KB · Views: 43
The price of latest OS is updating legacy software to work with it.

You are close but to use mysqli_query you need to pass the connection then the query, I use a different method of doing that in my version attached
 

Attachments

  • configprocessor.txt
    7.8 KB · Views: 101
The price of latest OS is updating legacy software to work with it.

You are close but to use mysqli_query you need to pass the connection then the query, I use a different method of doing that in my version attached

You are never gonna believe it!!!

Validating Entries...Success!
Checking DB connectivity...Success!
Checking config folder permissions...Success!
Update config files...Success!
Update admin config files...Success!
Creating RPints database...Success!
Creating RPints database user...Success!
Running Database Script...Success!
Adding new admin user...Success!
Deleting default Apache index...Success! File already deleted



Congratulations! Your Raspberry Pints has been setup successfully.
Click for - Tap List
Click for - Administration

If there is any way I can buy you a few beers let me know! If you ever come to Traverse City Michigan come on over to UBrew. A few rounds on me!
 
well... spoke too soon...

Click on administration, the login appears... but then...

This page isn’t working

192.168.7.236 is currently unable to handle this request.
HTTP ERROR 500
 
Here is the error.log line from the log/apache2

[Tue Jun 19 14:49:06.799898 2018] [:error] [pid 608] [client 192.168.7.236:37422] PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /var/www/html/admin/includes/conn.php:8\nStack trace:\n#0 /var/www/html/admin/includes/checklogin.php(7): require()\n#1 {main}\n thrown in /var/www/html/admin/includes/conn.php on line 8, referer: http://192.168.7.236/admin/index.php

It's like herding cats...

Chuck
 
thanks for the log, I realized that this would happen when you posted it wasn't working

I forked the project and uploaded my working version of it.

I planned on doing it at some point when it was 100% but now is as good as time as any. The only piece I don't have working is after the valves are closed my RFID reader stops working, but if you are not working with valves and RFID then this should do the trick for you

https://github.com/rtlindne/RaspberryPints
 
thanks for the log, I realized that this would happen when you posted it wasn't working

I forked the project and uploaded my working version of it.

I planned on doing it at some point when it was 100% but now is as good as time as any. The only piece I don't have working is after the valves are closed my RFID reader stops working, but if you are not working with valves and RFID then this should do the trick for you

https://github.com/rtlindne/RaspberryPints


Thanks. That gets rid of all the errors so far...

However, it won't let me log in with my designated username and password... Just keeps saying 'wrong username or password'. Is there a default that I should be using when filling out the install form?
 
In order to save anyone the pain of installing this while waiting for the improved version which will apparently be pushed out shortly by Ian (see his link), here is how you can do it today (I did it and it worked for me):

Thank you so much, from someone who's not as smart as he likes to think :p
 
tindriver72

I'm wondering if the user did not load in the database. Can you run:

sudo mysql
SELECT * FROM raspberrypints.users; (assuming raspberrypints is your database name)

see what it returns, if it returns a row then check what the email address is and you should be able to reset the password with it.

If there is a user and the email is blank use:
UPDATE raspberrypints.users set email = '<email>'; (you don't even need to put in a real email the reset just updates the database it doesn't send and email)

IF there is no user in the table then
INSERT into raspberrypints.users (username, password, active, email, isAdmin)
VALUES ('admin', '', 1, '<email>', 1);

then use the reset password on the webpage
 
Hoping to find any help. I have been recently trying to get Rpints up and running but have been having trouble reading the flowmeters. I have a RPi 3B V 1.2 running Jessie with a Arduino UNO and adafruit flowmeters. I can get the software running but the flowmeters arent reading anything. I have reinstalled via the procedure probably 3 times but with no change. running flow_monitor brings up nothing but when I exit I get python/flow_monitor.py, line 23 ... and serialposix.py line 446.
 
tindriver72

I'm wondering if the user did not load in the database. Can you run:

sudo mysql
SELECT * FROM raspberrypints.users; (assuming raspberrypints is your database name)

see what it returns, if it returns a row then check what the email address is and you should be able to reset the password with it.

If there is a user and the email is blank use:
UPDATE raspberrypints.users set email = '<email>'; (you don't even need to put in a real email the reset just updates the database it doesn't send and email)

IF there is no user in the table then
INSERT into raspberrypints.users (username, password, active, email, isAdmin)
VALUES ('admin', '', 1, '<email>', 1);

then use the reset password on the webpage

Here is the return...
MariaDB [(none)]> SELECT * FROM raspberrypints.users;
+----+----------+----------------------------------+-------+---------------------+---------------------+---------------------+
| id | username | password | name | email | createdDate | modifiedDate |
+----+----------+----------------------------------+-------+---------------------+---------------------+---------------------+
| 1 | admin | 21232f297a57a5a743894a0e4a801fc3 | admin | <[email protected]> | 2018-06-19 12:00:26 | 2018-06-19 12:00:26 |
+----+----------+----------------------------------+-------+---------------------+---------------------+---------------------+
1 row in set (0.01 sec)

I tried to reset it with this email It just loops back to the 'incorrect username or password' page. Then I tried changing the email, which worked, but then when I tried resetting the password, again back to the incorrect username or password.

Can I grab another log for you?
Or could it be something in the index.php that keeps returning the 'wrong' value?
 
Hoping to find any help. I have been recently trying to get Rpints up and running but have been having trouble reading the flowmeters. I have a RPi 3B V 1.2 running Jessie with a Arduino UNO and adafruit flowmeters. I can get the software running but the flowmeters arent reading anything. I have reinstalled via the procedure probably 3 times but with no change. running flow_monitor brings up nothing but when I exit I get python/flow_monitor.py, line 23 ... and serialposix.py line 446.

So you are able to pull up the RaspberryPints web page, get into the management gui, set up your brews and kegs?
If so:
- did you set up your raspberrypints.ino file with the digital IO pins you're wired to and successfully load it on the Uno?
- did you edit /var/www/html/python/flow_monitor.py to set port = '/dev/ttyACM0' (or /dev/ttyUSB0 if an Uno clone with a CH340/341)?
- did you enable the flow meters in the gui?
- when "tapping" a keg did you set the correct Pin?

Cheers!
 
tindriver72

I see the issue, for some reason the latest schema file didn't upload to git... wondering what else is going to be missing now.

The easiest thing to do is get my latest again and rerun setup. It should create the database correctly this time.
 
tindriver72

I see the issue, for some reason the latest schema file didn't upload to git... wondering what else is going to be missing now.

The easiest thing to do is get my latest again and rerun setup. It should create the database correctly this time.
Thanks RandR,

Still nothing. When I check the login info in mysql the login data is missing...

pi@raspberrypints:~ $ sudo mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 21
Server version: 10.1.23-MariaDB-9+deb9u1 Raspbian 9.0

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SELECT * FROM raspberrypints.users;
Empty set (0.00 sec)

MariaDB [(none)]>
 
tindriver72,

Sorry for making you help debug this, I really haven't tried to setup the system with my stuff in a while.

Try getting a fresh copy from github one more time, Ive been working on my side to get a clean install up and running and just checked in a bunch of changes.

There was a bug with the SQL that inserted the user to the database and that is why you didn't see it. I hopefully fixed it now.
 
tindriver72,

Sorry for making you help debug this, I really haven't tried to setup the system with my stuff in a while.

Try getting a fresh copy from github one more time, Ive been working on my side to get a clean install up and running and just checked in a bunch of changes.

There was a bug with the SQL that inserted the user to the database and that is why you didn't see it. I hopefully fixed it now.

Ha, It's not problem! I can't wait until it works...

This time it introduced another problem...
Signup asked for a last name

Then we got this...

+ Validating Entries...Success!
Checking DB connectivity...Success!
Checking config folder permissions...Success!
Update config files...Success!
Update admin config files...Success!
Creating RPints database...Success!
Creating RPints database user...Success!
Running Database Script...error in query 35[ CREATE OR REPLACE VIEW `vwKegs` AS SELECT k.*, t.tapNumber FROM kegs k ] [Duplicate column name 'tapNumber']
 
Ha, It's not problem! I can't wait until it works...

This time it introduced another problem...
Signup asked for a last name

Running Database Script...error in query 35[ CREATE OR REPLACE VIEW `vwKegs` AS SELECT k.*, t.tapNumber FROM kegs k ] [Duplicate column name 'tapNumber']

Yes, I separated first and last name in the database for statistics purposes, and just updated the install to prompt for last name separately.

I updated the schema.sql file (in sql directory) in GitHub with the fix for the sql error. get the latest and try again please and thanks
 
Yes, I separated first and last name in the database for statistics purposes, and just updated the install to prompt for last name separately.

I updated the schema.sql file (in sql directory) in GitHub with the fix for the sql error. get the latest and try again please and thanks

By George I think We've Got IT!!! Everything set up just fine! Now time to enter the beers!

I can't thank you enough for the time you took! I'd love to pay you back in beers!
 
So you are able to pull up the RaspberryPints web page, get into the management gui, set up your brews and kegs?
If so:
- did you set up your raspberrypints.ino file with the digital IO pins you're wired to and successfully load it on the Uno?
- did you edit /var/www/html/python/flow_monitor.py to set port = '/dev/ttyACM0' (or /dev/ttyUSB0 if an Uno clone with a CH340/341)?
- did you enable the flow meters in the gui?
- when "tapping" a keg did you set the correct Pin?

Cheers!
Yes to all of these. The arduino is the actual Ubisoft I used acm0. I tried usb0 jic but it gave me an error when running flow_monitor.py. It seems like the flowmeters aren’t connecting through the uno to the rpi
 
By George I think We've Got IT!!! Everything set up just fine! Now time to enter the beers!

I can't thank you enough for the time you took! I'd love to pay you back in beers!

YAY! hopefully everything works from here. If you add flow meters and valves there is a settings on the tap page that will enable them and you can modify directly from the webpage, no need to dig through the Arduino code.

I may be in Traverse City at some point, my in-laws live in Saginaw and we visit Traverse City every so often.

If you have any more problems let me know, I'm willing to improve this to a truly function Tap Display.
 
YAY! hopefully everything works from here. If you add flow meters and valves there is a settings on the tap page that will enable them and you can modify directly from the webpage, no need to dig through the Arduino code.

I may be in Traverse City at some point, my in-laws live in Saginaw and we visit Traverse City every so often.

If you have any more problems let me know, I'm willing to improve this to a truly function Tap Display.

It looks like you have done a great job so far! I'm gonna play with it and figure out how to get it to look the best on a 27" monitor. Gotta figure out all what all the switches do! :)

In the mean time, email me at [email protected] and let me know when you'll be up in TC. I owe you a few!!!
 
I've been playing with this and there seems to be many places you need to update the code to get it to wok. Particularly in passing the database connection to the managers. I've got iy working now but need to finish it up before sending it back to GitHub for inclusion in his repository.
 
YAY! hopefully everything works from here. If you add flow meters and valves there is a settings on the tap page that will enable them and you can modify directly from the webpage, no need to dig through the Arduino code.

I may be in Traverse City at some point, my in-laws live in Saginaw and we visit Traverse City every so often.

If you have any more problems let me know, I'm willing to improve this to a truly function Tap Display.


Hey RandR,

Can you tell me where I need to modify the settings to adjust the columns to be more user friendly? Right now It's a little obscure.

I only have 4 taps at the bar so Im deciding if horizontal or vertical is the best. Is this an option?

I like all the extra's you've put in! Looks like your system is rockin!

Thanks!
 

Attachments

  • 89145551-BAE7-47AF-B179-11104A2750D2.jpeg
    89145551-BAE7-47AF-B179-11104A2750D2.jpeg
    3.1 MB · Views: 72
tindriver72,

All the settings for displaying columns are under the Personalization, configuration. Though there is no way to change the width of the columns through the admin page. You would need to dig into includes\beerListTable.php and the style.css to make those changes. Maybe something else that could be added to the admin page

I've been thinking of changing the screen and vertical columns sounds interesting, there is no option for that now, but I might put one in if I find time.

You screen shot looks different then mine, but I'm not sure why.
 

Attachments

  • Untitled.png
    Untitled.png
    1.5 MB · Views: 60
tindriver72,

All the settings for displaying columns are under the Personalization, configuration. Though there is no way to change the width of the columns through the admin page. You would need to dig into includes\beerListTable.php and the style.css to make those changes. Maybe something else that could be added to the admin page

I've been thinking of changing the screen and vertical columns sounds interesting, there is no option for that now, but I might put one in if I find time.

You screen shot looks different then mine, but I'm not sure why.

Yeah it does. It's as if the column for the tap numbers is much wider than it needs to be, and the column for the beer name and tasting notes is way too small... Any ideas?
 
tindriver72,

You screen shot looks different then mine, but I'm not sure why.

I've removed the tap number and it looks like this now. The name and notes aren't under the correct column. I'd also like to stretch that column out to help fill the whole screen. I tried making the 'beer name' 700 and 900 pix in the styles.css file but that didn't do anything.

I also can't get the ABV to show. Something is amiss...

What do you think?
IMG_7840.JPG
 

Latest posts

Back
Top