Native ESP8266 BrewPi Firmware - WiFi BrewPi, no Arduino needed!

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.
Hi there. I was wondering if this version of the brewpi script is supported on Windows or could be? I have a working version of brewpi w/ a small windows netbook to arduino in the garage. I was looking to make this wireless and remove the netbook and run this from my server in the house. I tried using your fork of the script but am running into errors. Specifically when it imports PID, which fails because it tries to import fcntl which is not available on windows. Am I SOL on this one?
 
OK so I did a quick load of ubuntu on a machine i had here and gave this a test. it looks like i am connecting to the esp8266 but it is not pulling temp values from my sensors.

stderr:
Aug 17 2017 02:02:04 Connection type set to 'auto' - Attempting serial first
Aug 17 2017 02:02:15 No serial attached BrewPi found. Trying TCP serial (WiFi)
Aug 17 2017 02:02:15 Connecting to BrewPi esp435013.local (via esp435013.local) on port 23
Aug 17 2017 02:02:22 Successfully connected to controller.
Aug 17 2017 02:02:22 Notification: Script started for beer 'My First BrewPi Run'
Aug 17 2017 02:02:32 Checking software version on controller...
Aug 17 2017 02:02:32 Found BrewPi v0.2.4, running commit 00000000, running on an ESP ESP8266 on port esp435013.local:23

Aug 17 2017 02:02:32 BrewPi version received was 0.2.4 which this script supports in 'legacy' branch mode.
Aug 17 2017 02:02:33 Error: Received invalid message on socket: getTemperatures

stdout:
Aug 17 2017 02:02:34 {"BeerTemp":null,"BeerSet": 20.00,"BeerAnn":null,"FridgeTemp":null,"FridgeSet": 20.00,"FridgeAnn":null,"State":0}
Aug 17 2017 02:04:34 {"BeerTemp":null,"BeerSet": 20.00,"BeerAnn":null,"FridgeTemp":null,"FridgeSet": 20.00,"FridgeAnn":null,"State":0}
Aug 17 2017 02:06:35 {"BeerTemp":null,"BeerSet": 20.00,"BeerAnn":null,"FridgeTemp":null,"FridgeSet": 20.00,"FridgeAnn":null,"State":0}

but when i check the hardware and pull the values it is getting readings from my temp sensors (had 1 sitting in an ice bath to verify changes). what am i missing here?

EDIT: ok it seems like I cant assign my temp sensors within brewpi. I am getting error when trying to update the configs (invalid config). Looking at the previous page it appears I'm having the same issue as someone else where it is trying to send over correct data but receiving bad data. I am using the v0.9 wifi bin. I initially flashed it using the windows util but tried reflashing it w/ your script on linux (btw the command in your installer still points to v0.8 which causes the command to fail since its pulling v0.9) but still getting the same error. I will clearing the esp8266 and trying again and see if that works. If not, is there a way to get a hold of the previous firmware and see if it works in that version?
 
OK so I did a quick load of ubuntu on a machine i had here and gave this a test. it looks like i am connecting to the esp8266 but it is not pulling temp values from my sensors.

stderr:


stdout:


but when i check the hardware and pull the values it is getting readings from my temp sensors (had 1 sitting in an ice bath to verify changes). what am i missing here?

EDIT: ok it seems like I cant assign my temp sensors within brewpi. I am getting error when trying to update the configs (invalid config). Looking at the previous page it appears I'm having the same issue as someone else where it is trying to send over correct data but receiving bad data. I am using the v0.9 wifi bin. I initially flashed it using the windows util but tried reflashing it w/ your script on linux (btw the command in your installer still points to v0.8 which causes the command to fail since its pulling v0.9) but still getting the same error. I will clearing the esp8266 and trying again and see if that works. If not, is there a way to get a hold of the previous firmware and see if it works in that version?

Are you using BrewPi-www (the BrewPi-script repo) or Fermentrack?
 
Hi Thorrax,

