BrewPi@ESP8266, no need of RPI and Arduino.

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.
Here is a screen shot

Atom.JPG
 
The screen shot is of the binary file.
you need to go to the main branch download all the files and edit: platform.ini
Then compile all the files (with the software above)to create a new Binary! which you then upload to the wemos.
 
New screenshot. I added the text and then hit the checkmark on the left.It looked like it complied.Not sure what to do next.

Undo the change you made on line 38.

change line 15 to exact this

Code:
build_flags = -Wl,-Tesp8266.flash.4m.ld  -DBOARD=Thorrak_PCB -DOLED_LCD=true -DEnableGlycolSupport

Connect your D1mini or NodeMcu, hit the ARRAOW icon below checkmark.

The upload should begin, and you will see the progress.
 
I'm not interested in Glycol support can I leave off the last part of the code?
Undo the change you made on line 38.

change line 15 to exact this

Code:
build_flags = -Wl,-Tesp8266.flash.4m.ld  -DBOARD=Thorrak_PCB -DOLED_LCD=true [COLOR="Red"]-DEnableGlycolSupport
[/COLOR]

Connect your D1mini or NodeMcu, hit the ARRAOW icon below checkmark.

The upload should begin, and you will see the progress.
 
You can build any thing you want by modify the platform.ini file.

Add to build_flags to enable the options
-DEnableGlycolSupport
-DBOARD=Thorrak_PCB

And if you want OLED LCD,
-DOLED_LCD=true

There are too many combinations that I don't even know if anyone needs once certain combination.

Sweet! I managed to get it up and running with the Thorrak PCB and Glycol.

The only problem I'm having now is wifi. It works great when next to my router and getting 4 bars but is pretty spotty when down in my garage and only getting 2 bars. It's strange because I never had any issues with the Fermentrack firmware down in my garage.
 
Sweet! I managed to get it up and running with the Thorrak PCB and Glycol.

The only problem I'm having now is wifi. It works great when next to my router and getting 4 bars but is pretty spotty when down in my garage and only getting 2 bars. It's strange because I never had any issues with the Fermentrack firmware down in my garage.


First of all, the WiFi signal is the signal of you AP that ESP8266 receives. The signal strength should be similar for any firmware on the same hardware. I use the timer "similar" because the signal value changes every seconds, but it should be in a range. You won't be able to change that fact unless using a D1 pro with external antenna.

The traffic of Fermentrack is less than BrewPiLess. The webpages are stored in ESP8266 for BPL. The pages, in usual conditions, are stored in cache. Once you successfully load the pages, it should be available and rendered quickly. The "connection" between your browser and BPL is realized by ServerSideEvent. According to the specification, ServerSideEvent is controlled and reconnected by the browser. However, I found the browser doesn't establish the connection. The different behaviors of browsers is a pain of javascript developer. I've tried different ways to cover it but failed.

BTW, my BPL in my garage also reports TWO bars. It works fine.
 
First of all, the WiFi signal is the signal of you AP that ESP8266 receives. The signal strength should be similar for any firmware on the same hardware. I use the timer "similar" because the signal value changes every seconds, but it should be in a range. You won't be able to change that fact unless using a D1 pro with external antenna.

The traffic of Fermentrack is less than BrewPiLess. The webpages are stored in ESP8266 for BPL. The pages, in usual conditions, are stored in cache. Once you successfully load the pages, it should be available and rendered quickly. The "connection" between your browser and BPL is realized by ServerSideEvent. According to the specification, ServerSideEvent is controlled and reconnected by the browser. However, I found the browser doesn't establish the connection. The different behaviors of browsers is a pain of javascript developer. I've tried different ways to cover it but failed.

BTW, my BPL in my garage also reports TWO bars. It works fine.

Thanks, that makes a lot of sense. I switched to a less crowded wifi channel on my router and things are better. The wifi signal strength isn't any better but I'm able to load the web page and consistently connect to the controller. Previously I wouldn't be able to get the page to load and when it did the controller connection would go in and out.
 
I just implemented two new features for iSpindel.
1. "Brew and Calibrate"
You don't need to calibrate iSpindel in advance but calibrate it when using it.
You will need to tell BPL the real gravity values so that BPL can interpret the TILT values into gravity.
At the end of the brew, the formula is available as well as the chart of gravity change.

Detail instruction:
https://github.com/vitotai/BrewPiLess/tree/v24-ispindel#brew-and-calibrate-ispindel

2. Using iSpindel as Beer temperature sensor.
Although it might work, I haven't tested it in a real brew. Well, I am not sure if I will do it. Try at your own risk.

These features are in a preview branch, and you will have to build the image by yourself:
https://github.com/vitotai/BrewPiLess/tree/v24-ispindel
 
