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.
I'd go for 2 min. I've been using 2 min logging for brewpi for many ferments and it's fine. I did it because I built an excel file to dump the log data into that I use to generate and interrogate graphs. Excel files get too big with lots of data points. When I use it to monitor mash temps I reset to the lowest time period.

IMO, 10 minutes to 1 hour is enough for gravity reading. Sam wants to use the temperature reading in temperature control, so he wants to use 1 minute. BTW, he is developing an fermentation controller, iRelay.
 
Agreed. 2min was for my temp readings. Would have thought every 1/2 hour for gravity would be more than enough.
 
you have to issue JSON commands directly. Check readme.md at Github for detail.
 
Last edited by a moderator:
Page no longer available.. I too am looking for some hand-holding instructions. I know just enough to be dangerous.. :mug:

I've got 2 of these showing up tomorrow, https://www.amazon.com/gp/product/B06X8ZJG87/?tag=skimlinks_replacement-20

And a windows 10 pc, and a couple Rpi's... I'm trying to read through the whole thread before I start asking stupid questions..

Sorry, I changed the short url format. That page is here: http://vito.tw/?p=460

You should reference the hardware setup only. If you have never used Arduino IDE before, a easier way is downloading the pre-built binary form Github and flashing by NodeMcu Flasher.
https://github.com/nodemcu/nodemcu-flasher


The only advantage of my hack is elimination of RPI. Given the fact that you have RPIs, I would suggest Thorrax or ame's solution:
https://www.homebrewtalk.com/showthread.php?t=575724
https://www.homebrewtalk.com/showthread.php?t=586476
 
Last edited by a moderator:
Well somehow I managed to get them both up and running!!.. Is there a command to set a static IP? I'd like to have them in my reserved ip range at the house.

Also curious about the OLED setup.. I'm thinking one of these will run my Keezer, and having an LCD would be nice.. Would this one work?
http://www.ebay.com/itm/161892594416?_trksid=p2060353.m1438.l2649&ssPageName=STRK:MEBIDX:IT

I have no experience with that LCD, but I have a smaller OLED LCD that is driven by the same SSD1306, like this

http://www.ebay.com/itm/0-96-I2C-II...703656?hash=item41c21f45e8:g:eygAAOSwHsRYEd61

SSD1306 LCD works if you don't use rotary encoder via PCF8574.

You should set the static IP on your router(DHCP server).
 
No encoder used here.. I'll get one of those screens and try it out.

I'm not following on the IP statement. I don't want the ESP to use DHCP, I want it to have a specified IP, as do other things. Simplifies things. I read somewhere earlier today about being able to change the IP through the arduino programming software, but I am not using that, and am not familiar at all with it. I'm guessing that would require recompiling..
 
No encoder used here.. I'll get one of those screens and try it out.

I'm not following on the IP statement. I don't want the ESP to use DHCP, I want it to have a specified IP, as do other things. Simplifies things. I read somewhere earlier today about being able to change the IP through the arduino programming software, but I am not using that, and am not familiar at all with it. I'm guessing that would require recompiling..

BrewPiLess use WiFiManager to setup WiFi network.
That is the page you use to configuration your wireless network. You can use WiFimanager to setup static IP, too.

The problem is that the IP addresses are determined by your router. If you have a DHCP environment, you have to setup the DHCP server to assign static IP to the ESP8266. You can't just set the ESP8266 to a static IP in DHCP environment.

