• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

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

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
On my mini D1 there is a reset button. Do you have something similar, or do you want to avoid having to open the enclosure?

Where hoping for a reset function trough ssh, or similar. Opening the enclosure is doable, but, this is electronics, so it would be strange if reboot is not something one can manage to do - kind off.
 
So, I've got a Raspberry Pi running the latest version of Fermentrack. I built a BrewPiLess box, and also an iSpindel. I'm having several issues I'm hoping someone can help me solve.

I've got fermentrack installed and running. If I try to use fermentrack to flash my iSpindel, I eventually get a 504 gateway error. Only way I can flash it is using esptool at the command line. If I use fermentrack to flash my BrewPiLess, it flashes but I'm unable to set it in AP mode to set the wifi settings. I've tried the wifi reset image, and I still can't do it. Flashing that using the command line, (I did ver. 2.5) I 'can' get it in AP mode and set the wifi settings.

This leads me to another issue. If I use guided temp controller setup, it never sees the brewpiless. I can use advanced setup, and it does get added. But, it doesn't read temp or anything like that. In fermentrack, where it should show the LCD info, it just says 'Cannot receive LCD text from Controller/Script'. If I click on 'Configure Device' in the Log Interval box, I get this error on the top of the screen: 'Unable to reach brewpi-script for device xxxxx'. I do see there's a directory for it. /home/fermentrack/fermentrack/brewpi-script also one for brewpi-tools.

If I look at the dev-brewpi1-stderr.log file, I see this repeated:
Mar 16 2018 13:44:48 Unable to connect to BrewPi 192.168.29.222 on port 23. Exiting.
Mar 16 2018 13:44:54 Connection type WiFi selected. Trying TCP serial (WiFi)

So, I have to think the root of all this is, the fermentrack pi just can't see that brewpiless box I have setup. But, I'm pulling what's left of my hair out trying to figure out what exactly is going wrong.

Any ideas on what I'm doing wrong?
 
This leads me to another issue. If I use guided temp controller setup, it never sees the brewpiless. I can use advanced setup, and it does get added. But, it doesn't read temp or anything like that. In fermentrack, where it should show the LCD info, it just says 'Cannot receive LCD text from Controller/Script'. If I click on 'Configure Device' in the Log Interval box, I get this error on the top of the screen: 'Unable to reach brewpi-script for device xxxxx'. I do see there's a directory for it. /home/fermentrack/fermentrack/brewpi-script also one for brewpi-tools.

If I look at the dev-brewpi1-stderr.log file, I see this repeated:
Mar 16 2018 13:44:48 Unable to connect to BrewPi 192.168.29.222 on port 23. Exiting.
Mar 16 2018 13:44:54 Connection type WiFi selected. Trying TCP serial (WiFi)

I have the same issue. Fermentrack can not receive data from brewpiless. Any takes on what causes it?
 
So, I've got a Raspberry Pi running the latest version of Fermentrack. I built a BrewPiLess box, and also an iSpindel. I'm having several issues I'm hoping someone can help me solve.

I've got fermentrack installed and running. If I try to use fermentrack to flash my iSpindel, I eventually get a 504 gateway error. Only way I can flash it is using esptool at the command line. If I use fermentrack to flash my BrewPiLess, it flashes but I'm unable to set it in AP mode to set the wifi settings. I've tried the wifi reset image, and I still can't do it. Flashing that using the command line, (I did ver. 2.5) I 'can' get it in AP mode and set the wifi settings.

Hey there!

Sorry to hear about the issues flashing - I'm guessing that the problem is that the flash process is timing out. I need to shift to have the flashing controlled by Huey - that should allow it to progress in the background regardless of how long the flashing process takes.

With regards to flashing BrewPiLess, I'm guessing that the version of the firmware I have linked within Fermentrack may be an older version. I'll take a look later tonight/tomorrow and update the link if necessary.

This leads me to another issue. If I use guided temp controller setup, it never sees the brewpiless. I can use advanced setup, and it does get added. But, it doesn't read temp or anything like that. In fermentrack, where it should show the LCD info, it just says 'Cannot receive LCD text from Controller/Script'. If I click on 'Configure Device' in the Log Interval box, I get this error on the top of the screen: 'Unable to reach brewpi-script for device xxxxx'. I do see there's a directory for it. /home/fermentrack/fermentrack/brewpi-script also one for brewpi-tools.

