HOWTO - Make a BrewPi Fermentation Controller For Cheap

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.
Status
Not open for further replies.
And a hot tip: Do NOT edit sudoers manually!

Code:
pi@brewpi:~ $ sudo su -
>>> /etc/sudoers: syntax error near line 33 <<<
sudo: parse error in /etc/sudoers near line 33
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Use 'sudo visudo' instead. It will not allow you to save a corrupted sudoers file.

don'taskmehowIknowthis

Thanks for that, I've updated the steps.
 
Ghostery prevented a redirect from

go.skimresources.com to go.redirectingat.com,

which is part of SkimLinks.



This tag appears to redirect to

http://go.redirectingat.com/?id=824...om/search.php?searchid=37633641&xtz=420&abp=1

If this link doesn't look right and you'd like to proceed, click on the icon below to allow SkimLinks and reload.

Allow tags once until final destination is reached. Always allow and reload.


Um… don't know what problem you encountered or what special firewall software you're running… but it's a YouTube link…
 
Shutdown/Reboot HTML Buttons
Thanks for posting this, it works great.

Remember to change ownership (chown) the two new files so that they are owned by www-data like the rest of them to avoid issues. They probably should also be chmod'ed to 674 like the rest.

If someone prefers a "paste and go" approach to creating these files (and to chmod and chown the files) here it is:

Code:
sudo echo "<?php system('sudo /sbin/reboot'); ?>" > "/var/www/html/reboot.php"
sudo chmod 674 /var/www/html/reboot.php
sudo chown www-data:www-data /var/www/html/reboot.php

sudo echo "<?php system('sudo /sbin/shutdown -h now'); ?>" > "/var/www/html/shutdown.php"
sudo chmod 674 /var/www/html/shutdown.php
sudo chown www-data:www-data /var/www/html/shutdown.php

... the above is for Jesse. If you still have Weezy you probably know enough to remove the html from the path.

Also a paste and go solution for the sudoers file:

Code:
sudo sh -c "echo \"www-data ALL=NOPASSWD: /sbin/reboot, /sbin/shutdown\" >> /etc/sudoers"

I was looking at different ways to script the changes to the maintenance-panel.php file but I got a little sidetracked. :)
 
I'm a very technically inexperienced brewer looking to attempt this project as my first foray into the technical world. I'd have someone who knows what they're doing help me on the actual assembly, but in the meantime, how did all of you acquire the knowledge/skill to understand how to wire up the controller? Any special equipment required? Sorry if these questions are stupid :p
 
I'm a very technically inexperienced brewer looking to attempt this project as my first foray into the technical world. I'd have someone who knows what they're doing help me on the actual assembly, but in the meantime, how did all of you acquire the knowledge/skill to understand how to wire up the controller? Any special equipment required? Sorry if these questions are stupid :p

I probably started out at the same level as you having never touched a circuit board (or at least not since school). google, youtube, searching this thread are great ways to build up your knowledge, I did little more than that and now am quite confident in being able to knock something together, it may not be pretty but it might work some of the time.
 
I'm a very technically inexperienced brewer looking to attempt this project as my first foray into the technical world. I'd have someone who knows what they're doing help me on the actual assembly, but in the meantime, how did all of you acquire the knowledge/skill to understand how to wire up the controller? Any special equipment required? Sorry if these questions are stupid :p
Read the thread (yes it's huge but a lot of good info here), make notes while you do so. For instance there's some instructions which are replaced by those coming later.

Get yourself a Raspberry Pi and play around with it some. The project assumes you are at least passingly familiar with working with a Pi. There are a lot of beginners and "for Dummies" books out there. You will also learn here that the technology out-strips the documentation fairly quickly so a secondary goal here is to get familiar with Googling for the answer.

When you get your Pi, learn things like networking it at your home, accessing it from another computer (both X/RDP and SSH). Set up and play with the web server. These are things you need to be able to at least converse upon when you start the project.

Understand the difference between a microcomputer and a microcontroller. This will lead to more Googling, but spend some time doing it.

Finally, approach this only when you have time and patience. You can't just pick up the phone and call one of us for help, so in many cases it's going to take starting over again from the top and making sure you do everything right. When you do ask for help, include log messages whenever possible. If you don't know what or where a log message is, there's more learning to do. :)

