ESP Easy is an Open Source project, it is possible to make changes or add modules under development. Dedicated ESP has Easy deposit ( Playground ) experimentation with modules on GitHub on this page. In the previous article, we saw how to install the firmware on an ESP8266 using utility flashtool. In this tutorial we will see how to customize the firmware, export the binary compiled and update the firmware Easy ESP in the air in WiFi (OTA).
Getting the source ESP Easy
Get the source code and the utility of ESP Easy installation on this page. Install ESP Easy to following post.
— Projets DIY (@projetsdiy) October 10, 2016
How to prepare a new ESP Easy firmware
In the ESP Easy directory, go to the sources folder and open the espeasy.ino file in the Arduino IDE.
Before going any further, it must manually install the libraries needed for the firmware. They are available in the Libraries directory. From the IDE, install the following libraries:
Custom firmware with modules from the Playground
Get the modules from the playground and unzip archive: https://github.com/ESP8266nu/ESPEasyPluginPlayground
A forum esp8266.nu page is dedicated to the playground: http://www.esp8266.nu/forum/viewtopic.php?t=718
Attention. The playground modules are under development, so without any guarantee of operation. They are subject to change without notice for developers.
Controllers are prefixed by _C. The plugins are prefixed _P and are numbered between 100 and 199.
The playground contains the following controllers and plugins currently
|_C025||Protocol HTTP generic||X|
|_P100_SRF01||measure of distance by ultrasound – SRF01||X|
|watch from NeoPixel Adafruit||X|
|bridge to Nodo||X|
|_P103_Event||Action on event: boot, timer, user action, time, task||X|
|_P104_SRF02||measure distance by ultrasound – SRF02||X|
|_P105_RGBW||pilot MiLight bulbs||X|
|_P107_Email_Demo||send an email (demo, is not connected to a GPIO)||X|
|_P108_WOL||Wake On Lan. Limited utility because the WiFi module is inactive mode deep sleep||X|
|_P109_RESOL_DeltaSol_Pro||Communication with the solar controller RESOL on Pro||X|
|_P110_P1WifiGateway||to sheild P1 WiFi||X|
|_P111_SenseAir||to retrieve the measures of CO2 S8 sensors and K30 (ongoing) SenseAir||X|
|_P113_SI1145||for sensor SI1145 Adafruit UV, IR, Visible||X|
|_P114_DSM501||for sensor dust DMS501A||X|
|_P115_HeatpumpIR||fly an air conditioning or (heat pump) by IR. Of after the original library of ToniA . Commands supported: power, mode, fan, temperature, tilt vertical and horizontal airflow speed. Key models supported: Panasonic (CASH/E12-E9, E12/E9-DKE, E9/E12-GEUSS E9/E12-NKE), Midea (MSR1 12HRN1 QC2, QC2-12HN1-MOA1), (42NQV035G, 38NYV035H2), Carrier Fujitsu Nocria (AWYZ14, FD-25 MSZ), Sharp AY-ZP40KR, Daikin (RXS25G2V1B, FVXS25FV1B), Mitsubishi Heavy (SRKxxZJ-S, SRKxxZM-S)||X|
|_P120_Thermocouple||to use d thermocouples type K (-200 ° C to + 1350 ° C) MAX6675 or MAX31855||X|
|_P199_RF443_KaKu ] “19459033]||for transmitter / receiver RF Kaku 433 Mhz to control home automation Klik-Aan-Klik-ITU devices||X|
|_P205_FrameOLED||display animated screen OLED 0.96″ SSD1306 monochrome||X|
|_P210_MQTTImport||subscription to a broker MQTT||X|
For certain plugins, you may need to pick up on GitHub of additional libraries.
Note. The memory of the ESP8266 is limited, so it will be limited to the modules required by your application.
Select the ESP8266 board on which you want to install the firmware.
Once you have added the modules, do a check of the code to check if there are additional libraries. Once the firmware is ready, go in the menu frame and start the preparation of the binary file by using the option export binaries compiled .
Binary is created in the source of the firmware folder. For the WeMos, the binary is named ESPEasy.ino.d1 – mini.bin
Update OTA (Over The Air) firmware
ESP Easy firmware supports the updated wireless which is very handy if your project is already in use.
Save the configuration
Even if the update does not remove the configuration, it is best to make a backup of your configuration before doing an update. The configuration file is downloaded automatically to your computer.
Install new firmware
Back on the Tools page, click next to Firmware Load.
Specify the path to the binary file created earlier and then upload.
After installation, the ESP8266 reboots.
Test: animated display SSD1306 OLED (OLED _P205 Frame)
In the previous article we saw how to used a OLED SSD1306 screen. The display is basic (but effective). If you want a nicer view, I propose to test the plugin _P205_FrameOLED that allows to animate the pages of info. If you want to display graphics, it is also a good basis for development.
Start by adding the _P205_FrameOLED plugin in the ESPEasy.ino project. Add the library esp8266-oled – ssd1306.zip located in the same directory as the plugin.
Compile and update the firmware as previously.
Add a new Device. From the list choose Display – OLED SSD1306 Framed. There is an almost identical to the official module page. A new list of choices to select the display speed of each page:
- very slow (very slow)
- slow (slow)
- fast (Fast)
- very fast (very fast)
- without scrolling (moment)
There are 12 lines available. Each line corresponds to a page. The plugin jumps (line) pages empty. I took the small projects of the previous article that shows the temperature and humidity measured by the pressure of a BMP180 and a DHT22.
You can group several lines (between 1 and 4) per page (frame). With one row per page, you will be limited to 10 characters (not what to write a Roman, but at least it’s big). Choose the number of lines per page in the list of choice Lines per Frame (1-4).
And here is how it looks in picture. On the upper part of the screen is the time displayed, the name of the Device and the WiFi reception level. Su the central part, the page (line of text). At the bottom of the screen, a point symbolizes the position of the page in the list.
With 2 lines per page
And 4 lines per page
The playground full of surprises, you test and go further for future DIY projects.