Fermentrack: Fermentation monitoring & BrewPi-www Replacement for Raspberry Pi

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.
Has anyone experienced an issue of the automatic or semi-automatic installation scripts hanging up at building wheel for numpy? I reformatted my microSD and re-loaded Buster following the preparing a Pi guidelines in the installation instructions, and now cannot get Fermentrack to install. I couldn't find this issue mentioned in FAQs anywhere, so I'd appreciate any suggestions.
 
View attachment 682523
I believe I have the wiring correct, but all I get when trying to configure the pins for the temp probes are 4 default pins. Does the relay need to be hooked up for the pins to be seen for some reason. I'd appreciate any help.
I see the following pins. Do I need to update something. I've even removed the arduino and readded it

Pin 2 ( 2 (Act 3))
Pin 5 ( 5 (Act 2))
Pin 6 ( 6 (Act 1))
Pin 19 (A5 (Act 4))

Just for anyone in the future that has the same issue I had of the temp probes not showing up. I just didn't read everything exact and used new firmware instead of legacy firmware.
 
I don't know much useful about Fermentrack but if it follows the paradigms used on BrewPi you should be able to dictate which Arduino is assigned which logical device using the /etc/udev/rules.d/99-arduino.rules file.

For a multi-chamber BrewPi setup, the process goes like this:

Remove all but one UNO from the USB ports and hubs, then run these commands:

$ udevadm info -a -n /dev/ttyACM0 | less > info.log
$ nano info.log [LOOK for the ATTRS{serial} for Arduino device]

looking at parent device '/devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3.4':
KERNELS=="1-1.3.4"
ATTRS{manufacturer}=="Arduino (www.arduino.cc)"
ATTRS{serial}=="85336303532351F0A031"

Repeat for additional UNOS using the same physical USB port (remove the previous UNO, connect the next, etc).

Record all of the serial numbers and note which belongs to which UNO. Then create the rules files, assigning each UNO to a unique SYMLINK name:

$ sudo nano /etc/udev/rules.d/99-arduino.rules

SUBSYSTEM=="tty", KERNEL=="ttyACM*" , ATTRS{serial}=="85336303532351F0A031", SYMLINK+="brewpi1", GROUP="brewpi"
SUBSYSTEM=="tty", KERNEL=="ttyACM*" , ATTRS{serial}=="85334333931351F0F020", SYMLINK+="brewpi2", GROUP="brewpi"


Once the udev rules file is created, disconnect your Arduino and then reload udev before connecting all of the Ardiunos to their respective ports. Note it won't matter which physical USB port you plug the device into, you won't be using physical device names, you'll be using the symlink names.

$ sudo /etc/init.d/udev reload

Finally, go to each BrewPi (and Fermentrack, hopefully) instance and edit its config.cfg file to set the symlink port name as the primary to use:
Eg:

$ sudo nano /home/brewpi/brewpi1/settings/config.cfg

scriptPath = /home/brewpi/brewpi1/
wwwPath = /var/www/brewpi1/
port = /dev/brewpi1
altport = /dev/null
boardType = uno

$ sudo nano /home/brewpi/brewpi2/settings/config.cfg

scriptPath = /home/brewpi/brewpi2/
wwwPath = /var/www/brewpi2/
port = /dev/brewpi2
altport = /dev/null
boardType = uno


Hopefully something very close to this will work with Fermentrack...

Cheers!

Thanks! I'll give this a try and report back.

Cheers!
 
Linux assigns TTY numbers based on the order in which devices pop up after a reboot. With multiple Arduinos, this creates an issue as you can't guarantee the order in which each Arduino will appear to the kernel every time. The recommendation @day_trippr had solves it - but you should check that "Prefer connecting via udev" is ticked in the device setup, as that should replicate the functionality he's referring to. If it doesn't, let me know and I can try to see if I can figure out what is happening.

Thanks for the additional instruction Thorrak!
 
Has anyone experienced an issue of the automatic or semi-automatic installation scripts hanging up at building wheel for numpy? I reformatted my microSD and re-loaded Buster following the preparing a Pi guidelines in the installation instructions, and now cannot get Fermentrack to install. I couldn't find this issue mentioned in FAQs anywhere, so I'd appreciate any suggestions.
On buster? Weird. Let me take a look.
 
Having successfully completed my first controller, I'm going to try and make a couple of additional esp based controllers, hopefully in much more cost-effective manner.

I've found there are ESP8266 relay modules available, one nice little combined ESP-01 with dual/quad relays at very little expense from Aliexpress. Only thing is you need to buy a separate USB module for flashing firmware.

