[Feeler] Any Interest in Digital Tap Lists?

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.
I hope this is OK, but for those that wanted to install this, I've attached the instructions that I used.

I just got my RaspberryPI yesterday, and I've never used one before, so hopefully this will help a few. I've been in IT and programming for many years, but never used a RaspberryPI.

I'm sure there are better ways to do some of this install, but it's my first experience with this.

You guys have done a GREAT job, and I just wanted to give a little back. This would probably not be the final "How To" since it's still a little too technical and high level, but it should probably help those with a little computer knowledge, but not comfortable with Linux. I tried to make it a "step-by-step"

I'd be happy to add any information based on feedback, or add it to the GitHub project if it's of any use.

Thanks again to Thadius and everyone who has worked on the project so far!

View attachment RaspberryPint Setup_v1.pdf
 
Just glanced over the doc, sloe.

I think most users will get lost at "edit the SQL database for your beers" part, but we'll see.

You're missing a couple things here.

display_rotate should be 3, not 1. The RPi_Config instructions aren't very clear on this. If you use rotate 1, your monitor's power button will be at the top of the monitor, perhaps out of reach.

I'd recommend 755 on /var/www

You also need the Microsoft font pack for it to all look right, as we use quite a bit of Georgia.

Edit: You'll probably also need to force overscan off in RPiConfig or /boot/config.txt. Otherwise, most monitors will display large black banding.

Edit 2: PM sent. Let me know what you decide.
 
Not for immediate release, but that's certainly a potential feature. I do have a plan to make it show "pints" instead of "fl oz", if that helps any. :\

Wouldn't be super difficult, though you may have to calibration the flow meters in US units, depending on how I code it.

The flow meters are already metric. 6000 pulses per litre.

Sent from my Nexus 5 using Home Brew mobile app
 
The flow meters are already metric. 6000 pulses per litre.

Sent from my Nexus 5 using Home Brew mobile app

The meters have 3/8" BSPP threads and acetal inch-size John Guest fittings from the UK. There's nothing visibly "metric" here.

The pulse rate is a numerical specification, not a physical dimension. And an approximation at that.

If I say they pulse 6,340 times per quart, does that make them imperial?

Edit: Point is, adding metric support will take a LOT of re-coding and a ton of if statements. It's not that it can't be done, but that it will take a lot of time to accomplish. Once we have a basic but perfectly functional release, we'll talk about additional features (such as this).
 
The meters have 3/8" BSPP threads and acetal inch-size John Guest fittings from the UK. There's nothing visibly "metric" here.

The pulse rate is a numerical specification, not a physical dimension. And an approximation at that.

If I say they pulse 6,340 times per quart, does that make them imperial?

Edit: Point is, adding metric support will take a LOT of re-coding and a ton of if statements. It's not that it can't be done, but that it will take a lot of time to accomplish. Once we have a basic but perfectly functional release, we'll talk about additional features (such as this).

Maybe I wasn't clear. They're designed so that 6000 pulses means that one litre has flowed through them.

Conversion should be simple. There are simple calculations for all of the stuff we need, and it should be converted in the view layer.

It can be done after the initial release if you want, but it shouldn't take more then an hour to do.

Sent from my Nexus 5 using Home Brew mobile app
 
Maybe I wasn't clear. They're designed so that 6000 pulses means that one litre has flowed through them.

Conversion should be simple. There are simple calculations for all of the stuff we need, and it should be converted in the view layer.

It can be done after the initial release if you want, but it shouldn't take more then an hour to do.

Sent from my Nexus 5 using Home Brew mobile app

Theoretically they pulse 6000 times per litre. Anecdotal evidence at the KegBot forums indicates they need to be calibrated to the liquid being dispensed. At what pressure? Temperature? Viscosity?

Once my MCP23017 board arrives, I can hopefully get it soldered up and tested in a single weekend. We'll see how accurate it is out-of-the-box.
 
Just glanced over the doc, sloe.

I think most users will get lost at "edit the SQL database for your beers" part, but we'll see.
I agree for sure. It was actually easier for me to install PHPMyAdmin, but I assumed that would be more difficult. I noticed you had your brewery name linked to an "admin" folder, so I didn't want to spend too much time here if you were going to create a CRUD screen for the beers table.

