Do you like this post? A regular project like the PlaneSpotter Color
takes many hours of my free time to develop and maintain. Would you offer me a beer for my hard work if I was your neighbour? Modern technology called teleportation makes it easy to send me a beer. Just click here
. Thank you!
The ESP8266 chip is really something: cheap and with its Wifi interface capable for Internet-of-Things tasks. You can get boards on Aliexpress for as little as $3, shipping to Europe or US included! OK, so you ordered one, waited (possibly) a few weeks and then it arrived! What do you do with it? How do you program it? I covered a few possibilities in my previous posts: you can use your Arduino and talk with AT commands to the ESP8266, thus saving a lot of money compared to a Wifi shield that often costs $60.- or more. Then you can try to run the ESP8266 standalone. Download the SDK from Espressif (the manufacturer of the chip) and setup your build tool chain and write your own first program in C(++) and write this new firmware to the chip. Or you go for one of the various all-purpose firmwares that allow you to write code directly executed on the chip. I tested two firmwares of this last type in my previous posts: NodeMCU and Frankenstein firmwares. While you write LUA scripts that get interpreted on the chip for the NodeMCU firmware, you get something similar to a busyBox command line interface on the Frankenstein firmware.
I played around with the NodeMCU firmware for a while but you have to upload files to the chip line by line and often the transfer gets interrupted in the middle. It got a little bit better when I switched to a dedicated power supply
. But still, uploading code is cumbersome and takes too much time.
A better way of programming…
What I really wanted is a web based IDE like the one used on the Spark.io platform. The Spark Core is an Arduino compatible chip which initially will be connected to your Wifi network. Once connected it can be programmed in the browser: you use the same code as you’d use for an Arduino, save the file and choose “Flash it to my Spark Core” and bang! your Spark Core gets updated! But of course there is a catch: a Spark Core costs around $39.- and this is a lot more than the $3 for a ESP8266 board. But thanks god there are skilled people in the world. Harold Mars is developing something very similar for the ESP8266!
He called his platform NodeLua
(apparently not related with NodeMCU) and offers a nice web IDE and one click deployment to the ESP8266, once it you have successfully burned the firmware and connected the device to your Wifi network.
You can even activate a specific ESP8266 to send debug output back to the browser. Another nice feature is the cloud feature: with only two lines of code you can send or receive data from the chip to or from the cloud. This lets you log the humidity in a room with just a few lines to a web chart!
While I think NodeLua is looking very promising it doesn’t yet offer the whole feature set of the NodeMCU firmware. The TCP client and server methods are currently disabled. I also tried to get my DHT22 humidity sensor working, without success.
I hope Harold will continue the great work he has started. It is so much more fun to program in NodeLua’s web IDE than going through the hassle of the Uploader tools like ESPlorer needed for the NodeMCU firmware…
There are many ways to set the ESP8266 to use. My current favourite is the NodeLua firmware which lets you program the device in the browser and lets you update it with one simple click. But not all features of the NodeMCU are available yet on the NodeLua firmware, so give it some time (or just give it a try;-))
A ridiculous amount of coffee was consumed in the process of building this project. Add some fuel if you'd like to keep me going!