There's a pretty steep learning curve up front, but this is a small project and easily accomplished if you follow some directions. You could probably pull it off with none of the knowledge I just mentioned as a matter of fact, but having it will make your life a whole lot easier when something doesn't work as it's supposed to.

Good luck!!
 
Read the thread (yes it's huge but a lot of good info here), make notes while you do so. For instance there's some instructions which are replaced by those coming later.

Get yourself a Raspberry Pi and play around with it some. The project assumes you are at least passingly familiar with working with a Pi. There are a lot of beginners and "for Dummies" books out there. You will also learn here that the technology out-strips the documentation fairly quickly so a secondary goal here is to get familiar with Googling for the answer.

When you get your Pi, learn things like networking it at your home, accessing it from another computer (both X/RDP and SSH). Set up and play with the web server. These are things you need to be able to at least converse upon when you start the project.

Understand the difference between a microcomputer and a microcontroller. This will lead to more Googling, but spend some time doing it.

Finally, approach this only when you have time and patience. You can't just pick up the phone and call one of us for help, so in many cases it's going to take starting over again from the top and making sure you do everything right. When you do ask for help, include log messages whenever possible. If you don't know what or where a log message is, there's more learning to do. :)

There's a pretty steep learning curve up front, but this is a small project and easily accomplished if you follow some directions. You could probably pull it off with none of the knowledge I just mentioned as a matter of fact, but having it will make your life a whole lot easier when something doesn't work as it's supposed to.

Good luck!!

And ill add once you get the hang of it a whole new world of DIY opens up to you. Hell i built a 17" digital picture frame that hangs on our kitchen wall hooked up to our network storage with thousands of family pictures for like $100. An equivalent product(which doesnt really exist) would be around $300.
 
I'm a very technically inexperienced brewer looking to attempt this project as my first foray into the technical world. I'd have someone who knows what they're doing help me on the actual assembly, but in the meantime, how did all of you acquire the knowledge/skill to understand how to wire up the controller? Any special equipment required? Sorry if these questions are stupid :p


Just bornt that way I guess
 
With the setup in the wiki/first page, am I right in assuming that the fridge and heating tool can be plugged into each of the sockets and powered that way? I'd prefer to avoid messing with the compressor/temp controller of the fridge itself.

Also, is the "eurostyle" connector mentioned in the schematic one of these? https://www.amazon.com/dp/B008X0NNEY/?tag=skimlinks_replacement-20

Edit: I've got a spare computer lying around which I'm probably going to use in place of the raspberry pi.
 
Last edited by a moderator:
- Yes, you don't have to hack anything, just plug the fridge into the Cool AC circuit and your heater into the Heat AC circuit, set the fridge to the coldest it will go, and let BrewPi run the show.

- And those terminal blocks would work fine.

- Downside of using a full-blown peecee: it'll burn a lot more power than the couple of watts an RPi uses...

Cheers!
 
I'm a very technically inexperienced brewer looking to attempt this project as my first foray into the technical world. I'd have someone who knows what they're doing help me on the actual assembly, but in the meantime, how did all of you acquire the knowledge/skill to understand how to wire up the controller? Any special equipment required? Sorry if these questions are stupid :p

I'd say it comes from all of my time with picture books and Ikea directions, backed up by some exposure to server knowledge. This thread, and the linked to Wiki in the first post are very helpful in walking you through the process.

Tweaking it comes from having a little bit of comfort with how everything works together and a lot of Googling.
 
Quick question: If I want to move my BrewPi setup to a Raspberry Pi Zero, can I just move the SD card over?
 
If you have a Model B/B+, you have a full size SD card, while the Zero/Zero-W, 2B and 3B all use microSD cards.

Aside from that, from what I have gathered as long as you do not have the "experimental" OpenGL driver enabled before sneaker-netting the SD card, the Pi Zero should boot fine - whether Jessie or Wheezy.

Of course, being single-core with half the RAM, the Zero may seem slow compared to pretty much any other RPi, but that's what you get for $5 :)

Cheers!
 
If you have a Model B/B+, you have a full size SD card, while the Zero/Zero-W, 2B and 3B all use microSD cards.

Aside from that, from what I have gathered as long as you do not have the "experimental" OpenGL driver enabled before sneaker-netting the SD card, the Pi Zero should boot fine - whether Jessie or Wheezy.

Of course, being single-core with half the RAM, the Zero may seem slow compared to pretty much any other RPi, but that's what you get for $5 :)

