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.
Before I get started are these still the most up to date multi instructions
except for using the arduinos serial #s ?
thanks

redid this whole thing got to the exact same step and hit the same road block
please help

I enter /var/www/chamber1/config_user.php
PI answers -bash:/var/www/chamber1/config_user.php:no such file or directory
 
redid this whole thing got to the exact same step and hit the same road block
please help

I enter /var/www/chamber1/config_user.php
PI answers -bash:/var/www/chamber1/config_user.php:no such file or directory

Well, sounds like the file you need doesn't exist. type "ls /var/www/chamber1/" without the quotes to list what files are already in that directory. I'm guessing there is a file that you can copy and save as config_user.php.

Code:
// This file contains the default settings. These are overruled by config_user.php if it exists
// If you want to change these settings, copy config_user.php.example to config_user.php and make the changes there
Source

Looks like you need to "copy config_user.php.example to config_user.php". If the "ls" command I gave above shows a config_user.php.example then you can create a copy with the "cp" command. For example "cp /var/www/chamber1/config_user.php.example /var/www/chamber1/config_user.php" will make a copy of config_user.php.example (first parameter) and name it config_user.php (second parameter)
 
Guys, I have a strange predicament that I was hoping you could help me out with.

Today, my SD card became corrupt after I hot swapped my USB Wifi dongle. I had to reload BrewPi entirely. Once that finished however, I tried to go to the brewpi webpage to finish setting everything up but it won't load. I got my Wifi dongle set up and everything looks good as far as that goes. I have an IP assigned, no dropped packets and I can ping the Pi over my network. I just can't open the webpage to set everything up.

Do you guys have any ideas?
 
Well, sounds like the file you need doesn't exist. type "ls /var/www/chamber1/" without the quotes to list what files are already in that directory. I'm guessing there is a file that you can copy and save as config_user.php.

Code:
// This file contains the default settings. These are overruled by config_user.php if it exists
// If you want to change these settings, copy config_user.php.example to config_user.php and make the changes there
Source

Looks like you need to "copy config_user.php.example to config_user.php". If the "ls" command I gave above shows a config_user.php.example then you can create a copy with the "cp" command. For example "cp /var/www/chamber1/config_user.php.example /var/www/chamber1/config_user.php" will make a copy of config_user.php.example (first parameter) and name it config_user.php (second parameter)

the list does contain a config_user.php shown in white letters whereas other files are green lettering
does this tell me anything
 
the list does contain a config_user.php shown in white letters whereas other files are green lettering
does this tell me anything

The green lettering indicates that the other files are executable. (some reading material) I'm not sure if that matters but you could try changing config_user.php to executable "chmod 777 FILE_NAME" and see what happens. You might need to use sudo chmod. Note that 777 will give anybody permission to do anything to that file which is generally a no-no, if you find that that worked you'll want go back and set the correct ownership and groups and change the permission to something like 755 (more reading material)

If you run the list command with the -l parameter it will print the details of the files and tell you there permission settings, owner, groups, etc. "ls -la /var/www/chamber1/"
 
A big thanks to those that have helped with advice and especially Elco over at BrewPi.

I wanted to make an enclosed BrewPi system that could handle double fermentation chambers (once the BrewPi is updated to do so) and be pretty easily plugged into and be flexible with different freezers, etc. For this reason I built the box with the SSRs and power so that you just plug the freezer directly into the box instead of wiring the SSR into the freezer/compressor. I definitely see the benefit of doing it that way but I opted not to right now as I'll probably be getting new freezers soon (hopefully nice True glass-fronts).

Parts used were:
New BrewPi Spark with Photon DIY board only.
Raspberry Pi
5 inch touch LCD
MeanWell 120v AC to 5v@3A DC converter
DIY thermistor/fan regulator (to keep the box cool)
2x 40mm 5v fans with grills
1x Large polycase project box
1x 4 hole network plate
4x female to female rj12 jacks
4x male to male rj12 patch cords that I made
4x 10A SSRs from BrewPi
Temp probes from BrewPi
Wireless Keyboard
1x 1input/4output AC plug adapter

I'll just post the pictures so you can see how I put it together. If you have any questions I'd be glad to answer. It works absolutely perfect thus far. It was a chore to get it all to fit though and there isn't room for really anything extra.

That's the new sparkcore based brewpi?
 
The green lettering indicates that the other files are executable. (some reading material) I'm not sure if that matters but you could try changing config_user.php to executable "chmod 777 FILE_NAME" and see what happens. You might need to use sudo chmod. Note that 777 will give anybody permission to do anything to that file which is generally a no-no, if you find that that worked you'll want go back and set the correct ownership and groups and change the permission to something like 755 (more reading material)