I just implement two features that make it possible to support glycol on v0.2.x: fallback sensor and adjustable minimum times. It's easy and quick, and the result seems good enough.
(If you are interested, search SettableMinimumCoolTime and FridgeSensorFallBack in my code.)

However,a mystery to me happened. Check the chart.
The grey line, room temp, in the chart is the temperature of "glycol", which is in fact just iced water. I set all minimum times to 10 seconds, and idleRangeHigh to 0.1. The beer temperature seems to be controlled within a small range until the "glycol" was not cold enough.
After adding some more ice, I set Ki,Kp, and Kd to zero, so that the FridgeSet will equal to BeerSet. That was 18:00. The cooling was supposed to be kicked off when the temperature is greater than 18.1. It didn't even when the temperature rose to 18.37. I then reset the Ki,Kp, and Kd to default values. The FridgeSet started to move up and down, and the cooling was started.

Since you know BrewPi better than me, maybe you can shed some light on me.

glycol.jpg
 
OK well I have a spare rpi at the moment so in the interest of science I decided to cannibalize it until until the project it was intended for gets back on track. I installed fermentrack using the instructions on your site now it looks like everything is working as expected. Now that I know the important parts work I can test putting it on the ubuntu machine later.
 
brewpi-www. I used your install.sh script from your brewpi-tools.

OK well I have a spare rpi at the moment so in the interest of science I decided to cannibalize it until until the project it was intended for gets back on track. I installed fermentrack using the instructions on your site now it looks like everything is working as expected. Now that I know the important parts work I can test putting it on the ubuntu machine later.

That makes sense. Unfortunately, I've been focused on the Fermentrack side of things as of late (and ran through a full test build last weekend - so I would be surprised if it wasn't working!) and may have screwed up something on the brewpi-www side. To make sure everything is in sync I'll sync up the code between the two repos and push out any changes shortly. Sorry about that!
 
brewpi-www. I used your install.sh script from your brewpi-tools.

This is now fixed. Sorry about that. Rather dumb mistake on my part. One thing to note - The fix will require a new installation of brewpi-www using the tools script.

Fermentrack wasn't affected by this bug, and all Fermentrack installations are good to go. I did push out a small change I made while testing this which will have no impact on existing installations - for the curious, you can now run app/mdnsLocator.py (and brewpi-script/mdnsLocator.py) as a standalone Python app to locate ESP8266-based brewpi controllers via mDNS.
 
had mine monitoring a stirplate flask but seems to have dropped out almost within a couple of minutes at 5am sydney aust time 2 days running. power off esp seems to fix it. what should I check? thanks
 
had mine monitoring a stirplate flask but seems to have dropped out almost within a couple of minutes at 5am sydney aust time 2 days running. power off esp seems to fix it. what should I check? thanks


I've been experiencing this too recently, what I've found strange is that the device is (seemingly) still working in the back ground just not communicating with the RPI.
 
I've been experiencing this too recently, what I've found strange is that the device is (seemingly) still working in the back ground just not communicating with the RPI.

had mine monitoring a stirplate flask but seems to have dropped out almost within a couple of minutes at 5am sydney aust time 2 days running. power off esp seems to fix it. what should I check? thanks

@gezzanet - Is the issue that it isn't working at all, or it's working in the background, just not communicating to the RPi (similar to @Mikmonken )?
 
ok sorry some more info.
looks like working in background just not communicating with pi
dropped out at 2:30am AEST this morning.
lcd working and responding.
just not connecting to pi
Pi is LAN to wifi router.

last entry err log
Aug 23 2017 20:33:00 Connecting to BrewPi esp418330.local (via 10.0.0.xxx) on port 23
Aug 23 2017 20:33:10 Unable to connect to BrewPi 10.0.0.xxx on port 23. Exiting.

last entry out log
Aug 23 2017 16:35:47 {"BeerTemp": 20.81,"BeerSet":null,"BeerAnn":null,"FridgeTemp": 21.04,"FridgeSet":null,"FridgeAnn":null,"State":0}