BrewPiLess unfortunately isn’t compatible with Fermentrack. BPL effectively replaces the functionality that Fermentrack is intended to provide by moving it to the ESP itself, and thus Fermentrack is not necessary.

The reason the BPL firmware is available to flash from within Fermentrack is because BPL is a really cool project and - for some people - it’s a solution that works. I personally like BrewPi + Fermentrack, but I’m biased. ;)
 
BrewPiLess unfortunately isn’t compatible with Fermentrack. BPL effectively replaces the functionality that Fermentrack is intended to provide by moving it to the ESP itself, and thus Fermentrack is not necessary.

The reason the BPL firmware is available to flash from within Fermentrack is because BPL is a really cool project and - for some people - it’s a solution that works. I personally like BrewPi + Fermentrack, but I’m biased. ;)

Too bad! I had a feeling it was that way. I would agree the ease of using fermtrack is great bonus to me. BPL and BP is almost the same imo. Each has its own great and weak sides. I might have to do the change, as I have issues getting BPL online.

Any great solution for adding a SSD1306 OLED I2C 128x64 to this project? And have you tried running them on nodemcu as BPL does?

Thanks Thorrak, great work.
 
BrewPiLess unfortunately isn’t compatible with Fermentrack. BPL effectively replaces the functionality that Fermentrack is intended to provide by moving it to the ESP itself, and thus Fermentrack is not necessary.

The reason the BPL firmware is available to flash from within Fermentrack is because BPL is a really cool project and - for some people - it’s a solution that works. I personally like BrewPi + Fermentrack, but I’m biased. ;)
Ok, so potentially stupid question, but one maybe I should have asked a long time ago... So, should I flash with BrewPi rather than BrewPiLess? I'm fairly confused, but I feel like I'm close on this. I guess I was thinking that the box (since using the ESP) was using wifi so BrewPiLess was the way to go.
 
Too bad! I had a feeling it was that way. I would agree the ease of using fermtrack is great bonus to me. BPL and BP is almost the same imo. Each has its own great and weak sides. I might have to do the change, as I have issues getting BPL online.

Any great solution for adding a SSD1306 OLED I2C 128x64 to this project? And have you tried running them on nodemcu as BPL does?

Thanks Thorrak, great work.
I'm in the +1 column for OLED support for Fermentrack
 
Ok, so potentially stupid question, but one maybe I should have asked a long time ago... So, should I flash with BrewPi rather than BrewPiLess? I'm fairly confused, but I feel like I'm close on this. I guess I was thinking that the box (since using the ESP) was using wifi so BrewPiLess was the way to go.

The only difference is that brewpiless has the "onboard" option of passwords, softAP and it has its own www folder(no need for rpi). Other that that they are more or less alike. You can run BP on wifi as well, just a little tweek.
 
The only difference is that brewpiless has the "onboard" option of passwords, softAP and it has its own www folder(no need for rpi). Other that that they are more or less alike. You can run BP on wifi as well, just a little tweek.
I flashed the ESP using BrewPi with WIFI within Fermentrack, set the wifi information on the ESP, but Fermentrack is still not seeing it. Is there another step I'm missing?
 
I flashed the ESP using BrewPi with WIFI within Fermentrack, set the wifi information on the ESP, but Fermentrack is still not seeing it. Is there another step I'm missing?

There shouldn't be. Is your Raspberry Pi connected on the same WiFi network as your ESP? Are you using the guided setup to find/install the ESP?
 
There shouldn't be. Is your Raspberry Pi connected on the same WiFi network as your ESP? Are you using the guided setup to find/install the ESP?
Yes to both. I tried running NMAP to see if I could find what IP address the ESP has, but I didn't see anything that jumped out at me for which device was that. And, maybe that's the problem. Maybe the ESP just isn't getting an IP address for some reason.
 
Does the Brewpiless firmware support Brewpiless pinout? (it did differ the last time I testet it) D5/D7 etc.
 