If you run the list command with the -l parameter it will print the details of the files and tell you there permission settings, owner, groups, etc. "ls -la /var/www/chamber1/"

thanks for the help kraken
when i ran ls -la /var/www/chamber1/ it returned simply > (and the curser)
 
thanks for the help kraken
when i ran ls -la /var/www/chamber1/ it returned simply > (and the curser)

That's strange, are you sure that's exactly the command you entered?

If it returns a '>' and the curser that means it's waiting for you to finish a command. Did you accidentally type a back slash in there instead of a forward slash? Anyway, to get back to the regular command prompt hit ctrl-c
 
Guys, I have a strange predicament that I was hoping you could help me out with.

Today, my SD card became corrupt after I hot swapped my USB Wifi dongle. I had to reload BrewPi entirely. Once that finished however, I tried to go to the brewpi webpage to finish setting everything up but it won't load. I got my Wifi dongle set up and everything looks good as far as that goes. I have an IP assigned, no dropped packets and I can ping the Pi over my network. I just can't open the webpage to set everything up.

Do you guys have any ideas?


How did you re load? Did you install a fresh image from the depository?
If so you might have changed from the old image to the new one. See if this helps. https://www.homebrewtalk.com/showpost.php?p=7158680&postcount=4094
 
More than likely he reinstalled rasbian, got Jesse instead of wheezy and is hitting the www/html issue
 
I managed to get a "widget" to appear on my android with BrewPi data. I am sure there is a much easier way but it works for now.

To get it to work had to do the following.
added this to crontab
$crontab -e
*/5 * * * * wget localhost/socketmessage.php --post-data="messageType=lcd" -q -O - >> output.txt

This puts data into a txt file every 5 minutes which I then use tasker on android to get and parse.