Pinouts seem compatible with DS1820b from what I have seen also, fingers crossed on that one.
 
Having successfully completed my first controller, I'm going to try and make a couple of additional esp based controllers, hopefully in much more cost-effective manner.

I've found there are ESP8266 relay modules available, one nice little combined ESP-01 with dual/quad relays at very little expense from Aliexpress. Only thing is you need to buy a separate USB module for flashing firmware.

Pinouts seem compatible with DS1820b from what I have seen also, fingers crossed on that one.
With that board, you might have to change the function of some of the pins in the software
 
Having successfully completed my first controller, I'm going to try and make a couple of additional esp based controllers, hopefully in much more cost-effective manner.

I've found there are ESP8266 relay modules available, one nice little combined ESP-01 with dual/quad relays at very little expense from Aliexpress. Only thing is you need to buy a separate USB module for flashing firmware.

Pinouts seem compatible with DS1820b from what I have seen also, fingers crossed on that one.
Just so you know, the precompiled firmware I have out there definitely will not work with those boards. I don't see what pins you'd use for the DS18b20 sensors, but I'm not saying that it can't be done - just that my imagination isn't quite good enough to picture it.
 
Just for anyone in the future that has the same issue I had of the temp probes not showing up. I just didn't read everything exact and used new firmware instead of legacy firmware.

Good to know, thanks for following back up! I literally had this exact issue a couple of weeks ago.
 
Just so you know, the precompiled firmware I have out there definitely will not work with those boards. I don't see what pins you'd use for the DS18b20 sensors, but I'm not saying that it can't be done - just that my imagination isn't quite good enough to picture it.
I think you may be right. At least for the quad relay versions, which are using TX, RX, GPIO0 and GPIO2 for operating the relays.

Which would mean the 2 channel version might work as there would be (hopefully) two pins available for data of which only one would be needed.

With, as you say, alterations to the firmware. I'm not sure if I'm game enough for that.

I'm still getting my head around all of this.
 
Having successfully completed my first controller, I'm going to try and make a couple of additional esp based controllers, hopefully in much more cost-effective manner.
The pinouts on the ESP01 are as follows:
  1. VCC, Voltage (+3.3 V; can handle up to 3.6 V)
  2. GND, Ground (0 V)
  3. RX, Receive data bit X
  4. TX, Transmit data bit X
  5. CH_PD, Chip power-down
  6. RST, Reset
  7. GPIO 0, General-purpose input/output No. 0
  8. GPIO 2, General-purpose input/output No. 2
Basically you've got pins 7 and 8, and that's not enough to use the BrewPi-derived firmware. You might be able to roll your own with cooling only and OneWire, but since you would need to add a UART and a power regulator you'd be adding to the price again and making things quite a bit more complicated.

Having given information, I now feel like I can ask "why?" Unless you enjoy doing something completely new (in which case it doesn't have anything to do with this thread), why bother?
 
Finally got everything running. Just wanted to thank everyone who worked on this. I just have water in the fermenter now, but it keeps it within a few tenths of a degree. Excited to make some beer and see how it handles fermentation. Do most people have it keep their perfect fermentation temp or let it free rise?
 
Finally got everything running. Just wanted to thank everyone who worked on this. I just have water in the fermenter now, but it keeps it within a few tenths of a degree. Excited to make some beer and see how it handles fermentation. Do most people have it keep their perfect fermentation temp or let it free rise?

I mean, given that you built a temperature controller, as long as it's working you shouldn't be able to let it "free rise" 😁
 
Looking for assistance connecting brewfather to fermentrack. In the online instructions they say Click “Add Brewfather Push Target” at the bottom of the page, however in my fermentrack it just says "add push target". I've copied the link under custom stream into target host and saved but data not being pushed.
 
Last edited:
The pinouts on the ESP01 are as follows:
  1. VCC, Voltage (+3.3 V; can handle up to 3.6 V)
  2. GND, Ground (0 V)
  3. RX, Receive data bit X
  4. TX, Transmit data bit X
  5. CH_PD, Chip power-down
  6. RST, Reset
  7. GPIO 0, General-purpose input/output No. 0
  8. GPIO 2, General-purpose input/output No. 2
Basically you've got pins 7 and 8, and that's not enough to use the BrewPi-derived firmware. You might be able to roll your own with cooling only and OneWire, but since you would need to add a UART and a power regulator you'd be adding to the price again and making things quite a bit more complicated.

Having given information, I now feel like I can ask "why?" Unless you enjoy doing something completely new (in which case it doesn't have anything to do with this thread), why bother?
I may have misunderstood, but TX and RX are able to be used to operate the heating / cooling relays. That leaves two data pins for communication of which only one of which is needed for one wire. If the plan is to control from a remote rpi this is all that’s needed? No need to add a 3.3V regulator as that appears to be built into the relay. As to why, it’s a compact form factor and this would simplify a build quite significantly. Seems ideal for an extra chamber slaved off the main rpi instance of Fermentrack.
Again I’m a complete novice so fully acknowledge I might be off track here.
 
I can barely even see temp line. That's how close it stays.
Capture.PNG
 
Pretty happy with my first attempt at building a fermentrack temperature control unit. It's got a raspberry pi 4, built in 5v 3A power supply, arduino uno, opto isolated relay (which I've powered the relay side separately to the arduino), and all nicely mounted in a case.

Definitely wasn't the cheapest way to do it, but was fun and a good learning experience!

View attachment 683076

View attachment 683077


Good to see another Aussie/Kiwi on this thread :)
 

