Local gateway with ESP8266

This thread is not about something I need, it is only meant to be like a brainstorm.

I see the topic about using the imp to communicate with local devices, which is as we know not possible. But what if we could use one of those cheap ESP8266 modules to do that?

Shouldn’t that be pretty much the same as if it was used with an arduino to make a Web server/client?

Yep, that’s possible.

I spotted another recent post about wanting to use Imp for local access so did a quick search on forum for ESP8266 and this thread popped up.

Just to say that using an ESP8266 is rather easy to do now that Arduino IDE can be used. I started with LUA scripts but found them to be quite slow. The Arduino method is actually very good in that it burns the firmware directly onto the ESP8266 chip for you. Once done you can get the IMP to communicate with the module using UART.

The simplest use for the ESP8266 is as a local wireless Access Point as this avoids messing around linking this module to your LAN router.

Another very handy use for the ESP8266 (although this does require linking the module to your LAN - sometimes hit or miss using Arduino code to get it to log in and stay logged in) is if you want to publish data using the MQTT method. You can simply send data from your IMP device to the module using UART and the ESP8266 firmware will handle the rest (there are Arduino libraries out there that handle this). The MQTT method would be a useful method if you wish to publish data to a broker for general access via subscription method without having to direct this data via the Imp Agent.

To do this all you need is the basic ESP8266 module which you can find on most open-source hardware websites, such as adafruit, sparkfun, seeedstudio, cutedigi (appears to be the cheapest at under $5) etc.

I’m sure with some smart wiring (linking GPIO pin 0 and reset pin) and some clever thinking you could get the Imp Device to even upload the firmware binary files onto the connected ESP8266 module as this too is done via UART.