memory in pi
pi@raspberrypi:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.2G 1.4G 5.6G 20% /
devtmpfs 213M 0 213M 0% /dev
tmpfs 218M 0 218M 0% /dev/shm
tmpfs 218M 25M 193M 12% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 218M 0 218M 0% /sys/fs/cgroup
/dev/mmcblk0p1 63M 22M 42M 35% /boot

cheers
 
It`s been quite some times since I first mentioned this. Do not think it`s on the priority list

Think you are the third one bringing this up


Quote:
Originally Posted by alexlark View Post
@Thorrak, can you take another look at the Device Logs page. My install is still showing the link URLs the wrong way around:

stderr.log takes me to
http://192.168.0.110/api/log/stdout/1/

and

stdout.log takes me to
http://192.168.0.110/api/log/stderr/1/

i see this as well. Link on fermentrak page for errlog but goes to outlog and visa versa. not a biggie just wrong link
 
ok sorry some more info.
looks like working in background just not communicating with pi
dropped out at 2:30am AEST this morning.

Interesting - this sounds like a firmware issue (rather than an issue with brewpi-script or fermentrack). This one may take some time to research/resolve, but I'll see if I can pin it down.


...
i see this as well. Link on fermentrak page for errlog but goes to outlog and visa versa. not a biggie just wrong link


Admittedly I should have raised an issue for this, and subsequently lost track of it.
 
Just an observation on the LCD screen scramble, I have only been heating over the last 2 weeks and no screen scramble at all. Seems it is only the fridge which introduces the issue and even then it is intermittent, not at every cycle.

@Thorrak, when you get round to the firmware, maybe a neater solution would be to refresh the screen a second or 2 after each fridge cycle?
 
Just an observation on the LCD screen scramble, I have only been heating over the last 2 weeks and no screen scramble at all. Seems it is only the fridge which introduces the issue and even then it is intermittent, not at every cycle.

@Thorrak, when you get round to the firmware, maybe a neater solution would be to refresh the screen a second or 2 after each fridge cycle?

On it!
 
I'm between fermenting beers, so I decided to take my current system down and play with Fermentrack. I've been following the build from the beginning and it looks awesome. Thanks @Thorrak.

One of my BrewPi instances is set up over Bluetooth. Is there functionality in Fermentrack to handle a Bluetooth connected arduino?
 
If so, i would be easy to connect TILT support. When TILT support comes, fermentrack will be complete, in my eyes
 
I'm between fermenting beers, so I decided to take my current system down and play with Fermentrack. I've been following the build from the beginning and it looks awesome. Thanks @Thorrak.

One of my BrewPi instances is set up over Bluetooth. Is there functionality in Fermentrack to handle a Bluetooth connected arduino?

Bluetooth connected arduino should work exactly the same as regular arduinos -- I thought the change was in the way the serial port was configured, not in the way that brewpi script connected to it.

Assuming that's the case, you should be fine -- but Fermentrack won't natively handle configuration of the serial port. I can add support for that to a list, but it would probably be quite awhile until it gets added as it's pretty niche (and, more importantly, I'd have to build another controller to test).
 
Bluetooth connected arduino should work exactly the same as regular arduinos -- I thought the change was in the way the serial port was configured, not in the way that brewpi script connected to it.

Assuming that's the case, you should be fine -- but Fermentrack won't natively handle configuration of the serial port. I can add support for that to a list, but it would probably be quite awhile until it gets added as it's pretty niche (and, more importantly, I'd have to build another controller to test).

I'll work through it and let you know how it goes.
 
Will there be support for Ispindle?

Eventually, that's the goal. I have a Tilt but don't have an iSpindel just yet, but I do plan to build support.

Same for any other sensors that may come on the market - so long as I can get my hands on them - even temporarily - I'm good to add support. Even cloud based ones, though I'm not a fan given that I got burned with BeerBug.
 
May i ask what you got burned on? Did they steel your work?