Attachments

  • 20190418_105107.jpg
    20190418_105107.jpg
    3.2 MB · Views: 24
this would simplify a build quite significantly
If you have to go create your own fork of the Firmware, and create your own circuitry design, and support it yourself, is it simple?

Yes, you can appropriate the TX/RX pins, however, when you start doing things like that you notice strange things happening like the relays chattering on startup (hammers the compressor) or the board not rebooting if the pin is pulled up. I'm not saying you will have these issues, but I've definitely experienced them with other projects.

"Can I?" Yes. "Should you?" Only you can answer that. I can tell you with absolute conviction that any "small change to a fork" takes roughly 15 times longer than you think it will. All that to save $3 and a small breakout board? I'm the absolute WRONG person to justify the time spent on these projects, but I do want you to understand what it is you are thinking about.
 
Hi guys, I tried to update fermentrack today and after about 10 minutes did a refresh and now it won't load. I then rebooted the PI and it still won't load. I get a 502 bad gateway error. Any suggestions??
 
How long should it take? Ive got this far and its just siting there for almost an hour.

WARNING: You are using pip version 19.1.1, however version 20.1.1 is available.


You should consider upgrading via the 'pip install --upgrade pip' command.


Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple


Collecting numpy==1.18.4


Downloading https://files.pythonhosted.org/pack...ce63b801e08dfc37c2efce341977/numpy-1.18.4.zip (5.4MB)


|████████████████████████████████| 5.4MB 638kB/s


Installing build dependencies ... done


Getting requirements to build wheel ... done


Preparing wheel metadata ... done


Skipping bdist_wheel for numpy, due to binaries being disabled for it.


Installing collected packages: numpy


Found existing installation: numpy 1.16.2


Can't uninstall 'numpy'. No files were found to uninstall.


Running setup.py install for numpy ... -

EDIT- It finished eventually but took around 2 hours.
 
Last edited:
How long should it take? Ive got this far and its just siting there for almost an hour.

WARNING: You are using pip version 19.1.1, however version 20.1.1 is available.


You should consider upgrading via the 'pip install --upgrade pip' command.


Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple


Collecting numpy==1.18.4


Downloading https://files.pythonhosted.org/pack...ce63b801e08dfc37c2efce341977/numpy-1.18.4.zip (5.4MB)


|████████████████████████████████| 5.4MB 638kB/s


Installing build dependencies ... done


Getting requirements to build wheel ... done


Preparing wheel metadata ... done


Skipping bdist_wheel for numpy, due to binaries being disabled for it.


Installing collected packages: numpy


Found existing installation: numpy 1.16.2


Can't uninstall 'numpy'. No files were found to uninstall.


Running setup.py install for numpy ... -

EDIT- It finished eventually but took around 2 hours.

Yeah. Believe it or not, this is the faster version. The original version took ~6 hours total. :eek:

That's the problem with trying to support Stretch -- since Python 3.7 isn't installed by default, we have to build everything from source. Definitely recommend Buster when upgrading is possible.
 
Yeah. Believe it or not, this is the faster version. The original version took ~6 hours total. :eek:

That's the problem with trying to support Stretch -- since Python 3.7 isn't installed by default, we have to build everything from source. Definitely recommend Buster when upgrading is possible.
Can I upgrade to buster now? And I so will I have to install Fermentrack from the start again?

Also how would I back up my install of Fermentrack in case I do have to reinstall it? Thanks again.
 
Grab an SD card "reader" and an SD card you can write over, open the Buster desktop, find the "SD Card Copier Utility", and use it...

Cheers!
 
Grab an SD card "reader" and an SD card you can write over, open the Buster desktop, find the "SD Card Copier Utility", and use it...