Does the Brewpiless firmware support Brewpiless pinout? (it did differ the last time I testet it) D5/D7 etc.

I just updated the version of the BPL Firmware available within Fermentrack to use the "thorrax" variant which is the same pinout as the ESP8266-BrewPi firmware. Should be good if you flash now.
 
Hi,

I'm new to this and I think I'm in a dead end. I've installed fermentrack, with some problems on the way, and got the thorrak break out board hooked up, but i can't get any of my temp sensors working. They're not on the "available devices" list, and no temp shows up on the dashboard. I've tried using the RJ break out board and also connected the ds18b20 directly to the esp8266 without any luck. Am I missing something?
 
Hi,

I'm new to this and I think I'm in a dead end. I've installed fermentrack, with some problems on the way, and got the thorrak break out board hooked up, but i can't get any of my temp sensors working. They're not on the "available devices" list, and no temp shows up on the dashboard. I've tried using the RJ break out board and also connected the ds18b20 directly to the esp8266 without any luck. Am I missing something?

Do you have an LCD hooked up? If so, try flashing the "WiFi Reset" firmware. It does a test of your DS18B20 sensors and will let you know if they might happen to be in parasitic mode (which could cause that)

Separately, with the RJ-11 breakout board - which version of the board do you have? Is it v1.1 (the one linked here)? Check the pinout text on the back of the board, and compare it to see. There was an earlier version (v1.0) which requires a different type of RJ-11 cable than most people have.
 
St. Patricks Day Update

I just pushed live a massive update to Fermentrack which - if it goes well - should barely be noticed by anyone (aside from the mandatory manual upgrade requirement). With this update, Fermentrack is now compatible with both Python 2 and Python 3.

In the short term, this means very little. Python 2 installations will now have a black "box" displayed instead of the degree symbol on the LCD readout for BrewPi controllers, but aside from that there should be no added/lost functionality. Python 3 installations will see everything exactly as it was before. The main reason for this is that I'd like Fermentrack to work well into the future, and many of the packages that Fermentrack relies upon are discontinuing long term Python 2 support.

That said, there is a mandatory manual upgrade that will be required in order for Fermentrack to continue to work. I am no longer testing against Python 2 installations, so future updates may cause Fermentrack to cease to function. I'll try to keep things working through at least the end of April to give everyone a chance to update, but - honestly - it's easy and quick. Just do it now. You'll be without Fermentrack for about an hour at most.


Running the Manual Upgrade

Updating Fermentrack to use Python 3 is really easy:

  1. Very important! Update to the latest version from GitHub (can be done from within Fermentrack)
  2. SSH into Fermentrack as the 'pi' user (or another user that can sudo)
  3. Run 'curl -L install-python3.fermentrack.com | sudo bash'

Seriously - that's it. One command. It may take awhile to install, but once it's done everything should continue to work as it did before.


Bugs & Other Issues

Although I've attempted to test all of the existing Fermentrack functionality under both Python 2 and 3, as well as the 2 --> 3 upgrade path there almost certainly are a few bugs out there that I missed as part of this conversion. If you encounter anything (other than the missing degree symbol on the LCD printout) as always - please post about it, send me a PM, or raise an issue on GitHub.
 
After months and month of Fermentrack working well last week it stopped connecting to script again.

IMG_2583.jpg


IMG_2584.jpg


ESP connected via USB to an RPI zero.

Did update last week, I’ll raise an issue on Github with the logs but just wondered whether anyone else has been getting this issue after long periods of use?
 
St. Patricks Day Update

I just pushed live a massive update to Fermentrack which - if it goes well - should barely be noticed by anyone (aside from the mandatory manual upgrade requirement). With this update, Fermentrack is now compatible with both Python 2 and Python 3.

In the short term, this means very little. Python 2 installations will now have a black "box" displayed instead of the degree symbol on the LCD readout for BrewPi controllers, but aside from that there should be no added/lost functionality. Python 3 installations will see everything exactly as it was before. The main reason for this is that I'd like Fermentrack to work well into the future, and many of the packages that Fermentrack relies upon are discontinuing long term Python 2 support.