The BeerBug is a cloud based design, which means that if something happens to the company or their website the device quits working. A few months after I bought it the website died, and I was stuck with an expensive paperweight. I think they sold the company recently and the new company is trying to relaunch the product, but for me the damage is done.


One thing that bears mentioning however - A massive, massive shout out to MoreBeer. I bought the BeerBug through them, and when it stopped working reached out to them to see if their 1 year warranty would cover it. They refunded my money with minimal effort - even though BeerBug isn't a first party product of theirs, and a cloud based product losing its cloud is the kind of "manufacturer defect" that a company could argue about.
 
How much of an existing BrewPi installation do I need to remove before I install Fermentrack?

I recommend uninstalling all of one, but you're welcome to leave one active if you want. There's instructions here for supporting legacy (Apache) apps - including brewpi-www and raspberry pints.

Basically, the two big things you need to be aware/cautious of with an existing brewpi-www installation are Apache and brewpi-script. Apache runs on port 80, and as a result must be configured so as to not conflict with nginx. Brewpi-script as installed alongside brewpi-www will try to connect to any BrewPi device you have set up - and thus you should probably kill it (remove the cron entries & disable the configuration) before trying to use that same BrewPi device with Fermentrack.
 
I've tried the install twice and I get this error both times. I have no nginx knowledge so I'm totally in the dark here.

::: ^[[376mCopying nginx configuration to /etc/nginx and activating.^[(B^[[m
Restarting nginx: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
nginx: configuration file /etc/nginx/nginx.conf test failed
::: ^[[376mRunning updateCronCircus.sh from the script repo^[(B^[[m
Checking and fixing cron entries for Fermentrack
::: ^[[376mStarting circus process monitor.^[(B^[[m
Starting Fermentrack supervisor: circusd: done
 
I've tried the install twice and I get this error both times. I have no nginx knowledge so I'm totally in the dark here.

::: ^[[376mCopying nginx configuration to /etc/nginx and activating.^[(B^[[m
Restarting nginx: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
nginx: configuration file /etc/nginx/nginx.conf test failed
::: ^[[376mRunning updateCronCircus.sh from the script repo^[(B^[[m
Checking and fixing cron entries for Fermentrack
::: ^[[376mStarting circus process monitor.^[(B^[[m
Starting Fermentrack supervisor: circusd: done

Is this for the legacy support or the regular Fermentrack install?
 
I'm trying to do both, but that's from the regular install.

That's interesting - it sounds like something in the default nginx configuration is causing an issue in this case.

From searching for the error, it sounds like there may have been a configuration change to Raspbian images since you installed it (or, alternatively, a configuration change in the past few weeks!). Let me PM you what I found - if it works to fix this I'll add it to the FAQ and post here.
 
I had a pi running brewpi and had to delete all the brewpi folders otherwise fermentrak wouldn't work properly. Didn't rebuild pi just deleted all the brewpi and www files and folders. If that helps.
 
I'm trying to do both, but that's from the regular install.

Just in case anyone encounters this same issue, the fix is to do the following:

Open /etc/nginx/sites-enabled/default-fermentrack up in your favorite text editor (I prefer nano, you'll probably have to do this while SUDOed) and remove this line (It should be line #5):

Code:
	listen [::]:80 default_server;

Once that's done, restart nginx with the following:

Code:
sudo service nginx stop
sudo service nginx start

This should disable ipv6 support for nginx and let everything proceed.
 
I'm up and running with two arduino controllers in Fermentrack and Raspberry Pints running under Wheezy on a Pi2b. Thanks @Thorrak, I really like the software.

Also, I'm running one of the arduino instances over Bluetooth and it seems to be running flawlessly for the past few hours, even reconnecting automatically after reboots. In the Fermentrack settings, I used /dev/rfcomm0 for the serial port on a manual install and it connected right up. If anyone wants help with Bluetooth, let me know.
 
Can someone provide me with a link where i can see the color codes, and what code i need to use for specific colors to change the layout in my fermentor chart?
 
Back
Top