Cheers!
But I don't already have buster installed. I want to back up my Fermentrack install, then install buster and then re install fermentrack with all of my settings etc intact?

EDIT- I also tried logging into the Pis desktop but it booted to a raspberry pi log in. I entered the details but it just took me to @rapsberrypi. I wanted to access the GUI so I could enable VNC connections so I can connect to it via VNC. But how do I log in to the GUI?
 
Last edited:
Given everything you've posted here, I can't believe you think you have anything of value invested in your current situation.
I'd backup your existing Stretch kit by cloning your currently installed SD card, do an upgrade to Buster, and hope it works.
If it doesn't, you can either re-clone your backup SD card and try again...or punt and start from scratch...

Cheers!
 
Given everything you've posted here, I can't believe you think you have anything of value invested in your current situation.
I'd backup your existing Stretch kit by cloning your currently installed SD card, do an upgrade to Buster, and hope it works.
If it doesn't, you can either re-clone your backup SD card and try again...or punt and start from scratch...

Cheers!
I think your getting my Raspberry Pints issues mixed up with my fermentrack. I don't have any issues with fermentrack other than updating python last night which worked well but just took awhile.
I don't want to have to re calibrate everything for the Ispindel, setup the empty controls again etc etc if I don't have to so wanted to try and save my fermentrack install somehow if thats possible?

Is there a way to JUST back up the fermtrack data? Before I do anything I need to get into the GUI and don't know how to access it. Wth Rpints it just boots straight there automatically.
 
I want to start off by thanking @Thorrak and the rest of the community for all the hard work everyone has done creating Fermentrak, writing/tweaking the firmware, and answering all of the questions. Thank you all very much.

I have my system up and running and tracking a "test" batch so I can tune my system and learn what to expect when i have a real beer fermenting (OK, I do have a nice lager fermenting and Fermentrack is just holding it at lagering temperatures right now). But I'm seeing two issues that I can't explain. First, the graph does not show up on the page:

Screen Shot 2020-06-07 at 8.29.35 PM.png


What am I missing here?

Next, when I go into the controller configuration and try to change my log interval from 60 seconds back to 30 seconds, I get this message: "Device name A device already exists with the name Fermenter1". This happens whether or not the controller is actively controlling and logging a beer.

Any thoughts?
 
[...] Is there a way to JUST back up the fermtrack data? Before I do anything I need to get into the GUI and don't know how to access it. Wth Rpints it just boots straight there automatically.

Yes it's highly likely I was conflated your epic R'Pints issues with Fermentrack problems. Sometimes it's hard to keep track at that fine a level ;)
I guess I should ask: Are you running Fermentrack and R'Pints on the same RPi or on separate machines?
fwiw, if R'Pints goes straight to the tap list you have that RPi set up for "kiosk mode". You'd have to edit your autostart file to comment out the kiosk mode command to let the desktop manager to show.

But...bottom line, if you're running Fermentrack on Stretch, you can upgrade to Buster, and I assume from what I've been reading here that Fermentrack would still work. But I'd still clone your existing SD card first, just out of GPs. And if you've never done it, it's a good time to learn how, and hopefully develop the habit of keeping a known good working SD card for your latest working configuration on hand...

Cheers!
 
Yes it's highly likely I was conflated your epic R'Pints issues with Fermentrack problems. Sometimes it's hard to keep track at that fine a level ;)
I guess I should ask: Are you running Fermentrack and R'Pints on the same RPi or on separate machines?
fwiw, if R'Pints goes straight to the tap list you have that RPi set up for "kiosk mode". You'd have to edit your autostart file to comment out the kiosk mode command to let the desktop manager to show.

But...bottom line, if you're running Fermentrack on Stretch, you can upgrade to Buster, and I assume from what I've been reading here that Fermentrack would still work. But I'd still clone your existing SD card first, just out of GPs. And if you've never done it, it's a good time to learn how, and hopefully develop the habit of keeping a known good working SD card for your latest working configuration on hand...

Cheers!
No, fermentrack and Rpints are running on 2 different RPis. I have cloned my Rpints sd card before and will do it again as soon as I get some new sd cards.

The fermentrack PI isn't booting to the GUI, its booting to a commanline prompt (If thats what its called) Where it asks for my username and password...But Im wondering if thats because I only installed the lite (Headless version) of Stretch... I can't remember. So assuming I did and thats why I can't get to a GUI to clone the sd card how can I simply upgrade to Buster? Or should I just start from scratch?
 
Note for anyone attempting a new install of Fermentrack today/in the next few days - there's currently an issue with Raspbian's apt mirror which is preventing installation of virtually anything using apt from succeeding. A discussion of the issue is here.