Allow me to remind you that you have only 3 minutes to access the network setup. (It is designed to avoid infinite wait in case of power shortage and the AP doesn't come to live in time.)
 
Many routers provide a way to reserve specific IP addresses based on a client MAC address.
It's a different paradigm but it's a one time deal and a viable alternative if the firmware you're running on the esp8266 doesn't support a static IP address...

Cheers!
 
Many routers provide a way to reserve specific IP addresses based on a client MAC address.
It's a different paradigm but it's a one time deal and a viable alternative if the firmware you're running on the esp8266 doesn't support a static IP address...

Cheers!

Yea I found that in my router. This is a bandaid, but will have to work for now I suppose. Problem is it only allows you assign an IP from your DHCP range. I tend to put things like this outside the DHCP range, in groups that make sense to me...

I'm looking into the arduino IDE, but I've never messed with any of that programming stuff.. It seems there are a couple files than can have code added to make this happen. I'm assuming these files are packaged up in the bin that I flashed to the device. I think this weekend I'll see if I can brick one of these playing with the files and learning to compile the bin...:tank:
 
BrewPiLess use WiFiManager to setup WiFi network.
That is the page you use to configuration your wireless network. You can use WiFimanager to setup static IP, too.

The problem is that the IP addresses are determined by your router. If you have a DHCP environment, you have to setup the DHCP server to assign static IP to the ESP8266. You can't just set the ESP8266 to a static IP in DHCP environment.

Allow me to remind you that you have only 3 minutes to access the network setup. (It is designed to avoid infinite wait in case of power shortage and the AP doesn't come to live in time.)

Noob-ness showing here, but I don't how to get to it in the first 3 minutes. I had to wait until it went AP mode (I believe) then connect to the 'brewpi' network to get things setup.

I don't use the whole range for DHCP. I run DHCP from 10.0.0.100-10.0.0.149. I have a few game servers and things alike that get static IP's outside of this range. I'm sure that if I can figure out the coding part, it will work with a static IP in my environment.

I'm not seeing any options related to setting an IP in the manager.. I can choose my network to connect to, or get info, run softAP, etc, but nothing there allows me to set an IP.
 
Noob-ness showing here, but I don't how to get to it in the first 3 minutes. I had to wait until it went AP mode (I believe) then connect to the 'brewpi' network to get things setup.

I don't use the whole range for DHCP. I run DHCP from 10.0.0.100-10.0.0.149. I have a few game servers and things alike that get static IP's outside of this range. I'm sure that if I can figure out the coding part, it will work with a static IP in my environment.

I'm not seeing any options related to setting an IP in the manager.. I can choose my network to connect to, or get info, run softAP, etc, but nothing there allows me to set an IP.

1. You don't need to set the IP on ESP8266. You need to find out the MAC address of the specific ESP8266, and use it to set your router(DHCP server) to assign a static IP to that specific ESP8266. Then you can use the WiFiManger to select the SSID and enter password.

2. I don't know how you CAN'T connect to it within 3 minutes but CAN connect to it after 3 minutes. Sorry, I can't help.
 
1. You don't need to set the IP on ESP8266. You need to find out the MAC address of the specific ESP8266, and use it to set your router(DHCP server) to assign a static IP to that specific ESP8266. Then you can use the WiFiManger to select the SSID and enter password.

2. I don't know how you CAN'T connect to it within 3 minutes but CAN connect to it after 3 minutes. Sorry, I can't help.

I understand what you are saying. This is a half-assed solution for my problem.

I CAN set the mac to a specific address in my router. This works. Problem is, (for me) I have to choose an IP that is within my DHCP allocation. I don't do this for my own devices.. I set my own devices to a static IP outside that range. This is my end goal with the ESP's...

ie. I'd like to assign the Keezer 10.0.0.30, and Ferm1 10.0.0.31, Ferm2 10.0.0.32, etc... My DHCP hands out addresses to other devices that show up on weekends. It's not the way MY devices run on the network..

I have found the code snippets via google that change/set this. My trouble is not knowing enough about the compiling procedure, or where the code needs to be... This google info is all based off of completely different flashes to the ESP.. I have no idea if it would be a direct add-on, or a change to one of your files... This is where I'm stuck.

I love what you've done, don't get me wrong... This will be running 2 Ferm chambers and a keezer.... It works wonderfully as is.. If this is something that just can't happen, then so be it. It's not a deal-breaker.. I just have anus-situs about the way things are laid out on my network. :mug:
 
I understand what you are saying. This is a half-assed solution for my problem.

I CAN set the mac to a specific address in my router. This works. Problem is, (for me) I have to choose an IP that is within my DHCP allocation. I don't do this for my own devices.. I set my own devices to a static IP outside that range. This is my end goal with the ESP's...

ie. I'd like to assign the Keezer 10.0.0.30, and Ferm1 10.0.0.31, Ferm2 10.0.0.32, etc... My DHCP hands out addresses to other devices that show up on weekends. It's not the way MY devices run on the network..

I have found the code snippets via google that change/set this. My trouble is not knowing enough about the compiling procedure, or where the code needs to be... This google info is all based off of completely different flashes to the ESP.. I have no idea if it would be a direct add-on, or a change to one of your files... This is where I'm stuck.

I love what you've done, don't get me wrong... This will be running 2 Ferm chambers and a keezer.... It works wonderfully as is.. If this is something that just can't happen, then so be it. It's not a deal-breaker.. I just have anus-situs about the way things are laid out on my network. :mug:

It's totally an issue of the router.

First, the static IP MIGHT not need to be in the DHCP range. I usually set my static IPs to the range of 10~20 and DHCP from 101 to 200. Three or four routers I've used without any problem. YMMV, though.

Second, if you set static IP on ESP8266 without setting your router, you might be unable to access it. It depends on how your router handles ARP/RARP, though.

Third, if you can use the WiFiManager to setup the WiFi network, you can setup static IP. WiFIManager also provides the MAC address information that you can used to setup your router. I don't know why you want to go a more difficult route that you might not know how to do.
 
Both the router at the house, and the one at my shop make you use an IP from within the DHCP range. Guessing that's why it's call DHCP reservation. Setting a static IP on a networked device does not stop you from accessing the router. I do this with all my devices (TV's, Xbox's, game servers, etc.) This IS the simple way of doing it, and I know how to build networks very well.
As I stated, it's not a deal breaker, but what you are telling me works, does not work. I'll just live with it and enjoy the beer they will be helping make.
 
My router does not allow for any DHCP exeptions @ all, så a fixed IP would in some cases actually be a nice thing. But if it`s not possible, thats a whole other story :)
 
It's totally an issue of the router.

Any client requesting a conflict-free static address within the full LAN address scope of the router (not the DHCP address scope - that can be a subset of the full LAN address scope) should just plain work without any intervention at the router end (unless MAC filtering is used, but that's a whole 'nuther thing).

First, the static IP MIGHT not need to be in the DHCP range. I usually set my static IPs to the range of 10~20 and DHCP from 101 to 200. Three or four routers I've used without any problem. YMMV, though.

I have a gateway and two downstream routers, and all of them provide LAN address reservation based on client MAC addresses. But, as mentioned, the paradigm is "DHCP Address Reservation", so those reserved addresses have to be within the set DHCP address scope.


Second, if you set static IP on ESP8266 without setting your router, you might be unable to access it. It depends on how your router handles ARP/RARP, though.

If the user configures the client static address correctly, no changes are needed at the router.

Third, if you can use the WiFiManager to setup the WiFi network, you can setup static IP. WiFIManager also provides the MAC address information that you can used to setup your router. I don't know why you want to go a more difficult route that you might not know how to do.

Not certain what that means, but it appears to be rehashing the DHCP Address Reservation paradigm. One only needs a client MAC if using that address assignment model (and/or using MAC filtering).

In any case, the result is not actually a "static IP address".
[edit] Why? Because the client is still using DHCP.

fwiw, I use esp-01 modules as wifi/serial bridges using esp-link, which fully supports static addressing on the esp8266...

Cheers!
 
^^^^ THIS!!

My router only allows reserved IP in the DHCP range.. This must me different across differnt manufacturers..

mDNS does work on my laptop, so once they are setup, this will no longer matter...

:mug:
 
Hi all,

I've just read this whole thread and it looks fantastic. I have a couple of questions:

- For this application, are there any differences between all the available ESP8266 modules? Is extra on board flash utilised? I'd like to buy the best board for this.

- If i'm understanding correctly, the first post of the thread is out of date and you can now remotely view graphs?

Pocketmon, thanks for all your efforts!
 
^^^^ THIS!!

My router only allows reserved IP in the DHCP range.. This must me different across differnt manufacturers..

mDNS does work on my laptop, so once they are setup, this will no longer matter...

:mug:

Well. It was my bad.
I thought there were function for static IP setup, but there isn't. Sorry about that.
 
Hi all,

I've just read this whole thread and it looks fantastic. I have a couple of questions:

- For this application, are there any differences between all the available ESP8266 modules? Is extra on board flash utilised? I'd like to buy the best board for this.

- If i'm understanding correctly, the first post of the thread is out of date and you can now remotely view graphs?

Pocketmon, thanks for all your efforts!

1. 4MByte flash is recommended. NodeMcu v1.0 and WEMOS D1 mini or D1 pro(16M) are good choices.

2. Yes. Now there is temperature logging chart. I can't edit the old post. You can check Github for latest information.
 
Thank you.

So for (1), will your software utilise more memory?

I was going to buy a NodeMCU V3 - Do you recommend those above over the V3?
 
v1.25 - has there been a update in PID logic? The temp in my chambers are now extremly accurate. Did an upgrade yeasterday - never seen such stable temps before. Last 12 hours - temp is 18.47 - 18.52 C - Wow...
 
v1.25 - has there been a update in PID logic? The temp in my chambers are now extremly accurate. Did an upgrade yeasterday - never seen such stable temps before. Last 12 hours - temp is 18.47 - 18.52 C - Wow...

NO. I tried my best not touching BrewPi code.
 
Thank you.

So for (1), will your software utilise more memory?

I was going to buy a NodeMCU V3 - Do you recommend those above over the V3?

AFAIK, V3 is just a version of V1.0. They are all ESP-12E with different breakout board or UART adapter. It should work fine.

https://frightanic.com/iot/comparison-of-esp8266-nodemcu-development-boards/

The local logs are stored in the flash. For a 4M flash, 1M is used for program and 3M is used for SPIFFS as storage.
1M program space is necessary for OTA update because the updating image is first written at the "extra" space and double size of program space is needed.
Some configuration files are stored on SPIFFS also, but they are small. The logs could be bigger. 3M space can record around 6 to 8 months of data. ( The new format after v2.0/v1.2.7 might takes less space and records for a longer period.)
 
One of the things I miss is the possibility to set IP adress manually, cable company has very restricted config options on router - from a customer perspective. DHCP has no config option other than range from-to.
 
One of the things I miss is the possibility to set IP adress manually, cable company has very restricted config options on router - from a customer perspective. DHCP has no config option other than range from-to.

OK. It's done.
I already push it to Github. Now you can set static IP when selecting WiFi network.

It's under my robust testing, but you can try if you want.

BTW, use the following link to erase WiFi setting.
http://[ip or host name]/erasewifisetting
 
OK. It's done.
I already push it to Github. Now you can set static IP when selecting WiFi network.

It's under my robust testing, but you can try if you want.

BTW, use the following link to erase WiFi setting.
http://[ip or host name]/erasewifisetting

Thank you for implementing this. Seems to be working great.

I've got the plexi for the keezer control box, should have the rest of the parts next week (except the OLED, slow boat from china). I'll post up some pics when it's put together..

Thanks again! :mug:
 
Thank you for implementing this. Seems to be working great.

I've got the plexi for the keezer control box, should have the rest of the parts next week (except the OLED, slow boat from china). I'll post up some pics when it's put together..

Thanks again! :mug:

Glad that it works for you.
I extremely feel sorry for insisting that static IP function existed without checking it.
 
Back
Top