You're missing a couple things here.

display_rotate should be 3, not 1. The RPi_Config instructions aren't very clear on this. If you use rotate 1, your monitor's power button will be at the top of the monitor, perhaps out of reach.

I'd recommend 755 on /var/www

You also need the Microsoft font pack for it to all look right, as we use quite a bit of Georgia.

Edit: You'll probably also need to force overscan off in RPiConfig or /boot/config.txt. Otherwise, most monitors will display large black banding.

For the screen rotation, I didn't think about that. The rotate=1 worked better for my desk, but I didn't think about it hanging on a wall.

I added these to the document. I forgot about the fonts. I had installed them with a separate project so they were already there on my installation.

I just reimaged my SD card, so I'll add these items, along with the wireless setup as I verify everything again.
 
Theoretically they pulse 6000 times per litre. Anecdotal evidence at the KegBot forums indicates they need to be calibrated to the liquid being dispensed. At what pressure? Temperature? Viscosity?

Once my MCP23017 board arrives, I can hopefully get it soldered up and tested in a single weekend. We'll see how accurate it is out-of-the-box.

Not sure if you saw my post from above, but I've already got the bulk of the coding done for the flow meters. I just don't know how to wire the meters up for testing

Sent from my Nexus 5 using Home Brew mobile app
 
I agree for sure. It was actually easier for me to install PHPMyAdmin, but I assumed that would be more difficult. I noticed you had your brewery name linked to an "admin" folder, so I didn't want to spend too much time here if you were going to create a CRUD screen for the beers table.

For the screen rotation, I didn't think about that. The rotate=1 worked better for my desk, but I didn't think about it hanging on a wall.

I added these to the document. I forgot about the fonts. I had installed them with a separate project so they were already there on my installation.

I just reimaged my SD card, so I'll add these items, along with the wireless setup as I verify everything again.

In fact, we do have PHPMyAdmin installed, but it's really only for our testing purposes.

Yep, we're working on a "CRUD" page. Our main author of it is currently checking to see if he can release his work under our license. So, maybe we have a half-done one. Maybe we have to start over. :)
 
Not sure if you saw my post from above, but I've already got the bulk of the coding done for the flow meters. I just don't know how to wire the meters up for testing

Sent from my Nexus 5 using Home Brew mobile app

You *could* wire them directly, with some resistors in-line to take them down to 3.3V, but I wouldn't bother.

I'll be going this direction with it, per my earlier posts:
http://wiringpi.com/extensions/i2c-mcp23008-mcp23017/

Feel free to PM me your GH username if you want to contribute. Or did I add you already? :)
 
You *could* wire them directly, with some resistors in-line to take them down to 3.3V, but I wouldn't bother.

I'll be going this direction with it, per my earlier posts:
http://wiringpi.com/extensions/i2c-mcp23008-mcp23017/

Feel free to PM me your GH username if you want to contribute. Or did I add you already? :)

Done that already. There's a 5v output on the pi, can't I just use that instead of the 3.3v?
 
Instructions will be written to setup this thing. It will be no harder and take no longer than your first extract batch.

If you want flow meters, it'll be doable by may require some soldering. Sounds daunting, but Ive seen 8 year olds master it no problem.


I don't mind soldering, but what I'm wondering is this: is there an interface to be soldered (or already existing) that can accept the pins of the flow meters we have?

:D
 
Done that already. There's a 5v output on the pi, can't I just use that instead of the 3.3v?

My understanding is that the meter requires voltage at 5V and sends pulses at 5V. So while you may be able to power it from the Pi, the GPIO pins on the Pi can only receive 3.3V safely.

That is, you can power using Pin 2 or Pin 4, but to receive pulses you need to be using other pins.

"GPIO voltage levels are 3.3 V and are not 5 V tolerant. There is no over-voltage protection on the board - the intention is that people interested in serious interfacing will use an external board with buffers, level conversion and analog I/O rather than soldering directly onto the main board."

You could easily condition the pulses to 3.3V with a breadboard.
 
