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.
I just ran the automatic script again just to see what would happen. It runs through everything, skips the stuff that is already there but doesn't throw any real errors except for these.

**********Running fixPermissions.sh from the script repo. *****
install.sh: 274: [: -a: unexpeced operator
ERROR: Could not find fixPermissions.sh!
-e

**********Running updateCron.sh from the script repo. *****
install.sh: 284: [: -a : unexpeced operator
ERROR: Could not find updateCron.sh!
grep: /etc/ssh/ssh_host_rsa_key.pub: No such file or directory

It does make it through the entire script and says "Done installing BrewPi! Happy Brewing! And the web interface opens without problems. But I can't run the fixPermissions.sh script without getting the error I mentioned earlier, and I still get the "Cannot open log file /home/brewpi/logs/stderr.txt" error while trying to program the arduino.
 
[…]I know there are others who have run RPInts + BrewPi here, not sure if anyones run two brewpi's plus a RPints....

fwiw, I have been running two BrewPi instances plus R'Pints plus my temperature logger and motion sensor on my development 'Pi for nearly a month...

Cheers!
 
Whew, what a day.
Took me about 4 hours to wire everything up.

I think it's all good now, but getting intermittent "null" values from the temp sensors, which I'm lead to believe is due to dodgy power issues (I'm currently powering the arduino via usb from my PC).
Will procure a 12V supply and see if that fixes things.
 
Fwiw, the linear 5v regulator on Unos prefers 7 to 9v wall warts. 12v will just make that reg run hotter...

Cheers!
 
I had the null issue with mine also. I had to delete all the devices and start fresh. Not sure what was up with that.
 
Thanks y'all I look forward to giving this a try when I get back on land. I am sure I will be bugging y'all for some help.

Thanks,
-G
 
It's in /home/brewpi/utils. Maybe I'm missing something simple. During a fresh install of Debian I create a user named stewart. After the install I then create a user named pi and add it to the sudoers list. Login is pi and run the auto script. It failed while trying to create users and set permissions. So then I followed the manual steps to create the users and set permissions, then ran the automatic script again and it made it but gave me some errors. They didn't seem like critical errors though...just like it was skipping things that were already installed from the first time I ran the automatic script.

It would definitely be nice to be able to run that autoscript and have everything work the first time. Just for fun I put the stewart user and the brewpi user in the sudoers list also, but it didn't make any difference.

The only other thing that seemed strange on this latest attempt is that I can't run any .sh script without typing sudo sh first. I can't just type /home/brewpi/utils/fixPermissions.sh. It gives me a "command not found". But if I browse to the root of utils and then type sudo sh fixPermissions.sh then it runs fine.

One other thing that may or may not make any difference...since I created the user pi and ran the automatic script from that user, it puts the brewpi-tools folder in home/pi. So it isn't in home/brewpi. Would I be better off just creating only one user called brewpi? Or would the automatic script fail to create a user that already exists?

Do you have a way of getting your Debian PC on the internet so i can SSH into it and take a look?
 
Unnasign all the sensors and then reassign them. Not sure how to explain it without it in front of me. I can check later if you want

I tried that (briefly, admittedly) but it was behaving somewhat strangely.
I'd choose "Unassigned" in all the right boxes, then click "Apply" for that sensor. But when I hit "Refresh", all the sensors were still assigned (and 2/3 still had 'null' values).

Will try source a 9/12V wall wart and see if that is the issue.
 
I tried that (briefly, admittedly) but it was behaving somewhat strangely.
I'd choose "Unassigned" in all the right boxes, then click "Apply" for that sensor. But when I hit "Refresh", all the sensors were still assigned (and 2/3 still had 'null' values).

Will try source a 9/12V wall wart and see if that is the issue.

Now I remember having that issue too. Once your probes are all connected, reprogram the arduino under the reprogram tab and choose no for both tick boxes. That will set everything back to default. Go back to the device configuration tab, tick read values and refresh device list. They should be reading a temperature. You will need to reassign all of your devices again. Worked for me, cheers!
 
Now I remember having that issue too. Once your probes are all connected, reprogram the arduino under the reprogram tab and choose no for both tick boxes. That will set everything back to default. Go back to the device configuration tab, tick read values and refresh device list. They should be reading a temperature. You will need to reassign all of your devices again. Worked for me, cheers!


Cool, thanks!
I'm giving my fingers a recovery day (1x soldering iron burn and many wire pokes) so will try this out soon.
 
Think its possible to get the swing a little tighter, or should I be happy with anything under a .2 degree variation? Any settings to play with, etc?

1404646203712.jpg


1404646218760.jpg
 
That should work good, in reality the probes are only +-.4C accurate anyways.
 
Okay so I've done a lot of reading up on this forum. Since the brewpi forum layout is not user friendly, or easy to determine how old the posts your getting your info from. I want to jump into this project head first. I have a stand up refrigerator that I can stick 3 or 4 fermenters in depending on 5 or 6.5 gallons. I would like to independently control 4 different fermenters within the same fridge. And I'd like to do it as cheaply as possible. I've ordered a pi and an uno to start off with. Can I use 1 arduino with a 4 relay board or du need a separate arduino for every fermenter. What would be the best configuration here?
 
You need one arduino and relay board per chamber. In theory you could do 4 arduinos and one 8 channel relay if you wanted.

Then your RPI basically just runs 4 instances of the BrewPi webserver each talking to their own arduino.

You will need to get a USB hub though as well, as the RPI only has i think two USB ports.

How do you plan to isolate each fermenter? Are they chambered off, or are you using heat belts/pads to counteract the cold?
 
After a week of concussions I pulled out a PCB to connect everything.

Obviously the official shield is the best solution

But this is obviously not quick to make LCD and Encoder only helps to connect cleanly and fast
temperature sensors, relay boards and some connector for future use or I2C sensors

I do not like you is not doing those levels DanielXan friend wanted to add direct management as OC in OpenArdBir

but I could not add that part I could not unravel a decent PCB: (

But if I did something wrong, however, is a PCB that allows you to connect to the flight temp sensors and external relays cards

and use BrewPi Obviously without the use of encoders and LCD

When I have time I engrave the text and in the meantime if someone wants to play or improve it place the fiels here

Thank you

In Italiano

Dopo una settimana di sbattimenti ho tirato fuori un PCB per poter collegare tutto.

Ovviamente lo scudo ufficiale è la migliore soluzione

Ma questo è veloce da fare ovviamente non ha LCD e Encoder aiuta solo a collegare in modo pulito e veloce
sensori temperature schede rele e qualche connettore per usi futuri tipo I2C o sensori

A me non piace non è hai livelli di quegli che fa amico DanielXan volevo aggiungere gestione diretta OC come in OpenArdBir

ma non sono riuscito aggiungendo quella parte non riuscivo a sbrogliare un PCB decente :(

Ma se non ho sbagliato qualcosa comunque è un pcb che permette di collegare al volo sensori temp e schede rele esterne

ed usare BrewPi Ovviamente senza uso di Encoder e LCD

Appena ho tempo lo incido e testo se intanto qualcuno ci vuole giocare o miglioralro posto il fiels qui

Grazie
 
So it doesn't matter which relay board I get. Since the io for each relay is isolated from the others. I'll start off building 1 that will do 2 so I can get a feel for it. Should I use an stc-1000 for the fridge control then. Or is there another rasberrypi project to handle that.
 
So it doesn't matter which relay board I get. Since the io for each relay is isolated from the others. I'll start off building 1 that will do 2 so I can get a feel for it. Should I use an stc-1000 for the fridge control then. Or is there another rasberrypi project to handle that.

Why use a STC1000? The BrewPi is what controls the fridge..

What you need to do is just make sure that your coldest brew is the one controlling the fridge.

That way if you have lets say 4 brews that need 60, 65, 65, 67

The one that is 60F needs to be the one controlling the fridge(and its own heater) to keep it at 60F. The other 3 will never be trying to cool, they will constantly be on heat more or less trying to keep their fermeters at 65, 65, 67.

Atleast thats how i envision it working.
 
Ok but let's say the lager finishes before the other 3 then I have to replace the lager in order to keep going or I have to reset everything. If the fridge itself has constant temps then each fermenter is controlling itself. And none of them have to worry about the fridge.
 
This is true i suppose, an STC1000 or something else could be used to control the fridge.

Although depending on how wide of a fermentation range your planning your heaters may need to be really powerful, regardless with this setup your going to be burning a ton of power because the heaters will always be on, or damn near it if the gap in the coldest and warmest is large enough.
 
This is true i suppose, an STC1000 or something else could be used to control the fridge.

Although depending on how wide of a fermentation range your planning your heaters may need to be really powerful, regardless with this setup your going to be burning a ton of power because the heaters will always be on, or damn near it if the gap in the coldest and warmest is large enough.


Basically this is what I'm working with

ImageUploadedByHome Brew1404701524.599965.jpg

I use the 6.5 gallon for primary and the 5 gallons for secondary. There is a bunch of foam in the back near the fan tube that I can open up toilet more cold air into the bottom. But the top will always be colder. So I can lager or cold crash my secondaries after primary fermentation has completed. I'm still working out the details here since this fridge is just big enough for my bubblers. I'll have to use blowoff tubes on my secondaries. I'm not too worried about power consumption as I really only need to heat up the 2 on the bottom and active fermentation should carry some of that load. The only time the secondaries will really need to be heated is if I overshoot the cold temp while trying to bring down the temp of one of the primaries. And if I'm currently running a cold crash on only 1 of my secondaries. But I tend to do 2 batches at a time. And I rarely have to put one off because they aren't both done.
 
I'm also debating on wether or not to cut the shelving out of the door. Because then I could fit all 4 fermenters in the bottom with no problem. I may even try to see if I could repurpose the freezer to be a storage fridge for my yeast and hops and things.
 
That should work good, in reality the probes are only +-.4C accurate anyways.

A bit worse than that, +/-.5°C.

But that's the guaranteed accuracy across bazillions of units - the number the engineers signed up for while not wanting to be woken up in the middle of the night by an irate QA manager at a client manufacturer ;)

I've been slowly correlating all 12 of my "Far Eastern" ds18b20 probes against my "hope to gawd" standard - my blazing yellow ultra-fast splash-proof Thermapen® ;) - and they're closer to +/-.2 °C...

Cheers!
 
A bit worse than that, +/-.5°C.

But that's the guaranteed accuracy across bazillions of units - the number the engineers signed up for while not wanting to be woken up in the middle of the night by an irate QA manager at a client manufacturer ;)

I've been slowly correlating all 12 of my "Far Eastern" ds18b20 probes against my "hope to gawd" standard - my blazing yellow ultra-fast splash-proof Thermapen® ;) - and they're closer to +/-.2 °C...

Cheers!

Oops good catch, i was thinking Thermapen when i said +-.4C, which is damn good so they are not really much worse than what everyone says is the best thermometer out there for brewing.

I agree most are probably way closer, these are industrial IC's that are used all over the world in industrial applications...i mean Maxim is a big if not one of the biggest IC manufacturers i think. So im fairly confident in their ability mass produce these things without a ton of variance from manufacturing.
 
Haven't checked my probes yet but will do when the current brew finished. The brewpi forum had a thread on calibrating probes that suggests you can calibrate and adjust by sticking them all in ice water and checking readouts. Haven't got my head around this but might have a go


Sent from my iPhone using Home Brew
 
The accuracy is not really static, but depends largely on temperature. Accuracy will probably be better at room temp and worse as it gets colder/warmer. The resistance/temperature curve of a thermistor is very non-linear. So I would think of this number (0.5C) as 'typical accuracy within the specified range'.
 
So I'm not a BBB fan (if only because of utterly lame name) but if we ever need a platform performance boost, this looks nearly open-ended...

Cheers!
 
The accuracy is not really static, but depends largely on temperature. Accuracy will probably be better at room temp and worse as it gets colder/warmer. The resistance/temperature curve of a thermistor is very non-linear. So I would think of this number (0.5C) as 'typical accuracy within the specified range'.

Thats exactly what it is, thankfully for us though Maxim has already done the statistics for us. It turns out the probe is better than i initially even thought. The quoted +-.5C is at the extreme temperatures from +3 sigma and -3 sigma samples. If you take the worst offending -3S sample at its worst error(0C) and then compare it to +3S sample at its worst error rate(70C) thats how you get a 1C swing, which is good for them to know but serves us no real purpose because we dont care about those extremes because we arent comparing measurements across multiple sensors. Across a single sensor from 0C to 70C they only see .5C error not +-.5C

DS18B20.png


Looking at the mean or +-3 Sigma lines you can see that the error doesnt actually really even begin shifting drastically upwards until 35C(95F), which is outside of our range to care about.

In the standard Lager to Ale range of say 7C(45F) to 30C(85F) every probe whether its an outlier at +-3 sigma or at the mean you can see the error is pretty much flat and your error from the calibrated state is only going to have an error of less than .1C. This sensor(as far as i can tell its not a thermistor), doesnt seem to shift that much based on temperatures as you can see from the graph, its not really out of whack until like 40-70C.

Im not counting lagers down to 0F, because you dont really care about accurate temp control when your lagering..32F or 34F isnt going to change anything really, even so the probe is still .1C accurate at that range.
 
Thst is pretty cool data. And it actually has better characteristics than I thought as well.
But I think it's not the sensor that is between +-3 sigma, but rather it says "99.7% of all samples will fall between these lines". So, when you take a sample at 30C you can be 99.7% certain it will be somewhere between 0.05C too high to 0.4C too low.
You can kindof tell that accuracy gets worse towards the ends, but 0-70C is in the range where a thermistor can be pretty linear.
I can't say for certain that it is a thermistor as I don't know, but I would be very surprised if it wasn't. The cost of the sensor itself would be an indication that this is done in silicone. And the characteristics also seems to indicate that. But there's nothing wrong with that, it is an very good sensor at a very good price!
 
Oh, and I got to say also that in order to get better accuracy, apart from calibration, you can oversample and filter.
Something that the BrewPi software does exeptionally well :)
 
I like the looks of that hummingboard if only because it had 4 USB ports.
 
Boys & Girls, this is why we like web-viewing, so that from the comfort of your morning-coffee, bleary-eyed, web-checking upstairs seat, you can see that the FermChamber recirc PC fan has stopped :rockin: (the unused fan's signal wire got itself caught in the blade, stopping it, showing me I can have ~3°F temp striation within the chamber.

fanstopped.jpg
 
Boys & Girls, this is why we like web-viewing, so that from the comfort of your morning-coffee, bleary-eyed, web-checking upstairs seat, you can see that the FermChamber recirc PC fan has stopped :rockin: (the unused fan's signal wire got itself caught in the blade, stopping it, showing me I can have ~3°F temp striation within the chamber.

Wow, that's cool! I am getting started on my next fermentation chamber build and I knew I would need a fan, but haven't gotten there yet. It doesn't mean that I haven't had the fans sitting in a box for a year though....
 
having some issues getting a password protected webpage up, wondering if you guys have any hints because I am a rookie at this.
I followed the directions on page 9, ive done these steps:

cd /etc/apache2/sites-available
sudo nano default
look for <directory /var/www/> ... </directory> this is only for the second allowOverride from the top of the page correct?
change allowOverride to All and save the file.
Now its time to restart apache:
cd /usr/sbin


when I restart apache I get a message: could not reliably determine the servers fully qualified domain name, using 127.0.0.1 for server name

and this is what my htaccess file looks like.

<FilesMatch "index.php">
AuthUserFile /var/www/private/.htpasswd
AuthGroupFile /dev/null
AuthName "pi"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
</FilesMatch>
<FilesMatch "(beer-panel|config|configuration|control-panel|maintenance-panel|program_arduino|save_beer_profile|start_scri pt).php">
Order deny,allow
Deny from All
Allow from 127.0.0.1
</FilesMatch>

I have also done:

Create a directory called private(to store the above .htpasswd file), and go into it.
Type htpasswd -c .htpasswd <UserName>, it will pop up asking you for a password, and make you repeat it


when I try to access the page, I see this:
Authorization Required

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

Apache/2.2.22 (Debian) Server at 192.168.1.112 Port 80
 
The message about "reliably blah blah" is expected as your 'Pi is not in a domain.

I'm not certain but your htaccess file looks suspect. It appears only a localhost access is allowed...

Cheers!
 
I was just trying to add another profile and got an error saving it - looked at the /var/www/data/profiles folder and its attributes are 775... Hmm...

Edit - Just tried starting a profile and it crashed... Glad I'm not in the middle of fermentation...
 
Uhggg....

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 781, in
newTemp = temperatureProfile.getNewTemp(config['scriptPath'])
File "/home/brewpi/temperatureProfile.py", line 31, in getNewTemp
temperatureReader.next() # discard the first row, which is the table header
_csv.Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?

I really dont know what happened...

Reinstalled and back to the drawing board.
 
Status
Not open for further replies.
Back
Top