There is an awful lot of people doing hobby projects with the ESP8266. I did not want to come up with the 47th incarnation of something, so the question came up, what an interesting project could look like. In the end I decided to develop a solution for managing a multitude of ESP8266-based devices. From a high-level perspective this will include the following components:
- CMDB: holds information about all devices
- Bootstrapper: prepares the raw module for all further work
- Security Manager
- Lifecycle Manager: Reference processes “from cradle to grave”
In my professional life I have been doing a lot of work on SDLC (Software Development Lifecycle) and configuration management, so the above project choice seemed a natural fit. It also happens that I am deeply interested in both topics and strongly think that poor application of them is often responsible for IT project failures.
Mostly as a reminder for myself here is a link to a free book about the ESP8266. It dates from August 2015, so a few things have happened since; including the announcement of its successor, the ESP32 (forum here).
For someone like me who comes from a non-embedded background (I specialize in things like EAI, SOA, etc.) the ideas of the NodeMCU firmware are really appealing. A nice scripting language, a slick GUI for rapid prototyping (ESPlorer) together with a highly active community seemed a perfect fit.
Unfortunately it did not work for me. The whole setup was unstable and I spent many hours to get a prototype (WiFi and MQTT connection) working reliably. I failed miserably with erratic behavior of the system. Sometimes a code change was “detected”, sometimes the old code was still executed. Compiling helped often but not always.
There are others who made the same experience and obviously spent more time on trying as well as the write-up (e.g. this link). I will now experiment with the Arduino IDE extension.
I feel happy for all those people who use NodeMCU without issues and hope to rejoin them as soon as possible!
After many, many years I rediscovered electronics as a hobby in 2015 and started playing around with sensors connected to an Arduino Uno R3 and Raspberry Pi. It was fun to link them with motion detection sensors and switch lamps on and off. One drawback, however, was the pricing of those components, if you want to have quite a few of them connected by WiFi.
This was when I stumbled over the ESP8266 microcontroller. It is very small, really cheap (around 2 Euros if you order in China) and has WiFi built in already. The downside, compared to an Arduino, is that you need to take care of a lot of things on your own:
- Everything runs on 3.3 volts and 5 volts will kill the thing
- You need to get a USB-to-serial converter with 3.3 volt signal level
- Flashing is less convenient, since you need to change jumpers between normal and upload mode
But there is a really vibrant community out there and many problems have already been solved. So I will start writing about various aspects of this and look forward to feedback.