The SparkFun ESP8266 Thing and espeasy
I had an old SparkFun ESP8266 Thing laying around and decided that I wanted to install espeasy on it. Why was I interested in espeasy? It's new to me, but it seemed to provide a lot of leverage to someone wanting to monitor and/or control remote sensors/devices. Specifically:
- OTA software updates!
- Builtin support for many common sensors, e.g., DHT11, DHT22, RFID readers, analog input, IR, switches, displays, etc., etc.
- Web-based device configuration after initial software install.
- Multiple sensors/controls on a single device.
- Works with Sonoff devices (look for 'switches'). These are fantastic!
- MQTT support
- Integrations with Domoticz, OpenHAB
espeasy doesn't explicitly say that it supports Home Assistant, but since both support MQTT, I assume that this is possible. I'm new to Home Assistant as well and am just exploring options at this point.
These are my installation notes.
I used a SparkFun ESP8266 Thing and a SparkFun FTDI Basic Breakout - 3.3V. I liked the Thing at the time, because it has support for LiPo power and charging. Though it costs around 2X of what a generic NodeMCU board goes for now, it was still cheap. The FTDI Breakout made it very easy to flash the 8266 without using jumpers.
Note that the Thing only has 512K of flash, which means that espeasy will not support OTA on it. That's OK with me for now, as I just want to get espeasy up an running to understand its basic capabilities and setup a POC. I'll get new devices when I want to explore OTA.
Obtain the firmware here. Note that there are images for various flash sizes. I use the 512K image in the command below.
I decided to use esptool.py to burn the image to flash because it's in python and it's supported by Espressif. I installed it with pip.
Here's the command that worked for me:
$ esptool.py -p /dev/cu.usbserial-AI03KZNK \ --baud 115200 write_flash 0x00000 \ ~/Downloads/ESPEasy_R120/ESPEasy_R120_512.bin
The actual device and image location may differ.
Once downloaded, the Thing will go into access point mode. It will have an SSID of ESP_0. Connect to the AP using a PC and provide the password 'configesp'. I did this on my desktop and it assigned my desktop the IP of 192.168.4.2. I assumed that the Thing must be 192.168.4.1, so I typed that in the address bar of my browser. I was presented with the initial setup page. So far so good. This was all a little muddy to me initially and I'm surprised that it isn't explained more clearly in the documentation.
In the setup page, enter the SSID and password for the WiFi access point you wish the Thing to connect to. Once this is done, the Thing will connect to the AP that was just provisioned. After letting the countdown in the setup page window expire, I clicked the Proceed to main config link and was taken to 10.0.1.11, which was the config page for espeasy on the Thing. Overall, it's a very slick experience.
I ran across an excellent note on using espeasy on Sonoff with Home Assistant.