That said, there is a mandatory manual upgrade that will be required in order for Fermentrack to continue to work. I am no longer testing against Python 2 installations, so future updates may cause Fermentrack to cease to function. I'll try to keep things working through at least the end of April to give everyone a chance to update, but - honestly - it's easy and quick. Just do it now. You'll be without Fermentrack for about an hour at most.


Running the Manual Upgrade

Updating Fermentrack to use Python 3 is really easy:

  1. Very important! Update to the latest version from GitHub (can be done from within Fermentrack)
  2. SSH into Fermentrack as the 'pi' user (or another user that can sudo)
  3. Run 'curl -L install-python3.fermentrack.com | sudo bash'

Seriously - that's it. One command. It may take awhile to install, but once it's done everything should continue to work as it did before.


Bugs & Other Issues

Although I've attempted to test all of the existing Fermentrack functionality under both Python 2 and 3, as well as the 2 --> 3 upgrade path there almost certainly are a few bugs out there that I missed as part of this conversion. If you encounter anything (other than the missing degree symbol on the LCD printout) as always - please post about it, send me a PM, or raise an issue on GitHub.

@Thorrak Everything seemed to work well during the update process, nothing odd from the update script during update where shown on the screen, but after the update I get this:

502 Bad Gateway
nginx/1.6.2
 
@Thorrak Everything seemed to work well during the update process, nothing odd from the update script during update where shown on the screen, but after the update I get this:

502 Bad Gateway
nginx/1.6.2

Give it a few minutes & try refreshing. If that doesn't work, try running the following command and PM me the results:

ps -xauf | grep fermentrack


...and then try restarting the Raspberry Pi while waiting for a response. ;)
 
Give it a few minutes & try refreshing. If that doesn't work, try running the following command and PM me the results:

ps -xauf | grep fermentrack


...and then try restarting the Raspberry Pi while waiting for a response. ;)