Cheers!

I'd be going from a Pi 2B, so all good on the card type. Hopefully the decreased processing power doesn't have too much of an impact, but I guess I'll find out!
 
I'd be going from a Pi 2B, so all good on the card type. Hopefully the decreased processing power doesn't have too much of an impact, but I guess I'll find out!


I can't say I notice a huge difference between any of the RPIs I use in terms of speed. I think the key is a decent connection via wifi or Ethernet probably has a greater impact
 
Was having some problems with a pizw staying online for more than a couple minutes at a time… turns out I had cracked the regulator coil when I was designing a case for it… so now waiting for another…
 
The Zero will do fine but with larger logs (longer ferments) you will notice a decrease in speed while rendering the web page. Still, it's a fine solution.
 
I would definitely not recommend using a pi zero for anything but a single fermenter setup. the pi3 is definitely the way to go for multiple vessels
 
I can't say I notice a huge difference between any of the RPIs I use in terms of speed. I think the key is a decent connection via wifi or Ethernet probably has a greater impact

Pull up a month-log BrewPi log on your fastest and slowest RPi's.
Or, open up the Pour table inside a three-year-long RaspberryPints database.

As for network throughput, afaik every RPi IO device talks through the same internal USB2 port on the SOC.
Not exactly a fat pipe...

Cheers!
 
Hey all, been a while.

So, my laptop Brewpi rig is feeling a little under the weather. Pretty much on its death bed actually. And I need help getting it running properly.

It never did run really well. It was always slow and unresponsive, but it got the job done. So I clearly didn't have it all configured right from the get-go. I recently succumbed to the temptation to click the notification that said I have 300+ updates available. Since then it has become terminally ill, and now, it's dead.

As mentioned, it's a laptop, and old-ish Acer that runs well. It has wheezy installed. I remember modifying the original RPi installation script to install/configure it at the beginning, which was probably 3-4 years ago.

I'm not a linux whiz. I used it and played with it 15-20 years ago. A lot has changed since then, especially my memory, I'm getting old. So I can't remember how to configure or troubleshoot this. I checked through some logs in /var/logs and didn't see anything helpful.

Symptoms: Iceweasel just crashes halfway through loading the Brewpi page. Some elements show up, then it chokes and I have to kill the browser's process to regain control.

So, brain trust, :rockin:, what's the first step?

-- 100amps
 
Symptoms: Iceweasel just crashes halfway through loading the Brewpi page. Some elements show up, then it chokes and I have to kill the browser's process to regain control.

Can you access BrewPi from another computer's browser on the same network? How long has it been logging data? It sounds like it could be an issue with your graph data being too large.

ETA: I run 3 instances of BrewPi on a Toshiba laptop from circa 2004, and it does very well. That is part of the reason I am assuming it is the log data. I never use the local machines browser to view the interface, always remotely.
 
Can you access BrewPi from another computer's browser on the same network? How long has it been logging data? It sounds like it could be an issue with your graph data being too large.

Good question, gromitdj. I only access from the laptop which sits on top of my fermenter mini-freezer. I'll check that out and get back to you.

How would I get rid of some data? Toss some the JSON files? Or would that just confuse Brewpi?

--100amps
 
Okay. Yes, I can access the Brewpi from a different computer.
And I went ahead and removed most of the fermentation data folders. Some of them, particularly the latest one, was quite large. It had been logging for 6+ months, polling every 30 seconds. So the interface loads fine locally and across the LAN now.

Unfortunately a lot of things aren't working. Script won't start, Fermenting: link dialogs don't work. Maintenance panel Logs show STDERR, but nothing in STDOUT.

STDERR repeats this:
Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 21, in
from BrewPiUtil import printStdErr
File "/home/brewpi/BrewPiUtil.py", line 22, in
import autoSerial
File "/home/brewpi/autoSerial.py", line 6, in
from serial.tools import list_ports
ImportError: No module named tools

which doesn't mean much to me, other than the Python scripts are mentioned.

The Previous Beers screen all works fine. Graphs appear for the couple data sets I did keep.

Device config menu just shows an error msg:
Error while receiving device configuration: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

Not sure which JSON file that's talking about. Crappy error messages (as always).

I hope it's just permissions issues, but I'm a bit lost on how to confirm things are correct. I went through the install.docs from the BrewPi website, and it looks like the correct users and groups exist. Not sure if all the programs and their directories are configured properly. I ran the fixPermissions.sh script and it didn't help.