Here's the updated version 2 of the install document. Figured I had some extra time today, so no time is better than now.

I wiped my SD card, and went through the instructions again. Hopefully just need to add the Admin section, other than a simple SQL lesson :)

Let me know if you see any changes that need to be made.

Also just a thought: if anyone has a ton of bandwidth and a big internet pipe, most of these instructions could be rendered irrelevant by making an image of the finalized OS and posting it.

View attachment Raspberry Pint Setup V2.pdf
 
Here's the updated version 2 of the install document. Figured I had some extra time today, so no time is better than now.

I wiped my SD card, and went through the instructions again. Hopefully just need to add the Admin section, other than a simple SQL lesson :)

Let me know if you see any changes that need to be made.

Also just a thought: if anyone has a ton of bandwidth and a big internet pipe, most of these instructions could be rendered irrelevant by making an image of the finalized OS and posting it.
How large is the file? I might be able to help with that.
 
How large is the file? I might be able to help with that.

Pretty decent size.

NOOBS v1.3.3 itself is 1.28gb. That includes multiple OSes, but they're compressed.

LAMP, phpMyAdmin, the fonts, and our repo are small in size, but then you lose the compression in NOOBS. Plus, you'd have to re-create a multiple-gb image with every commit.

I think you might have better luck using TinyURL or similar shortening service for the commit, then some unzip trickery on the Pi. Saves you all the WinSCP mess, at least.

I'm trying to design it so you can just unzip new releases over existing files, but it's still eluding me (mostly the SQL part).
 
My understanding is that the meter requires voltage at 5V and sends pulses at 5V. So while you may be able to power it from the Pi, the GPIO pins on the Pi can only receive 3.3V safely.

That is, you can power using Pin 2 or Pin 4, but to receive pulses you need to be using other pins.



You could easily condition the pulses to 3.3V with a breadboard.

And that's exactly why I haven't hooked anything up to test yet.

Any idea how I can rig something up to test?

Sent from my Nexus 5 using Home Brew mobile app
 
Pretty decent size.

NOOBS v1.3.3 itself is 1.28gb. That includes multiple OSes, but they're compressed.

LAMP, phpMyAdmin, the fonts, and our repo are small in size, but then you lose the compression in NOOBS. Plus, you'd have to re-create a multiple-gb image with every commit.

I think you might have better luck using TinyURL or similar shortening service for the commit, then some unzip trickery on the Pi. Saves you all the WinSCP mess, at least.

I'm trying to design it so you can just unzip new releases over existing files, but it's still eluding me (mostly the SQL part).

Unfortunately I dont have that kind of bandwidth.
 
We could make the image into a torrent. Then we would only be uploading parts of the image each. I feel like that's how I've downloaded other open operating systems in the past.

Sent from my SCH-I535 using Home Brew mobile app
 
As for the how-to, we should add that add a page/pages on the wiki in GitHub.

Sent from my SCH-I535 using Home Brew mobile app
 
Happy to report that the Pi is up and running, with LAMP.

If you want to edit the install guide, a simpler way to install apache, mysql, php and phpmyadmin is simply:


sudo apt-get install apache2 mysql-server php5 phpmyadmin


That will install everything in one go and configure it all for you.

I've also got it setup to automatically update my ip with 1and1 if the ipaddress changes (if it works right, I will post the instructions... but I won't know until the ip actually changes) and I have an android tablet setup with VNC so I can remote desktop in to the server if I need anything other than the cli.

http://skypainterbrewing.com/RaspberryPints/

Now, on to other things... I was looking at kegbot and their ability to update/post to untapped, however, I realized that may not be too much of an option depending on the kind of user tracking you guys want to do with this project. They do a lot of tracking users and whatnot for a history of who drunk what and the way they are setup allows it to post to untapped easier.

Another option would be to simply display a feed of people who post to untapped for your beer (yes, you can have a homebrewery on untapped and list your beers). That would be easier to implement and to start out would not require any kind of api codes.
 
Happy to report that the Pi is up and running, with LAMP.

If you want to edit the install guide, a simpler way to install apache, mysql, php and phpmyadmin is simply:


sudo apt-get install apache2 mysql-server php5 phpmyadmin


