1.Install Arduino IDE 1.6.8 or above (I am using1.6.9)
2.Install ESP8266/Arduino Board
Open “Arduino/Preferences” menu, input the following link at “extra board manager link”
Under “Tool” menu, select “Manage Board” in board selection menu. search esp8266, and install that board setup.
You should have NodeMcu1.0(ESP-12E module) option available under board selection menu. Select that, and choose 4M(3M SPIFFS) as Flash size.
Select the correct Serial port.
The following libraries are needed. Some of them can be found under “Sketch/Import library/Library Management”. The following links are for reference, please use the archives on GitHub.
- ArduinoJson https://github.com/bblanchon/ArduinoJson
https://github.com/tzapu/WiFiManagerI created a brach for adding ad new “Soft AP” option: https://github.com/vitotai/WiFiManager
- ESPAsyncTCP https://github.com/me-no-dev/ESPAsyncTCP
- ESPAsyncWebServer https://github.com/me-no-dev/ESPAsyncWebServer
- ESP8266HTTPUpdateServer (newer version is needed. you might need to manually download the files.) https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266HTTPUpdateServer
- OneWire https://github.com/PaulStoffregen/OneWire
!! Please use the libraries on GitHub. Some of them are modified, while some of them might be updated and incompatible to BrewPiLess.!!!
If you can’t find the library, you have to find the Arduino Library directory, which usually locates at [User directory]/Documents/Arduino/libraries/ on Mac.
Arduino IDE requires the source be in specific path, usually it is
5.[Optional]Upload data files to ESP8266
- NodeMcu 1.0 Board, ESP-12E or D1 mini is possible for those good at these things.
- Two way Relay Board
- Two DS18B20 sensors
- 4.7K resistor.
- [Optional] 20×4 I2C LCD
[Optional] KY-040 Rotary Encoder moduleDon’t use it.
- Power supply to ESP8266. (I use a USB adapter)
** If this photo contains your working and infringe your copyright, please notice me to remove it.
Check the following link for reference, where I got the DS18B20 pictures.
** Note:You need a IO expender to use Rotary Encoder.
- On the first time use or when the network disappears, you have to setup the WiFi. ESP8266 will create a WiFi network named “brewpi”, Use your phone or computer to connect to that WiFi AP. There will be a WiFi setup page popping up. If your phone or computer doesn’t open the setup page automatically, open your browser(Chrome, or Safari), and try to browse to any site, like google.com.
Please reference the following link for network setup：https://github.com/tzapu/WiFiManager
New: After three minutes, ESP8266 will enter AP mode.
- If you are lucky enough to use Apple’s products, you can use URL like “http://brwepi.local”. Otherwise, you have to figure out the IP address by looking up from your router. The main page is the LCD like:
- Touch or Click the LCD, a menu will pop up. Select “Device Setup” is to setup the sensors and actuators. When prompted for username and password, input “brewpi” for both. The interface mimics original BrewPi. You can find the the manual of BrewPi for your reference. Basically, you have to “Refresh Device List” to list sensors and PINs, select the setting and “Apply”.
- “Temperature Management” is used to control the temperature. Select “Beer Const.”, “Fridge Const.”, or “Off”, input the temperature desired, and “Apply”. That’s it.
To use “Beer profile”, you have to edit and save the profile first. The interface mimics original BrewPi again. Please check BrewPi manual for detail instruction.
**Internet connection is necessary for Beer Profile.**
- Temperature logging.
BrewPiLess can log data to clouds or other servers. The “Data Log” menu is for this. ESP8266 will invoke the specified URL with the temperature values at specified period. Because of limitation of resource, HTTPS is not supported. If you want to log data to GoogleSheet, you need to do it indirectly. Please check Github for detail instruction.
I have tried “thingspeak.com”, which does not require https. You can put data to it direct from ESP8266.
Here is the result of my testing:
- “System Config” is used to setup the system related setting.
Host/Network Name: The hostname for mDNS.
User Name & Password：trivial. All pages except the LCD page require authorization.
Always need password：If this option is not set(checked), the access to the “main page”(LCD display) will not require authorization.