Ideas?
 
Pull up a month-log BrewPi log on your fastest and slowest RPi's.
Or, open up the Pour table inside a three-year-long RaspberryPints database.

As for network throughput, afaik every RPi IO device talks through the same internal USB2 port on the SOC.
Not exactly a fat pipe...

Cheers!

I just got, and swapped in a RPi Zero W, and it does just fine at pulling up a month-long brew (which happens to be the longest I have saved). By "fine" I mean that it takes 2-3 seconds to load up the chart. I'm not sure if it the built in wifi is better than the dongle I had on the RPi2, and maybe that is making up for the processing difference.

Now, once I get my new power supply and weatherproof connectors for the sensors I can finish my new improved and cleaner setup. Oh, and when I get a new freezer, because I missed locating one of the coils and punctured it the other day.

IMG_1471.jpg
 
Okay, making some progress.

I discovered STDERR.txt was 135MB and not functioning. Cleared that and got some nice helpful (and current) error messages.

It turns out I somehow updated my Scripts with scripts for the latest BrewPi. The log even told me how to reload the older scripts.

run: sudo ~/brewpi-tools/updater.py --ask , and choose the legacy branch.

Of course that failed (and there was no option to select a legacy branch or anything else.):

error: Your local changes to the following files would be overwritten by merge:
install.sh
Please, commit your changes or stash them before you can merge.
Aborting

An error occurred during git pull. Please update /home/brewpi/brewpi-tools manually.
You can stash your local changes and then pull: cd /home/brewpi/brewpi-tools; sudo git stash; sudo git pull

The update script was not up-to-date, but it should have been updated. Please re-run updater.py.


I have no idea what "stash my local changes" means, or how to update the brewp-tools manually. Is this git lingo? I'm not conversant in git.

Still chipping away at this... So, uhh, how do I reinstall the older scripts?

--100amps
 
Okay, making some progress.

I discovered STDERR.txt was 135MB and not functioning. Cleared that and got some nice helpful (and current) error messages.

It turns out I somehow updated my Scripts with scripts for the latest BrewPi. The log even told me how to reload the older scripts.

run: sudo ~/brewpi-tools/updater.py --ask , and choose the legacy branch.

Of course that failed (and there was no option to select a legacy branch or anything else.):

error: Your local changes to the following files would be overwritten by merge:
install.sh
Please, commit your changes or stash them before you can merge.
Aborting

An error occurred during git pull. Please update /home/brewpi/brewpi-tools manually.
You can stash your local changes and then pull: cd /home/brewpi/brewpi-tools; sudo git stash; sudo git pull

The update script was not up-to-date, but it should have been updated. Please re-run updater.py.


I have no idea what "stash my local changes" means, or how to update the brewp-tools manually. Is this git lingo? I'm not conversant in git.

Still chipping away at this... So, uhh, how do I reinstall the older scripts?

--100amps

Updating to the latest copy of brewpi script shouldn't have any meaningful impact, tbqh. The changes that were made were pretty much all incremental as I recall. From your earlier trace you posted, I think your issue may be the version of pyserial you're using. Try running

Code:
sudo pip install pyserial --upgrade
and see if that fixes it.

As far as the git thing is concerned, try going to your brewpi-script directory and try running
Code:
git reset --hard
. That should revert any changes that it wants you to "stash" iirc.
 
Updating to the latest copy of brewpi script shouldn't have any meaningful impact, tbqh. The changes that were made were pretty much all incremental as I recall. From your earlier trace you posted, I think your issue may be the version of pyserial you're using. Try running

Code:
sudo pip install pyserial --upgrade
and see if that fixes it.

Nope. Turns out that earlier trace was from ages ago, the log was hung. However...

As far as the git thing is concerned, try going to your brewpi-script directory and try running
Code:
git reset --hard
. That should revert any changes that it wants you to "stash" iirc.

This resolved the update script (stash) error, and permitted me to update everything, including Arduino firmware to an update that I didn't even know existed. So, as it turns out Thorrak, everything is working perfectly now. Better than it has ever run.

Thank you, thank you, thank you. :ban: :mug: :rockin:

(I never get tired of that banana.)

--100amps
 
A couple questions, now that I'm back in business.