Whatever you want it to be. You tell it how often to transmit in the configuration. I believe it sends all of its data at the interval defined...


I've had it send data every 15 seconds for testing the tilt, and every 5 minutes for testing the battery. And everything in between for whatever reason...
 
Out of curiosity, how frequently does the iSpindel report back with the temperature data?

It is configurable. To use it for temperature control, I bet something like 1 - 3 minutes is maximum.

BTW,
Sam, the creator of iSpindel, said he has tried his iSpindel to report at 15s interval, and it ran for 14 days.
 
It is configurable. To use it for temperature control, I bet something like 1 - 3 minutes is maximum.



BTW,

Sam, the creator of iSpindel, said he has tried his iSpindel to report at 15s interval, and it ran for 14 days.



I ran it at every 20mins and it ran for over 2 months or so.

I only need it for Gravity really so could stretch it out even longer.
 
Hi,

my friends from Polish forum found out that default PID settings are weird. Kd is a negative value which should not be?
Maybe there should be easy change of the PID values is the settings and not only through CMD?
 
Hi,

my friends from Polish forum found out that default PID settings are weird. Kd is a negative value which should not be?
Maybe there should be easy change of the PID values is the settings and not only through CMD?

I have to admit that I know nothing about PID algorithm. The default values work fine for me and seems to be fine for others.