In tasker I have the following task which is called every 5 minutes
Brewpi (65)
A1: HTTP Get [ Server:port:http://Putyoursitehere/output.txt Path: Attributes: Cookies: User Agent: Timeout:10 Mime Type: Output File:brewpi.txt Trust Any Certificate:Off ]
A2: Read File [ File:brewpi.txt To Var:%BrewPI ]
A3: Variable Split [ Name:%BrewPI Splitter:"Beer Delete Base:Off ]
A4: Variable Split [ Name:%BrewPI2 Splitter:&degF" Delete Base:Off ]
A5: Zooper Widget Pro Variable [ Configuration:#Tbeer# = %BrewPI21 Package:eek:rg.zooper.zwpro Name:Zooper Widget Pro Variable Timeout (Seconds):0 ]
A6: Variable Split [ Name:%BrewPI Splitter:Fridge Delete Base:Off ]
A7: Variable Split [ Name:%BrewPI3 Splitter:&degF" Delete Base:Off ]
A8: Zooper Widget Pro Variable [ Configuration:#Tfridge# = %BrewPI31 Package:eek:rg.zooper.zwpro Name:Zooper Widget Pro Variable Timeout (Seconds):0 ]

Towards the end I have a couple lines which feed the data to Zooper which is what I use to create the widget.

The zooper template is here
https://drive.google.com/file/d/0B_jGujT_QEBgUl8teWhlUEVBV1U/view?usp=sharing

The beer glass icon actually is a shortcut to a tasker scene that opens up a live display of the LCD. I'd include a picture but it's basically the same exact LCD you see in the main brewpi interface

Scene: Cal
P:1440x840 L:666x266

Orientation: Portrait
Background Colour: #33FFFFFF
Action Bar Style: System
Title: Cal
Subtitle:
Icon: null
Tab Labels:

Element: WebView1/WebView
Geometry:
P:80,140 1280x533 L:26,33 1386x693
Content:
Mode: URI
Source: mybrewpiwebsiteaddress/lcd.php
Allow Phone Access: On
Self Handle Links: Off
App Cache API: Off
DB API: Off
Support Popups: Off

Screenshot_20151111-183703.jpg


Screenshot_20151111-211335.jpg
 
I managed to get a "widget" to appear on my android with BrewPi data. I am sure there is a much easier way but it works for now.

To get it to work had to do the following.
added this to crontab
$crontab -e


This puts data into a txt file every 5 minutes which I then use tasker on android to get and parse.

In tasker I have the following task which is called every 5 minutes


Towards the end I have a couple lines which feed the data to Zooper which is what I use to create the widget.

The zooper template is here
https://drive.google.com/file/d/0B_jGujT_QEBgUl8teWhlUEVBV1U/view?usp=sharing

The beer glass icon actually is a shortcut to a tasker scene that opens up a live display of the LCD. I'd include a picture but it's basically the same exact LCD you see in the main brewpi interface

Amazing the **** you guys come up with, im going to do this when my current brew is over so i dont risk breaking anything. Good work!

If you get a chance please post this on the Wiki which i'll eventually get around to finishing to replace this thread with more up to date instructions since a few things change if you are using Jesse or newer debian releases.

http://diybrewpi.wikia.com/wiki/DIYBrewPi_Wikia
 
Might this have something to do with why I can't get this step to work?

$ sudo nano /home/brewpi/brewpi1/utils/fixPermissions.sh

change webPath to point to subordinate brewpi1 folder:

webPath="/var/www/brewpi1"

Save the file and exit

I end up with an error box that says you can use this program to fix.....
 
Might this have something to do with why I can't get this step to work?

$ sudo nano /home/brewpi/brewpi1/utils/fixPermissions.sh

change webPath to point to subordinate brewpi1 folder:

webPath="/var/www/brewpi1"

Save the file and exit

I end up with an error box that says you can use this program to fix.....

It would be helpful if you could post the exact error messages.
 
I would love to but how do people capture the screen shots I see on here?
I'm using putty
 
Ok, you're running Putty - on what?

If you're running on a Windows machine, you can do an application-window capture by setting focus to your Putty session, then hitting ALT + PrintScreen to do the capture, then paste the result into any graphics editor (even Windows Paint) with a CTL+V.

There, you can crop if you want, then Save As... a jpeg file, which you can upload as an attachment to a Reply (once in the forum editor, look down below the edit panel for the Manage Attachments button)...

Cheers!
 
Hello guys, maybe this is a dumb question (I'm a complete noob to Arduino and RPI) but searching in the forum seems it's not been asked before.
Using the USB of the Arduino is the only way to get the temperature logs into the web server? Can we use something like this and skip the need to have the RPI or PC right next to the freezer?
Arduino.png
 
Hello guys, maybe this is a dumb question (I'm a complete noob to Arduino and RPI) but searching in the forum seems it's not been asked before.
Using the USB of the Arduino is the only way to get the temperature logs into the web server? Can we use something like this and skip the need to have the RPI or PC right next to the freezer?
Arduino.png

Check out this thread https://www.homebrewtalk.com/showthread.php?t=508151

You could do what your suggesting but it would be a major pain in the ass, you'd have to do some hacking in the avr code. And not having the web server user interface would suck, interacting with the arduino would be major time consuming. Might as well use a stc1000 or similar.
 
thekraken is too modest to point directly here, documenting the use of an esp8266 as an enet-serial adapter in place of the Bluetooth-serial adapters I use.

I've actually ordered the bits and pieces needed to give that a try.
Hopefully they'll show up next week...

Cheers!
 
thekraken is too modest to point directly here, documenting the use an esp8266 as an enet-serial adapter in place of the Bluetooth-serial adapters I use.

I've actually ordered the bits and pieces needed to give that a try.
Hopefully they'll show up next week...

Cheers!

I'm hesitant to suggest that route since that project never gained much steam. I'd like to iron the bugs out of that but life gets in the way. (Frankly, my brewpi works fine as is, with a brand new kiddo I've suddenly found I have to prioritize my brew projects... go figure)
 
Yeah, I kinda got that from the way that thread was going (or not going :))

My Bluetooth minion fleet has been working flawlessly (actually pretty impressed with how solid those little BT radios are).

But Winter is coming soon, I'll need indoor projects to keep my old brain somewhat exercised, and you got me intrigued enough to see if I can't dive in like an idiot and find my way along to a successful conclusion.

We'll see about that ;)

Cheers! :mug:
 
Check out this thread https://www.homebrewtalk.com/showthread.php?t=508151

You could do what your suggesting but it would be a major pain in the ass, you'd have to do some hacking in the avr code. And not having the web server user interface would suck, interacting with the arduino would be major time consuming. Might as well use a stc1000 or similar.

Seems I'm way out of my league with this. I already use the STC1000. I wanted to seize the PID and data logging capabilites of the arduino and ideally running the web server in my NAS which runs 24/7 and has LAMP capabilities...or even just log the data in plain format in the NAS and use my laptop with Debian only to program the fermentation curve of the Arduino.
Again...seems far too complex. So far I'm sticking with my STC1000 and its inefficient cooling/heating cycles.
 
Thanks to everyone who replied to my issue with flashing the Arduino and to FuzzeWuzze for the initial directions. I finally finished and put my BrewPi in a project box I got for about $5 from Radio Shack.

IMG_1234.jpg


IMG_1235.jpg


IMG_1236.jpg


IMG_1237.jpg


IMG_1238.jpg
 
Looks good! I just finished mine up last night, but I wired SSRs into my fridge instead. Going to do some testing this weekend. You may just want to add a strain relief on that power cord. It may be there, but I can't really tell.
 
I found a good and easy strain relief which you probably already have is just a hose clamp on the inside and hose clamp on the outside tightned down..assuming your hole isnt way oversized this should keep the cable from moving much at all.
 
Morning all

I'm back at it, and running into the same problem, when i try to edit the web interface config files i end up with a list not a file

Here's some info that i hope can help someone, help me

thanks

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2015.11.14 08:57:09 =~=~=~=~=~=~=~=~=~=~=~=
/var/www/chamber1/config_user.php
/var/www/chamber1/config_user.php: line 1: ?php: No such file or directory
/var/www/chamber1/config_user.php: line 2: //: Is a directory
/var/www/chamber1/config_user.php: line 3: //: Is a directory
/var/www/chamber1/config_user.php: line 4: //: Is a directory
/var/www/chamber1/config_user.php: line 6: //: Is a directory
/var/www/chamber1/config_user.php: line 7: //: Is a directory
]0;pi@raspberrypi: ~pi@raspberrypi ~ $ ls /var/www/chamber1
beer-panel.php control-panel.php get_beer_data.php js socket_open.php touch-icon-iphone-retina.png
brewpi_logo.png css get_beer_files.php maintenance-panel.php sockettest.php uploads
config.php data get_beer_profile.php previous_beers.php start_script.php utils
configuration.php defaultSettings.json get_beer_profiles.php program_arduino.php touch-icon-ipad.png
config_user.php favicon.ico getLogs.php save_beer_profile.php touch-icon-ipad-retina.png
config_user.php.example font index.php socketmessage.php touch-icon-iphone.png
]0;pi@raspberrypi: ~pi@raspberrypi ~ $ ls -la /var/www/chamber1/
total 224
drwxrwsrwx 9 www-data www-data 4096 Nov 11 11:28 .
drwxrwsr-x 5 www-data www-data 4096 Nov 10 21:11 ..
-rw-rwxr-- 1 www-data www-data 7548 Nov 10 21:11 beer-panel.php
-rw-rwxr-- 1 www-data www-data 5492 Nov 10 21:11 brewpi_logo.png
-rw-rwxr-- 1 www-data www-data 497 Nov 10 21:11 config.php
-rw-rwxr-- 1 www-data www-data 118 Nov 10 21:11 configuration.php
-rw-rwxr-- 1 www-data www-data 382 Nov 11 12:47 config_user.php
-rw-rwxr-- 1 www-data www-data 382 Nov 10 21:11 config_user.php.example
-rw-rwxr-- 1 www-data www-data 7360 Nov 10 21:11 control-panel.php
drwxrwsr-x 3 www-data www-data 4096 Nov 10 21:11 css
drwxrwsr-x 4 www-data www-data 4096 Nov 10 21:11 data
-rw-rwxr-- 1 www-data www-data 148 Nov 10 21:11 defaultSettings.json
-rw-rwxr-- 1 www-data www-data 1150 Nov 10 21:11 favicon.ico
drwxrwsr-x 2 www-data www-data 4096 Nov 10 21:11 font
-rw-rwxr-- 1 www-data www-data 2686 Nov 10 21:11 get_beer_data.php
-rw-rwxr-- 1 www-data www-data 1664 Nov 10 21:11 get_beer_files.php
-rw-rwxr-- 1 www-data www-data 1364 Nov 10 21:11 get_beer_profile.php
-rw-rwxr-- 1 www-data www-data 1363 Nov 10 21:11 get_beer_profiles.php
-rw-rwxr-- 1 www-data www-data 1645 Nov 10 21:11 getLogs.php
drwxrwsr-x 8 www-data www-data 4096 Nov 10 21:11 .git
-rw-rwxr-- 1 www-data www-data 483 Nov 10 21:11 .gitattributes
-rw-rwxr-- 1 www-data www-data 2063 Nov 10 21:11 .gitignore
-rw-rwxr-- 1 www-data www-data 4716 Nov 10 21:11 index.php
drwxrwsr-x 2 www-data www-data 4096 Nov 10 21:11 js
-rw-rwxr-- 1 www-data www-data 25964 Nov 10 21:11 maintenance-panel.php
-rw-rwxr-- 1 www-data www-data 4807 Nov 10 21:11 previous_beers.php
-rw-rwxr-- 1 www-data www-data 3407 Nov 10 21:11 program_arduino.php
-rw-rwxr-- 1 www-data www-data 1107 Nov 10 21:11 save_beer_profile.php
-rw-rwxr-- 1 www-data www-data 3127 Nov 10 21:11 socketmessage.php
-rw-rwxr-- 1 www-data www-data 1616 Nov 10 21:11 socket_open.php
-rw-rwxr-- 1 www-data www-data 1460 Nov 10 21:11 sockettest.php
-rw-rwxr-- 1 www-data www-data 868 Nov 10 21:11 start_script.php
-rw-rwxr-- 1 www-data www-data 6193 Nov 10 21:11 touch-icon-ipad.png
-rw-rwxr-- 1 www-data www-data 14264 Nov 10 21:11 touch-icon-ipad-retina.png
-rw-rwxr-- 1 www-data www-data 4580 Nov 10 21:11 touch-icon-iphone.png
-rw-rwxr-- 1 www-data www-data 10939 Nov 10 21:11 touch-icon-iphone-retina.png
drwxrwsr-x 2 www-data www-data 4096 Nov 10 21:11 uploads
drwxrwsr-x 2 www-data www-data 4096 Nov 10 21:11 utils
]0;pi@raspberrypi: ~pi@raspberrypi ~ $
 
So I ran a test last night with maybe 10 gallons of water in my fermenter. After everything settled down just after midnight, there was less than 0.1° F variation in beer temp! The weird thing is that the fridge is in my 61° basement. I think that the evaporator fan, which runs constantly, warms up the inside of the fridge a little. I also think that the heat from the compressor, condenser, and condenser fan seep into the fridge as they are on the bottom. These two things have to be the source of the heat. The Pi just thinks if fementation heat. I never would have noticed this weirdness if I had been fermenting beer since I would have assumed that all of the heat was coming from fermentation. Are there any settings I can tweak so the fridge doesn't run so much since it clearly doesn't need to be cooling or should I leave it alone?

BP%200926%202_zpskjsdjtrq.jpg


BP%200926%20zoom_zpsbyti7h4c.jpg
 
FWIW I would think that you should leave it be, because if those things are heating up the chamber as you theorize, than you need to compensate for it
 
FWIW I would think that you should leave it be, because if those things are heating up the chamber as you theorize, than you need to compensate for it

For now, let's not think about the evaporator fan, which probably adds minimal heat. It only needs to cool because it has already cooled which in turn heated up the chamber. I'm going to let the evaporator fan continue to run, but I'm going stop heating and cooling and see what happens.
 
How low should the beer temp/fridge temp get before the heater kicks on?

I'm at : actual/setting
Beer - 63.4/65
Fridge - 64.3/67.8

Cooling works fine.

I have not modified the PID settings at all. It's a stock install and I'm running a profile.
 
So I ran a test last night with maybe 10 gallons of water in my fermenter. After everything settled down just after midnight, there was less than 0.1° F variation in beer temp! The weird thing is that the fridge is in my 61° basement. I think that the evaporator fan, which runs constantly, warms up the inside of the fridge a little. I also think that the heat from the compressor, condenser, and condenser fan seep into the fridge as they are on the bottom. These two things have to be the source of the heat. The Pi just thinks if fementation heat. I never would have noticed this weirdness if I had been fermenting beer since I would have assumed that all of the heat was coming from fermentation. Are there any settings I can tweak so the fridge doesn't run so much since it clearly doesn't need to be cooling or should I leave it alone?



BP%200926%202_zpskjsdjtrq.jpg




BP%200926%20zoom_zpsbyti7h4c.jpg


Did you wire up the fridge to be directly controlled by the arduino and relays. did you re wire the internal light at all. maybe it Indy turning off when you close the door
 
Did you wire up the fridge to be directly controlled by the arduino and relays. did you re wire the internal light at all. maybe it Indy turning off when you close the door

The SSRs are wired into the fridge. The cooling SSR turns on the compressor and condenser fan. Nothing else. It's a glass door fridge, so I'm certain that the light is not on!
 
Does sun come through the windows?

No, not at all, but I just solved the mystery! The evaporator fan, which runs all the time, is 120V and draws 0.85A. Since watts=volts x amps, the fan is 102 watts. That's half the watts of the My Heat heater I'm using! I shot the fan with an infrared thermometer immediately after unplugging the fridge and it was 130 degrees F. So... the fridge was cycling just because the evap fan was heating the air. Crazy. I may switch the evap fan with the cooling SSR instead of have it run all the time and add an auxiliary computer fan inside the chamber to mix the air 24/7. I'd like to get a batch fermented the way it's wired now, though!

20151114_175823_zpsuafqalal.jpg
 
Status
Not open for further replies.
Back
Top