1. Are the 1wire device addresses burned into the DS18B20 devices, or are they assigned ad-hoc by the Arduino/1wire system?

2. Is there an active fork of Brewpi (Arduino) that's running on Windows?

cheers,

--100amps
 
1. Are the 1wire device addresses burned into the DS18B20 devices, or are they assigned ad-hoc by the Arduino/1wire system?

They're associated with the DS18B20 chip - not the Arduino (or the computer running BrewPi-www).


2. Is there an active fork of Brewpi (Arduino) that's running on Windows?

Hmm - Not sure what you'd want in this case. You say BrewPi Arduino, which makes me think the firmware as opposed to the website. In that case, there is @ame 's Fuscus project which technically would run on Windows -- but given that most devices running Windows don't have GPIO ports for connecting relays/temperature sensors, I'm not entirely sure that's what you're looking for.

If you're looking for something that runs the BrewPi-www software (what the Arduino-based firmware connects to) then BrewPi-www itself should technically run (as would my Fermentrack project). In both cases, however, you'd need to manually install some kind of webserver as well as the BrewPi-www/Fermentrack software.
 
Hmm - Not sure what you'd want in this case. You say BrewPi Arduino....

I just meant not the Brewpi Spark system.

So, apache, php, python, and the Brewpi files running on a Windows system rather than linux.

I'll check out your project. Sounds interesting.

--100amps
 
Any of you guys using the SS Brewtech Brew Buckets? I am considering getting one and trying to figure out if the on with the thermowell is worth it figuring I have a thermowell and would be using brewpi. I realize I'd have to drill a hole for it but I know its been done.

@Thorrak How much of a pain would it be for me to install Fermentrack? I am currently running brewpi on my Ubuntu 16.04 server, so I had to do some hacking to get brewpi installed, I didn't like the permission changes that the install script was running. I figure I'd have to do the same thing with your work but would love to check it out.
 
@Thorrak How much of a pain would it be for me to install Fermentrack? I am currently running brewpi on my Ubuntu 16.04 server, so I had to do some hacking to get brewpi installed, I didn't like the permission changes that the install script was running. I figure I'd have to do the same thing with your work but would love to check it out.

Shouldn't be much of one at all, but I'm guessing you'd want to install it manually from what you're describing. The tools to install fermentrack are located here but you'll probably be most interested in reading through install.sh to see what it does sudo'ed. There shouldn't be any permanent permission changes if memory serves - if I'm wrong about that, let me know.

If you run into any issues or have questions, for the time being the thread being used for Fermentrack-related discussion is this one. Feel free to post over there or send me a PM on the forum and I'm happy to help.
 
Hello, was hoping for a little help troubleshooting my brewpi. I set mine up exactly as Fuzze specs out on the first post (man this thread has gotten long since then) - I think it was at around 200 when I built mine. Anyway - my brewpi was functioning flawlessly, then I moved. It was in storage for 8 months. Now I'm all set back up, plug it all in and nothing on the monitor. The RaspPi does nothing. I get green and red solid lights but no flicker and no boot up sequence like I used to.

My question is - what do you think the order of things would be to troubleshoot this? I can get a miniSDcard adapter to check the card, but what would I be looking for? How could I check to see if the RaspPi is bad? I did check the monitor and it works fine, unplugged everything from the device to see if it would flicker a little and boot when powered back up, nothing. Just sits there. Thoughts?

Thanks // Brian
 
...my brewpi was functioning flawlessly, then I moved. It was in storage for 8 months. Now I'm all set back up, plug it all in and nothing on the monitor. The RaspPi does nothing. I get green and red solid lights but no flicker and no boot up sequence like I used to....

Sounds like it's not reading the operating system on SD card. How did you go about powering down the Raspberry Pi?

Did you make a backup of the SD card?
 
Yeah, that was my hunch. Looking for a backup of the SD card, but most likely its gone after 3+ years. By powering down - do you mean when it worked? (sudo shutdown) or my attempts recently to get it up and running? - pulled power.
 
Initially. It sounds to me like you may have a corrupted SD card. As you know pulling the power is not a good idea.

If you have a spare SD card you can try a fresh install of Raspbian to see if it's a card or board issue.

I have a Raspberry Pi B+ that won't boot up and I'm about to toss it and get a Pi 3. I only get solid red/green LED's and I'm not sure what the issue is.
 
Status
Not open for further replies.
Back
Top