Already done reboot and have waited several hours. I`l PM you the results from the grep command in a few minutes. Thanks. Bold enough to update my production pi this time ;)

Results:


pi@fermentrack:~ $ ps -xauf | grep fermentrack

avahi 462 0.0 0.2 3872 2428 ? Ss 11:48 0:00 avahi-daemon: running [fermentrack.local]

pi 2759 0.0 0.1 4244 1812 pts/0 S+ 13:32 0:00 \_ grep --color=auto fermentrack

pi@fermentrack:~ $
 
Same thing happened to me after upgrading.

When you say upgrading, do you mean the GitHub upgrade, or the Python 3 upgrade?

If you did the Python 3 upgrade, did you update from GitHub before running the Python 3 upgrade? If you didn't do the Python 3 upgrade, can you try running it now? (It will take ~1 hour, unfortunately, but it will likely resolve the issue)
 
When you say upgrading, do you mean the GitHub upgrade, or the Python 3 upgrade?

If you did the Python 3 upgrade, did you update from GitHub before running the Python 3 upgrade? If you didn't do the Python 3 upgrade, can you try running it now? (It will take ~1 hour, unfortunately, but it will likely resolve the issue)

In my case I did excactly what where written on the page - one more step then you hav written here.
"sudo apt-get update" first.

To clearify: New version availible, did that upgrade, then there where another update availible. This update where a text-file with the prosess for installing python 3 and then the "curl" update. Python update stated, since root access is missing, you have to do "xxx" followed by the sudo command
 
Last edited:
When you say upgrading, do you mean the GitHub upgrade, or the Python 3 upgrade?

If you did the Python 3 upgrade, did you update from GitHub before running the Python 3 upgrade? If you didn't do the Python 3 upgrade, can you try running it now? (It will take ~1 hour, unfortunately, but it will likely resolve the issue)
I upgraded from GitHub through Fermentrack, loaded fine. Then, I did the command line upgrade for Python 3. 'curl -L install-python3.fermentrack.com | sudo bash'

That ran without errors. Once that was finished, I rebooted. Loading Fermentrack afterwards gave me the gateway error.
 
I upgraded from GitHub through Fermentrack, loaded fine. Then, I did the command line upgrade for Python 3. 'curl -L install-python3.fermentrack.com | sudo bash'

That ran without errors. Once that was finished, I rebooted. Loading Fermentrack afterwards gave me the gateway error.

I did the same excact thing, except I also did the "sudo apt-get update" - in front, as stated on the text message.
 
I updated but did not update python. Just the automated fermentrack update. After the update it is not seeing my Arduino. It says the script is starting then no data.
IMG_1521386741.441757.jpg
IMG_1521386751.829845.jpg
 
So all of my testing of the Python 2 to 3 upgrade was done on Stretch - it sounds at the moment like upgrades on Jessie may be having issues due to problems with a custom version of pip that Raspbian included. Fun times.

Working on building a test rig now.
 
So all of my testing of the Python 2 to 3 upgrade was done on Stretch - it sounds at the moment like upgrades on Jessie may be having issues due to problems with a custom version of pip that Raspbian included. Fun times.

Working on building a test rig now.
I haven't done the python update yet should I do a version update from Jessie to Stretch first?
 
I'm on Stretch. I did the update from Github, the apt-get update, and then the Python bash. I am getting the bad gateway error.
 
Same thing on new fresh install - Strech, Bad Gateway there as well, I have send all you asked for on PM
 
I did the full update, started fermentrack but when I try to access my devices or go into settings I get a
TemplateDoesNotExist

am I the only one getting this?

Edit: Did a restart, its all working now :)

Edit #2: But flashing a new firmware does not work, this is the error log:

Environment:


Request Method: GET
Request URL: http://10.0.1.5/firmware/

Django Version: 1.11.11
Python Version: 3.5.3
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app.apps.AppConfig',
'firmware_flash.apps.AppConfig',
'gravity.apps.GravityAppConfig',
'constance',
'constance.backends.database',
'huey.contrib.djhuey']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "/home/fermentrack/venv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)

File "/home/fermentrack/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)

File "/home/fermentrack/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/fermentrack/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
23. return view_func(request, *args, **kwargs)

File "/home/fermentrack/fermentrack/app/decorators.py" in _wrapped_view
27. return view_func(request, *args, **kwargs)

File "/home/fermentrack/fermentrack/firmware_flash/views.py" in firmware_select_family
57. if config.FIRMWARE_LIST_LAST_REFRESHED < timezone.now() - datetime.timedelta(hours=24):

Exception Type: TypeError at /firmware/
Exception Value: unorderable types: str() < datetime.datetime()
 
Last edited:
Did a complete fresh reinstall of Stretch one more time. Run sudo apt-get update after install. Then installed Fermentrack as by curl command on GitHub - still no repons.

Only http answer is: 502 Bad Gateway, nginx/1.10.3

Logs says something like missing Jango - seems like I`m lost in space whitout temp control.
 
So is this going to work on jessie? Or is this just stretch?

I guess it`s working with @Thorrak latest fix for python3 installation. I desided to swith to Stretch before the fix where out, so not possible for me to do a test.

On the other hand. It do work on Stretch now. I used the Raspian Light image, did the install from the github

1. Download Stretch - https://downloads.raspberrypi.org/raspbian_lite_latest
2. Use Etcher and transfer to SD card.
3. Boot your pi, rund raspi-config and enable SSH
4. Install Fermentrack "curl -L install.fermentrack.com | sudo bash"
5. Update the python enviroment "curl -L install-python3.fermentrack.com | sudo bash" (might be optional since Thorrak has found a fix - and probably integrated it)
6. Reboot
7. Visit your Fermentrack website by local IP address.

I had to use the "Add temp Controller (Advanced) in my case to get my already running fermentors into the GUI.

upload_2018-3-19_0-25-50.png


Did it by writing in the IP adress directly - since my mDNS did not find any of the fermentors. (seems it is a known issue, after searching a bit by spesific mDNS topic and Switch)

upload_2018-3-19_0-28-50.png
 
Last edited:
@stbernts @CadiBrewer @georgedamonkey -- I just pushed another update live which should fix the issues upgrading. Try re-running the Python 3 upgrade script:

As the 'pi' user, run:
curl -L install-python3.fermentrack.com | sudo bash
I hate to say it, but still getting the 502 Bad Gateway error.

After running the above upgrade script, and that ran error free. But, still the error when loading Fermentrack. I did reboot, but still no luck.
 

Latest posts

Back
Top