Although this is a Raspbian bug - not a Fermentrack one - the Fermentrack install script requires the use of apt and will therefore fail with the following error message:

Code:
::: Installing dependencies using apt-get
::: apt is updated - installing git-core, nginx, python-dev, and a handful of other packages.
::: (This may take a few minutes during which everything will be silent) ...
*** ----------------------------------
*** ERROR ERROR ERROR ERROR ERROR ***

*** ---------------------------------
*** See above lines for error message
*** Setup NOT completed
*** More information in the "install.log" file

There is a workaround discussed in this thread on RaspberryPi.org, but given the magnitude of the issue I'm hopeful it will be addressed shortly.
 
The fermentrack PI isn't booting to the GUI, its booting to a commanline prompt (If thats what its called) Where it asks for my username and password...But Im wondering if thats because I only installed the lite (Headless version) of Stretch... I can't remember. So assuming I did and thats why I can't get to a GUI to clone the sd card how can I simply upgrade to Buster? Or should I just start from scratch?


As you noted, the reason that your Pi is booting to a login prompt is because you installed the "lite" version of Raspbian. Even if you installed the full version of Raspbian, however, Fermentrack is not like RPints in that there is no defined "kiosk" mode available. You can kind of fake it using the full version of Raspbian + a web browser, but it really is designed to be accessed through a separate device via the web interface.

Given the point above, your install might actually be working right now. Try using a web browser on another device (your computer, phone, etc.) to access your raspberry pi - you just might see Fermentrack pop up. If not, I rewrote chunks of the install scripts last night to make them work on Stretch (although they will complain about it) - if you really want to use Stretch, you should be able to reinstall Fermentrack onto it following the fixes I did last night.

The best bet if you have a dedicated Pi for Fermentrack though is to just reinstall Buster from scratch. You might run into the issue I noted above, unfortunately, but once that gets fixed everything should run much more smoothly.
 
As you noted, the reason that your Pi is booting to a login prompt is because you installed the "lite" version of Raspbian. Even if you installed the full version of Raspbian, however, Fermentrack is not like RPints in that there is no defined "kiosk" mode available. You can kind of fake it using the full version of Raspbian + a web browser, but it really is designed to be accessed through a separate device via the web interface.

Given the point above, your install might actually be working right now. Try using a web browser on another device (your computer, phone, etc.) to access your raspberry pi - you just might see Fermentrack pop up. If not, I rewrote chunks of the install scripts last night to make them work on Stretch (although they will complain about it) - if you really want to use Stretch, you should be able to reinstall Fermentrack onto it following the fixes I did last night.

The best bet if you have a dedicated Pi for Fermentrack though is to just reinstall Buster from scratch. You might run into the issue I noted above, unfortunately, but once that gets fixed everything should run much more smoothly.
My fermentrack is working fine and I can access it from any web browser in my wifi network. I upgraded Python and fermentrack to the latest version and had no issues.
(Sorry if I wasnt clear) I was more so talking about upgrading to buster. However given that its working fine should I leave it alone?

I assumed that sooner or later I will need to upgrade to Buster as further updates to fermentrack are released that might only support buster and then would like to be able to keep my fermentrack settings when doing the upgrade.
 
I would set up a backup SD card with Buster and Fermentrack and have it ready to go in case your main SD card goes belly up. I'm not sure what the price of an RPI ZERO is down under but I can pick one up pretty cheap here. You could take your time and set up all of the extras and have it ready to go.
 
I would set up a backup SD card with Buster and Fermentrack and have it ready to go in case your main SD card goes belly up. I'm not sure what the price of an RPI ZERO is down under but I can pick one up pretty cheap here. You could take your time and set up all of the extras and have it ready to go.
Yeah I will do this. RPI zeros are around $30 here so I should buy one set it all up copying the calibration settings etc from the existing fermentrack install.

Cheers.
 
My fermentrack is working fine and I can access it from any web browser in my wifi network. I upgraded Python and fermentrack to the latest version and had no issues.
(Sorry if I wasnt clear) I was more so talking about upgrading to buster. However given that its working fine should I leave it alone?

I assumed that sooner or later I will need to upgrade to Buster as further updates to fermentrack are released that might only support buster and then would like to be able to keep my fermentrack settings when doing the upgrade.

If you can upgrade to Buster without too much trouble, I'd definitely say it's worth it. Although I'm going to try to keep Stretch support going as long as possible, there may come a day when I can't -- and an upgrade becomes required. If it's easy enough to upgrade now, I'd recommend it - but if it isn't, that's fine.
 
Back
Top