A few months ago, the ESP8266 came onto the scene as a cheap way to add WiFi to just about any project that had a spare UART. Since then, a few people have figured out how to get this neat chip running custom firmware, opening the doors to an Internet of Things based around an ESP8266. [Marc] and [Xavi] just wrote up a quick tutorial on how to turn the ESP8266 into a WiFi sensor platform that will relay the state of a GPIO pin to the Internet.
If you’re going to replicate this project, you won’t be using the stock firmware on the ESP. Instead of the stock firmware, [Marc] and [Xavi] are using the Lua-based firmware that allows for access to a few GPIOs on the device and scripting support to make application development easy. To upload this firmware to the ESP, [Marc] and [Xavi] needed a standard FTDI USB to serial converter, a few AT commands through a terminal program, and a few bits of wire.
The circuit [Marc] and [Xavi] ended up demoing for this tutorial is a simple webpage that’s updated every time a button is pressed. This will be installed in the door of their hackerspace in Barcelona, but already they have a great example of the ESP8266 in use.
34 thoughts on “Using The ESP8266 As A Web-enabled Sensor”
Hang on guys…. My esp8266-03 development board should soon be produced and available.
Includes a ft230x USB uart adapter, a button to jump to the bootloader and a breadboard!
Will it come with a pain-free library or will it be yet another ESP8266 breakout board? (I currently got 4 different boards, but the software part is where this modules is crippled)
The Software is just C and its well structured. The problem is the documentation.
However, there is now this LUA thing which is simplifying the programming of the chip, if you don’t want to go for C then it’s worth having a look.
Its intent is just to facilitate the prototyping stage of bigger projects. Wait a few weeks… The software part well get simpler
Without FCC certification on the chip, how do you plan on selling these things?
It isn’t the chip that has to be FCC certified, but the actual circuit implementation on the PCB. A reference design might be FCC certified, but if you change the board layout then you have to re-certify.
The esp8266 is soldered on board, see Gary’s comment
How many GPIOs will be available with your esp8266-03 dev board?
All the esp8266-03’s… 8 or 9 iirc
NodeMCU (the Lua based firmware) looks cool, but it seems to be closed source (despite being on github…).
Or is the source somewhere and I’ve missed it?
thats exactly what i found!
It also is distributed under MIT license, which is very open. Strange.
Nothing strange about that
http://www.miibeian.gov.cn = this is how open source works in China, you TAKE open source code, then you CLOSE IT and never share :)
http://www.lua.org/download.html for the source.
That’s the generic Lua interpreter repository, not that firmware source.
The creator says here that it is not open source yet but will hopefully be soon (that was 2 weeks ago):
So let’s wait for that to happen then.
So is it just me, or is the real news here the Lua environment for the ESP8266?
It’s news to me too although the Lua language through the ELua environment already powers some small MCUs. http://www.eluaproject.net/
If you want to know what is inside that little black blob… take a look here… http://zeptobars.ru/en/read/Espressif-ESP8266-wifi-serial-rs232-ESP8089-IoT
.. and just in case you dont know what all the fuss is about.. https://www.youtube.com/watch?v=7BYdZ_24yg0
Good day V
Thanks for the Link!
Given the range I really wonder what the transmitted power levels are… I hope someone does a quick radiated emission test, as most likely the TX power levels are really high. From the FCC certified modules I have seen the manufacturer actually have a warning that the device/antenna cannot be located within 20cm of people…
Good day Andrewjhull,
For some reason my greeting to you became corrupted… my apologies!
What facilities would you want on a webserver to support what you want to do with these WiFi modules.
I might setup a server for people to ‘play’ with.
And don’t forget the ever presence of ESP8266.com and the dedicated LUA section http://www.esp8266.com/viewforum.php?f=17 Come visit, stay awhile :-)
BTW: The featured image of this post looks horrible, I made a few pictures of the breakout. If you want them let me know.
It does. If you want to, send them to (my last name) at hackaday dot com and I’ll fix that.
After reading the forums at http://www.esp8266.com it’s clear that the author has no intention of publishing the source code anytime soon, and this is a stopper for me. But the hardware is young, hopefully other simlar projects will appear soon.
Does anyone know of a bluetooth LE equivalent to ESP8266? There are plenty of cheap bluetooth LE modules out there, but using them means having 3 chips in total: my own microcontroller, the module’s microcontroller, and the module’s bluetooth transceiver. I’m looking a single chip solution like the ESP8266.
PSoC 4 BLE looks promising
Some esp8266 modules do not support the current SDK,
and will simply not work for this kind of project.
i.e. make sure the source has a working projected cited.
I’ve never been able to find a good answer, but does anybody know if these will connect to APs that use RADIUS?
I’ve blanketed my property with wifi and use a FreeRADIUS server to manage authentication. My goal is to use an ESP8266, a small microcontroller, and a GPS module to interface with my dogs’ training collars to make a cheap geo-fencing system. I’ve got a prototype running where it displays the realtime position on a Google map from a Raspberry Pi, but I would like to use an ATtiny or something so it will all fit in the existing training collar. The only thing I can’t find is whether these little modules work with 802.1x. I can tweak the encryption options to work with the ESP’s, but not being able to use RADIUS isn’t an option. In addition to keeping a digital eye on my dogs, it would also allow me to attach tracking tags to the heavy equipment.
What’s your battery life like? Seems like it wouldn’t run very long.
Battery life with the RasPi/GPS/Wifi setup? A little over 8 hours on a bench using an 18,000 mAh battery pack; while that would long enough for my purposes, I never put it into use with the dogs since it was too bulky to mount as a collar, though I did consider buying a doggy-vest and mounting the gear in that. Ultimately, I decided to do more R&D and use the ESP to interface with an Adafruit GPS unit directly and transmit position information over WiFi. That should still leave me with enough GPIOs to interface with the training collar’s circuitry and a use a smaller battery. Project is in Development Hell right now, but I hope to post a write-up as I go when I do get started.
In general one would just match the Calling-Station-Id to the ESP8266’s MAC address since its really up to one’s AP and the RADIUS server to care about the support or not. This is because, on a specification level at lease, wireless clients would send a association packet. The base station(one’s access point) would receive this packet and then handle the authorization portion with your RADIUS server. If the RADIUS server allows the device then the AP sends an association response and then both devices begin to handle basic IP networking.
However, if you have a pastebin of your configuration file(s) then I could give a better answer.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)