The parameters can be changed by the way described here:(Sorry, I don't speak/write Polish)
https://github.com/vitotai/BrewPiLess#json-commands
 
I tried to build this version and get the error below. I didn't get this error when building the 2.3.3 version a few weeks ago.

In file included from src\BrewPiLess.cpp:57:0:
src\ExternalData.h:9:32: fatal error: TempSensorWireless.h: No such file or directory
#include "TempSensorWireless.h"
^
compilation terminated.
src\DeviceManager.cpp:45:32: fatal error: TempSensorWireless.h: No such file or directory
#include "TempSensorWireless.h"
^
compilation terminated.
*** [.pioenvs\nodemcuv2\src\BrewPiLess.o] Error 1
In file included from src\DataLogger.cpp:12:0:
src\ExternalData.h:9:32: fatal error: TempSensorWireless.h: No such file or directory
#include "TempSensorWireless.h"
^
compilation terminated.
*** [.pioenvs\nodemcuv2\src\DeviceManager.o] Error 1
*** [.pioenvs\nodemcuv2\src\DataLogger.o] Error 1
In file included from src\ESPUpdateServer.cpp:9:0:
src\ExternalData.h:9:32: fatal error: TempSensorWireless.h: No such file or directory
#include "TempSensorWireless.h"
^
compilation terminated.
*** [.pioenvs\nodemcuv2\src\ESPUpdateServer.o] Error 1
==================================================== [ERROR] Took 2.91 seconds ====================================================

============================================================ [SUMMARY] ============================================================
Environment nodemcuv2 [ERROR]
Environment glycol [SKIP]
Environment oled [SKIP]
Environment thorrax [SKIP]
Environment sonoff [SKIP]
Environment sonoffota [SKIP]
==================================================== [ERROR] Took 2.91 seconds ====================================================
The terminal process terminated with exit code: 1
 
I tried to build this version and get the error below. I didn't get this error when building the 2.3.3 version a few weeks ago.

I forget to add that file. Already pushed. Please try again.
Sorry about that.
 
Thanks. That got it built without any errors. I'll try it out when I get home this afternoon.
 
Hi, regarding changing parameters via JSON commands, is there is a list of default values or can you tell me how to read what a value set to?

Thanks!
 
Hi, regarding changing parameters via JSON commands, is there is a list of default values or can you tell me how to read what a value set to?

Thanks!

use "c" (single lower case c character) to read the default Control Constant.
That should include most control settings.
 
Thanks, that doesn't seem to show mincooltime, mincoolidletime etc?

Is there a way to see these?
 
Thanks, that doesn't seem to show mincooltime, mincoolidletime etc?

Is there a way to see these?

I am 100% sure it will show. You might need to "scroll" to see the minimums.
I don't know other way except tracing the source code.
 
Here is what I get:

16:24:31 ↓ C:{"tempFormat":"c","tempSetMin": 1.0,"tempSetMax": 30.0,"pidMax": 10.000,"Kp": 5.000,"Ki": 0.250,"Kd":-1.500,"iMaxErr": 0.500,"idleRangeH": 1.000,"idleRangeL":-1.000,"heatTargetH": 0.299,"heatTargetL":-0.199,"coolTargetH": 0.199,"coolTargetL":-0.299,"maxHeatTimeForEst":600,"maxCoolTimeForEst":1200,"fridgeFastFilt":1,"fridgeSlowFilt":4,"fridgeSlopeFilt":3,"beerFastFilt":3,"beerSlowFilt":4,"beerSlopeFilt":4,"lah":0,"hs":0}

Am I being stupid? I just don't see it!

Cheers!
 
Here is what I get:

16:24:31 ↓ C:{"tempFormat":"c","tempSetMin": 1.0,"tempSetMax": 30.0,"pidMax": 10.000,"Kp": 5.000,"Ki": 0.250,"Kd":-1.500,"iMaxErr": 0.500,"idleRangeH": 1.000,"idleRangeL":-1.000,"heatTargetH": 0.299,"heatTargetL":-0.199,"coolTargetH": 0.199,"coolTargetL":-0.299,"maxHeatTimeForEst":600,"maxCoolTimeForEst":1200,"fridgeFastFilt":1,"fridgeSlowFilt":4,"fridgeSlopeFilt":3,"beerFastFilt":3,"beerSlowFilt":4,"beerSlopeFilt":4,"lah":0,"hs":0}

Am I being stupid? I just don't see it!

Cheers!

The minimum settings are only available for Glycol build(or if SettableMinimumCoolTime is set to true.
I might make it default setting from next release v2.4.)
 
OK, thanks. To save rebuilding it (i'm using an OLED) i'll just wait and see if you add it to 2.4 :) Thanks!
 
I've looked and searched the internet and can't find an answer to my question. I'm trying to run brewpiless on a Wemos D1 pro mini 16MB and cant get it to work when compiling or uploading the bin. The bin works somewhat when uploading using 16MB as the advanced option, but gives errors on everything I save. Is there something simple that I'm overlooking?
 
I've looked and searched the internet and can't find an answer to my question. I'm trying to run brewpiless on a Wemos D1 pro mini 16MB and cant get it to work when compiling or uploading the bin. The bin works somewhat when uploading using 16MB as the advanced option, but gives errors on everything I save. Is there something simple that I'm overlooking?

I have a D1 pro. It seems to work fine.
What "advanced option" do you mean? What kind of error did you have?
 
I wish someone would post a screenshot of Atom and the modifications to platform.ini to get OLED and thorraks board to run.

I actually use platformio in CLion for all of my development work. I tried Atom for awhile, but just couldn't get into it. I'm too sold on JetBrains products it feels like.

If you have a preferred IDE, you should check - there might be platformio support.
 
I have a D1 pro. It seems to work fine.
What "advanced option" do you mean? What kind of error did you have?

I'm sure it's just something I'm overlooking, but to get the AP brewpiless to even come up I have to use the esp8266 flasher and change the flash size in the advanced settings to 16MB. If I leave it at the default I get an AP with esp at the beginning and some random numbers. Then after I connect to the AP brewpiless I can't get it to use the AP soft setting, I have to connect it to my home wifi. When I go to the main brewpiless page any get failed:500 as an error anytime I try to save a setting.
 
I'm sure it's just something I'm overlooking, but to get the AP brewpiless to even come up I have to use the esp8266 flasher and change the flash size in the advanced settings to 16MB. If I leave it at the default I get an AP with esp at the beginning and some random numbers. Then after I connect to the AP brewpiless I can't get it to use the AP soft setting, I have to connect it to my home wifi. When I go to the main brewpiless page any get failed:500 as an error anytime I try to save a setting.

I checked and found that I am using the D1 pro as a 4Mbyte ESP8266.

It seems that 16Mbyte isn't official supported:
https://github.com/platformio/platform-espressif8266/issues/8

The discussion in that thread mention that the addresses of OTA and WiFi credentials might have conflict with SPIFFS with 16M. You might need to do the whole hack to support full access to 16M instead of just changing it at flasher.
 
I checked and found that I am using the D1 pro as a 4Mbyte ESP8266.

It seems that 16Mbyte isn't official supported:
https://github.com/platformio/platform-espressif8266/issues/8

The discussion in that thread mention that the addresses of OTA and WiFi credentials might have conflict with SPIFFS with 16M. You might need to do the whole hack to support full access to 16M instead of just changing it at flasher.

So it should work when uploading the bin with the flasher setup as 4M? I can't seem to get it to work
 
Well I found the issue. I bought some robo-dyn Wemos D1 pro minis off amazon and there's something fishy about them. When I had esptool.py detect the amount of flash it came back with 2mb. So when I altered the platformio.ini to use 2mb as the flash size it worked fine. So either these aren't 16mb like they should be or there's some setting I need to fix. Thanks for your help. Is it possible I'm thinking 16MB when in reallity it's 16mb which is 2MB?
 
Back
Top