ESP8266 WiFi gateway port for MySensors
-
Can this be built with esp8266-03? I got a couple of those sitting here waiting to get used? It looks like I can swap Pin 4 for Pin 16 (or 18 in this picture) Is there something I'm missing?
-
NodeMcu boards are in!
Fast shipment & very well packed:

I can upload at 921600 baud (!) without manual reset/bootload from Arduino IDE and LED blink sketch is working.
Next is connecting nRF24 and see if ESP gateway is running without problems.I'll keep you informed!
-
Works like a charm!
This is the NodeMcu board used (Called NodeMcu Devkit v1.0 by the NodeMcu Team. Schematics and layout can be found here)
Radio connection (using MySensors default coloring scheme. IRQ is unused and can be left unconnected):



The standard ESP8266 Gateway sketch can be used without modification (except for SSID & password).
- Install CP2102 drivers from here.
- Connect NodeMCU board.
- Load the Esp8266Gateway.ino sketch (See Compiling the gateway in the top post)
- Download the sketch. This NodeMcu board can be flashed automaticlly and doesn't need botload/reset buttons to be pressed.
- Open the serial console and watch the board connecting to yout WiFi network.
- Note the IP address assigned to it.
- Now any application capable of communicating with the regular MySensors Ethernet gateway should be able to communicate with the ESP Gateway.
- Enjoy!
Optional step: If you want to use the onboard red LED (GPIO16) to blink when radio activity/error takes place, then change the following:
MyConfig.h
#define WITH_LEDS_BLINKINGEsp8266Gateway.ino
#ifdef WITH_LEDS_BLINKING #define RADIO_ERROR_LED_PIN 16 // Error led pin #define RADIO_RX_LED_PIN 16 // Receive led pin #define RADIO_TX_LED_PIN 16 // the PCB, on board LED #endif -
Hi
Excellent build and exactly what I have been looking for. I just got my ESP-12 this week and I am about to build this. I just have one question, what is the "Inclusion mode" for? I tried to figure it out by look at the sketch and it's not quite clear.
Thank you for everything you have done to get this to where it's at.
Mike
-
Hi
Excellent build and exactly what I have been looking for. I just got my ESP-12 this week and I am about to build this. I just have one question, what is the "Inclusion mode" for? I tried to figure it out by look at the sketch and it's not quite clear.
Thank you for everything you have done to get this to where it's at.
Mike
@Mike-Cayouette I copied the implementation from the Ethernet gateway.
I thought it was meant as a function to allow clients to join the network within a certain timeframe after pressing the button.
When looking at the code I'm not sure it does anything at all...
Maybe @hek can shed some light on the issue? -
It doesn't do much on the gateway side. As @Yveaux says it allows you to have a physical button in the gateway to enable inclusion mode. After some (configurable) time it disables inclusion mode. The enabled/disabled status is sent to controller side. But no filtering of presentation messages occurs on the gateway.
So it is really up to the controller to respect the inclusion mode status (whether or not to create new devices).
-
@Mike-Cayouette I copied the implementation from the Ethernet gateway.
I thought it was meant as a function to allow clients to join the network within a certain timeframe after pressing the button.
When looking at the code I'm not sure it does anything at all...
Maybe @hek can shed some light on the issue?Hi @Yveaux ,
I finally received my NodeMCU (but from http://doit.am/) did you had to flash any firmware (like the NodeMCU one) in order to be able to use it from Arduino IDE or it is just flash the .ino and it's ready to go?
Regards
-
Hi @Yveaux ,
I finally received my NodeMCU (but from http://doit.am/) did you had to flash any firmware (like the NodeMCU one) in order to be able to use it from Arduino IDE or it is just flash the .ino and it's ready to go?
Regards
-
Thank you for the quick response @Yveaux & @hek
I started working on the gateway today but I seem to be having a problem. I already had IDE version 1.6.5 installed with the board manager enabled. I've been creating some sensors on some ESP-01 for a few weeks without a problem. I replaced the MySensors folder I had in my library folder with the most recent one. My old sketches still compile but when I try to compile the ESP8266Gateway sketch I get the following error.
Esp8266Gateway.cpp.o: In function `incomingMessage(MyMessage const&)': Esp8266Gateway.cpp:(.text+0x74): undefined reference to `vsnprintf_P' Esp8266Gateway.cpp.o: In function `output(char const*, ...)': Esp8266Gateway.cpp:(.text+0xb6): undefined reference to `vsnprintf_P' MySensors/MyHwESP8266.cpp.o: In function `hw_writeConfig(int, unsigned char)': MyHwESP8266.cpp:(.text+0x138): undefined reference to `snprintf_P' MySensors/MyHwESP8266.cpp.o: In function `MyHwESP8266::MyHwESP8266()': MyHwESP8266.cpp:(.text+0x16f): undefined reference to `snprintf_P' MySensors/MyHwESP8266.cpp.o: In function `MyHwESP8266::debugPrint(bool, char const*, ...)': MyHwESP8266.cpp:(.text+0x19a): undefined reference to `vsnprintf_P' MyHwESP8266.cpp:(.text+0x1b3): undefined reference to `vsnprintf_P' collect2: error: ld returned 1 exit status Error compiling.All I changed in the ESP8266Gateway example sketch was the SSID and Password.
Regards,
Mike
-
Thank you for the quick response @Yveaux & @hek
I started working on the gateway today but I seem to be having a problem. I already had IDE version 1.6.5 installed with the board manager enabled. I've been creating some sensors on some ESP-01 for a few weeks without a problem. I replaced the MySensors folder I had in my library folder with the most recent one. My old sketches still compile but when I try to compile the ESP8266Gateway sketch I get the following error.
Esp8266Gateway.cpp.o: In function `incomingMessage(MyMessage const&)': Esp8266Gateway.cpp:(.text+0x74): undefined reference to `vsnprintf_P' Esp8266Gateway.cpp.o: In function `output(char const*, ...)': Esp8266Gateway.cpp:(.text+0xb6): undefined reference to `vsnprintf_P' MySensors/MyHwESP8266.cpp.o: In function `hw_writeConfig(int, unsigned char)': MyHwESP8266.cpp:(.text+0x138): undefined reference to `snprintf_P' MySensors/MyHwESP8266.cpp.o: In function `MyHwESP8266::MyHwESP8266()': MyHwESP8266.cpp:(.text+0x16f): undefined reference to `snprintf_P' MySensors/MyHwESP8266.cpp.o: In function `MyHwESP8266::debugPrint(bool, char const*, ...)': MyHwESP8266.cpp:(.text+0x19a): undefined reference to `vsnprintf_P' MyHwESP8266.cpp:(.text+0x1b3): undefined reference to `vsnprintf_P' collect2: error: ld returned 1 exit status Error compiling.All I changed in the ESP8266Gateway example sketch was the SSID and Password.
Regards,
Mike
@Mike-Cayouette said:
undefined reference to `vsnprintf_P'
Can you check the boardmanager which version of ESP Arduino you have installed?
Mine's like this:I use the 'stable' version, located at http://arduino.esp8266.com/stable/package_esp8266com_index.json
Maybe your installation is inclomplete; you could try removing & reinstalling Arduino for ESP.
-
@Yveaux said:
Can you check the boardmanager which version of ESP Arduino you have installed?
That was the problem, I was running an older version, I upgraded it and now it show's the same as your version.
Thanks again,
Mike
-
Just wanted to say thank you! It works great after hooking it up on my breadboard, now I can finally include MySensors in my sensor network 8-)
-
Just wanted to say thank you! It works great after hooking it up on my breadboard, now I can finally include MySensors in my sensor network 8-)
-
Great work. Just starting out with mysensors and looking forward to implementing this. Waiting for my hardware to arrive :)