That will install everything in one go and configure it all for you.

I've also got it setup to automatically update my ip with 1and1 if the ipaddress changes (if it works right, I will post the instructions... but I won't know until the ip actually changes) and I have an android tablet setup with VNC so I can remote desktop in to the server if I need anything other than the cli.

http://skypainterbrewing.com/RaspberryPints/

Now, on to other things... I was looking at kegbot and their ability to update/post to untapped, however, I realized that may not be too much of an option depending on the kind of user tracking you guys want to do with this project. They do a lot of tracking users and whatnot for a history of who drunk what and the way they are setup allows it to post to untapped easier.

Another option would be to simply display a feed of people who post to untapped for your beer (yes, you can have a homebrewery on untapped and list your beers). That would be easier to implement and to start out would not require any kind of api codes.

Good idea. A simple way would be for you to be able to add a qr code to each beer. Then the user can scan that qr code on their phone and it will send them to that beer's page so they can then check in.

Or even better, you can just put the untappd beer's is in our system and we will create it for you. But that would require you to give your pi internet access and also a site that offers an api to do this for free.

http://help.untappd.com/discussions/general-untappd-issues/487-creating-a-qr-code
 
I added the rss feed for my "brewery" to the bottom of the page. haven't done any kind of formatting yet, so its still rather crude.... not sure I like that.

For those that want access via a remote desktop type access...

at the CLI:

sudo apt-get install screen x11vnc

Once that finishes,

type
screen -a
hit enter (this creates a seperate detachable session, if you want to learn more about screen, just google man screen)

once in the new "screen", providing your x server is running (i had set my to by default) all you have to do is type:
x11vnc -auth guess

and hit enter. It will start to run through all the options. at this point, you can either close the terminal window leave it up.

In a vnc viewer (http://www.realvnc.com/download/viewer/) put in the IP address or url and hit connect.

you should now be on a remote desktop. It also works on tablets with VNC viewers as well.
 
Got my flow sensors in the mail today! Keep up the good work. Do you have a PayPal account for donations or do you plan on charging for any part of this?
 
This project will be released under a free license, with some restrictions so that others can't turn around and legally sell our work out from under us.

The intention of this project was never to make money. I suppose a premium version could be a possibility, though we'd have to re-create the whole admin panel from scratch (licensing issues) and get 5+ contributors to agree on a fair distribution of the cash. Fat chance at that happening.

No PayPal account for donations at this time. If we did something like that, it'd be only to pay for the domain, website hosting, etc. (which is very inexpensive at this point).

May consider adding a way to let somebody donate us a couple beers, though. :D

Would be nice to sell pre-soldered breakout boards for those interested in flow meters, but I can't see making a profit worth my time after paying HBT the vendor account fees.
 
What language do you use to write the program in? To me it seems that you guys use different languages. Are they cross-platform?
 
The site is written in PHP.


I'm not sure what they're writing the code to interface with the flow meters in... but for the basic tap list, its all php.
 
Is there a way using git to merge changes that are posted to github with changes I have made locally??

(I've resized the logo and added my untapped rss feed at the bottom...)
 
I managed to wire up a circuit yesterday, and will be playing with my code tonight. Assuming that works, all that would be left is tying it into the database to update the levels.

We will need a way to make the hardware part of this easier, though. Not sure if the extender board will make it easier or not, but I don't think we can expect most people to solder up a daughter board for this.
 
I managed to wire up a circuit yesterday, and will be playing with my code tonight. Assuming that works, all that would be left is tying it into the database to update the levels.

We will need a way to make the hardware part of this easier, though. Not sure if the extender board will make it easier or not, but I don't think we can expect most people to solder up a daughter board for this.

Will it work with the PiFace digital IO expander? They come pre-assembled and ready to go, I actually have one and have been working on my own flow meter interface (while keeping a sharp eye on this project), although I have not had a chance to really get into it yet. The only issue I can think of is that it doesn't work with WiringPi for interrupts I believe, but my understanding of the documentation may be wrong
 
Is there a way using git to merge changes that are posted to github with changes I have made locally??

(I've resized the logo and added my untapped rss feed at the bottom...)

You need to have a GitHub account, fork or branch the repository, make your changes, then create a Pull Request. Once the Pull Request is in, I can review/accept the code changes.

I managed to wire up a circuit yesterday, and will be playing with my code tonight. Assuming that works, all that would be left is tying it into the database to update the levels.

We will need a way to make the hardware part of this easier, though. Not sure if the extender board will make it easier or not, but I don't think we can expect most people to solder up a daughter board for this.

I really disagree. We're talking about a group of individuals that can modify/extend/re-insulate chest freezers, plumb an entire gas and liquid distribution system, and build multiple-barrel brewery sculptures. Hell, everybody here can turn water, grain, hops and yeast into a delicious beverage! I think you're selling the community short if you say they can't hand a little soldering.

Here's a sample 5 minute basic video on how to solder. It appears to be written by a 16 year old who has his own electronics company. No joke.




Will it work with the PiFace digital IO expander? They come pre-assembled and ready to go, I actually have one and have been working on my own flow meter interface (while keeping a sharp eye on this project), although I have not had a chance to really get into it yet. The only issue I can think of is that it doesn't work with WiringPi for interrupts I believe, but my understanding of the documentation may be wrong

While cool, a little on the pricey side.

I don't see myself buying one to test it, but once I get the hang of it, I might consider accepting a loaner to test with pre-paid return shipping.
 
Last edited by a moderator:
You need to have a GitHub account, fork or branch the repository, make your changes, then create a Pull Request. Once the Pull Request is in, I can review/accept the code changes.


I'm really just looking for a way to merge the changes locally and not with the main development (at least not yet) as they are slight formatting/layout changes.

If I get access to the 4sq api and can implement that in to the software then I may contribute that code to the project.
 
Merge... the changes locally? Uhhhh... not sure what you mean. Perhaps you want to do a commit but not push to Github?

If you're using Windows, grab TortoiseGit. It's a lot easier than using the Git Shell. Download, install.

Create a new folder anywhere on the C: drive. I keep mine on my desktop. Right click the empty folder, click "Git clone..."

URL: is the URL to our GH repo. You can omit the .git extension if you prefer.

Directory: is where you want it downloaded to. By default, it picks a sub-directory of the one you selected, but you can change it.

Click 'OK'. It'll download the repo, create the git, etc.

Make your changes, or copy your files on top of what it downloaded, then right click the folder and pick Git Commit. Enter some comments, click Ok, you're done.

If you wanted to push it back to the website, you'd right click and use TortoiseGit > Push. Enter the URL, etc. When prompted, enter your login details. This will overwrite the master branch, unless you branched previously (right click -> TortoiseGit -> Branch).
 
I'm really just looking for a way to merge the changes locally and not with the main development (at least not yet) as they are slight formatting/layout changes.

If I get access to the 4sq api and can implement that in to the software then I may contribute that code to the project.

Hey mcangeli,
Maybe it's because I'm way more familiar with subversion, but I get what you're saying. Give this a try and see if it does the trick: http://stackoverflow.com/questions/2648375/git-merging-changes-to-local-branch
 
Hey guys, I've been lurking on this thread while I wait for parts to come in. I've been planning on swapping my kegerator over from an old noisy guruplug to a raspberry pi. As long as I've got that in, I'll probably be integrating it with RaspberryPints (great name, btw) and adding some additional features. If anything ends up being worth-while, I'll put in a pull request and get it back into master.
 
Is there a way using git to merge changes that are posted to github with changes I have made locally??

(I've resized the logo and added my untapped rss feed at the bottom...)

You need to commit your changes first. Then fetch from the main github repo (assuming you have a remote for it called "upstream", if not you can add it). After that you rebase your changes onto the upstream changes and solve any conflicts.

git add .
git commit (enter your commit message here)
git fetch upstream
git rebase upstream/master

Hopefully everything will go fine during the rebase; if not you'll be in conflict mode. You really don't want to deal with that so if that's the case I would run

git rebase --abort

and report back.

Source: I work with git every day at work. (Sorry, been following this project but don't really have time to contribute. Wish I did, as I also work with PHP every day at work)
 
Back
Top