Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. WiFi Gateway (ESP8266) - reconnect to wifi router

WiFi Gateway (ESP8266) - reconnect to wifi router

Scheduled Pinned Locked Moved Troubleshooting
19 Posts 4 Posters 7.6k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • gohanG Offline
    gohanG Offline
    gohan
    Mod
    wrote on last edited by
    #10

    Did you try latest mysensors 2.2 development?

    1 Reply Last reply
    0
    • ThomasDrT Offline
      ThomasDrT Offline
      ThomasDr
      wrote on last edited by
      #11

      Hello,

      do you use only the Gateway Code or is there anybody else in your code?
      If you do anybody else you need delays in the code.
      I think the Arduino "delay()" not the "wait()".
      Wait do Mysensors things.
      Delay do WIFI things.

      regards
      ThomasDr

      1 Reply Last reply
      0
      • gohanG Offline
        gohanG Offline
        gohan
        Mod
        wrote on last edited by
        #12

        I think you could check every minute or so if wifi connection is established and if not call the connection routine (that should be basic esp8266 stuff)

        1 Reply Last reply
        0
        • pihomeP Offline
          pihomeP Offline
          pihome
          wrote on last edited by pihome
          #13

          its basic gateway code nothing else, just copy and paste from mysensors. i added that nrf

          /**
           * The MySensors Arduino library handles the wireless radio link and protocol
           * between your home built sensors/actuators and HA controller of choice.
           * The sensors forms a self healing radio network with optional repeaters. Each
           * repeater and gateway builds a routing tables in EEPROM which keeps track of the
           * network topology allowing messages to be routed to nodes.
           *
           * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
           * Copyright (C) 2013-2015 Sensnology AB
           * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
           *
           * Documentation: http://www.mysensors.org
           * Support Forum: http://forum.mysensors.org
           *
           * This program is free software; you can redistribute it and/or
           * modify it under the terms of the GNU General Public License
           * version 2 as published by the Free Software Foundation.
           *
           *******************************
           *
           * REVISION HISTORY
           * Version 1.0 - Henrik EKblad
           * Contribution by a-lurker and Anticimex,
           * Contribution by Norbert Truchsess <norbert.truchsess@t-online.de>
           * Contribution by Ivo Pullens (ESP8266 support)
           *
           * DESCRIPTION
           * The EthernetGateway sends data received from sensors to the WiFi link.
           * The gateway also accepts input on ethernet interface, which is then sent out to the radio network.
           *
           * VERA CONFIGURATION:
           * Enter "ip-number:port" in the ip-field of the Arduino GW device. This will temporarily override any serial configuration for the Vera plugin.
           * E.g. If you want to use the defualt values in this sketch enter: 192.168.178.66:5003
           *
           * LED purposes:
           * - To use the feature, uncomment any of the MY_DEFAULT_xx_LED_PINs in your sketch, only the LEDs that is defined is used.
           * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
           * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
           * - ERR (red) - fast blink on error during transmission error or recieve crc error
           *
           * See http://www.mysensors.org/build/esp8266_gateway for wiring instructions.
           * nRF24L01+  ESP8266
           * VCC        VCC
           * CE         GPIO4
           * CSN/CS     GPIO15
           * SCK        GPIO14
           * MISO       GPIO12
           * MOSI       GPIO13
           * GND        GND
           *
           * Not all ESP8266 modules have all pins available on their external interface.
           * This code has been tested on an ESP-12 module.
           * The ESP8266 requires a certain pin configuration to download code, and another one to run code:
           * - Connect REST (reset) via 10K pullup resistor to VCC, and via switch to GND ('reset switch')
           * - Connect GPIO15 via 10K pulldown resistor to GND
           * - Connect CH_PD via 10K resistor to VCC
           * - Connect GPIO2 via 10K resistor to VCC
           * - Connect GPIO0 via 10K resistor to VCC, and via switch to GND ('bootload switch')
           *
            * Inclusion mode button:
           * - Connect GPIO5 via switch to GND ('inclusion switch')
           *
           * Hardware SHA204 signing is currently not supported!
           *
           * Make sure to fill in your ssid and WiFi password below for ssid & pass.
           */
          
          
          // Enable debug prints to serial monitor
          #define MY_DEBUG
          
          // Use a bit lower baudrate for serial prints on ESP8266 than default in MyConfig.h
          #define MY_BAUD_RATE 9600
          
          // Enables and select radio type (if attached)
          #define MY_RADIO_NRF24
          //#define MY_RADIO_RFM69
          
          // i added this later to see this may be the cause as i have channel number etc in other sensors. 
          #define MY_RF24_PA_LEVEL RF24_PA_MAX
          //#define MY_DEBUG_VERBOSE_RF24
          // RF channel for the sensor net, 0-127
          #define RF24_CHANNEL     125
          //RF24_250KBPS for 250kbs, RF24_1MBPS for 1Mbps, or RF24_2MBPS for 2Mbps
          #define RF24_DATARATE 	   RF24_250KBPS
          
          
          #define MY_GATEWAY_ESP8266
          
          #define MY_ESP8266_SSID "wifi"
          #define MY_ESP8266_PASSWORD "wifi-pass"
          
          // Enable UDP communication
          //#define MY_USE_UDP
          
          // Set the hostname for the WiFi Client. This is the hostname
          // it will pass to the DHCP server if not static.
          #define MY_ESP8266_HOSTNAME "PiHome_Gateway"
          
          // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
          //#define MY_IP_ADDRESS 192,168,99,4
          
          // If using static ip you need to define Gateway and Subnet address as well
          //#define MY_IP_GATEWAY_ADDRESS 192,168,99,1
          //#define MY_IP_SUBNET_ADDRESS 255,255,255,0
          
          // The port to keep open on node server mode
          #define MY_PORT 5003
          
          // How many clients should be able to connect to this gateway (default 1)
          #define MY_GATEWAY_MAX_CLIENTS 2
          
          // Controller ip address. Enables client mode (default is "server" mode).
          // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere.
          //#define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 68
          
          // Enable inclusion mode
          #define MY_INCLUSION_MODE_FEATURE
          
          // Enable Inclusion mode button on gateway
          // #define MY_INCLUSION_BUTTON_FEATURE
          // Set inclusion mode duration (in seconds)
          #define MY_INCLUSION_MODE_DURATION 60
          // Digital pin used for inclusion mode button
          #define MY_INCLUSION_MODE_BUTTON_PIN  3
          
          
          // Set blinking period
          // #define MY_DEFAULT_LED_BLINK_PERIOD 300
          
          // Flash leds on rx/tx/err
          // Led pins used if blinking feature is enabled above
          #define MY_DEFAULT_ERR_LED_PIN 16  // Error led pin
          #define MY_DEFAULT_RX_LED_PIN  16  // Receive led pin
          #define MY_DEFAULT_TX_LED_PIN  16  // the PCB, on board LED
          
          #if defined(MY_USE_UDP)
          #include <WiFiUdp.h>
          #endif
          
          #include <ESP8266WiFi.h>
          
          #include <MySensors.h>
          
          void setup()
          {
          }
          
          void presentation()
          {
          	// Present locally attached sensors here
          }
          
          
          void loop()
          {
          	// Send locally attached sensors data here
          }
          

          PiHome - Smart Heating Control

          ThomasDrT 1 Reply Last reply
          0
          • pihomeP pihome

            its basic gateway code nothing else, just copy and paste from mysensors. i added that nrf

            /**
             * The MySensors Arduino library handles the wireless radio link and protocol
             * between your home built sensors/actuators and HA controller of choice.
             * The sensors forms a self healing radio network with optional repeaters. Each
             * repeater and gateway builds a routing tables in EEPROM which keeps track of the
             * network topology allowing messages to be routed to nodes.
             *
             * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
             * Copyright (C) 2013-2015 Sensnology AB
             * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
             *
             * Documentation: http://www.mysensors.org
             * Support Forum: http://forum.mysensors.org
             *
             * This program is free software; you can redistribute it and/or
             * modify it under the terms of the GNU General Public License
             * version 2 as published by the Free Software Foundation.
             *
             *******************************
             *
             * REVISION HISTORY
             * Version 1.0 - Henrik EKblad
             * Contribution by a-lurker and Anticimex,
             * Contribution by Norbert Truchsess <norbert.truchsess@t-online.de>
             * Contribution by Ivo Pullens (ESP8266 support)
             *
             * DESCRIPTION
             * The EthernetGateway sends data received from sensors to the WiFi link.
             * The gateway also accepts input on ethernet interface, which is then sent out to the radio network.
             *
             * VERA CONFIGURATION:
             * Enter "ip-number:port" in the ip-field of the Arduino GW device. This will temporarily override any serial configuration for the Vera plugin.
             * E.g. If you want to use the defualt values in this sketch enter: 192.168.178.66:5003
             *
             * LED purposes:
             * - To use the feature, uncomment any of the MY_DEFAULT_xx_LED_PINs in your sketch, only the LEDs that is defined is used.
             * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved
             * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly
             * - ERR (red) - fast blink on error during transmission error or recieve crc error
             *
             * See http://www.mysensors.org/build/esp8266_gateway for wiring instructions.
             * nRF24L01+  ESP8266
             * VCC        VCC
             * CE         GPIO4
             * CSN/CS     GPIO15
             * SCK        GPIO14
             * MISO       GPIO12
             * MOSI       GPIO13
             * GND        GND
             *
             * Not all ESP8266 modules have all pins available on their external interface.
             * This code has been tested on an ESP-12 module.
             * The ESP8266 requires a certain pin configuration to download code, and another one to run code:
             * - Connect REST (reset) via 10K pullup resistor to VCC, and via switch to GND ('reset switch')
             * - Connect GPIO15 via 10K pulldown resistor to GND
             * - Connect CH_PD via 10K resistor to VCC
             * - Connect GPIO2 via 10K resistor to VCC
             * - Connect GPIO0 via 10K resistor to VCC, and via switch to GND ('bootload switch')
             *
              * Inclusion mode button:
             * - Connect GPIO5 via switch to GND ('inclusion switch')
             *
             * Hardware SHA204 signing is currently not supported!
             *
             * Make sure to fill in your ssid and WiFi password below for ssid & pass.
             */
            
            
            // Enable debug prints to serial monitor
            #define MY_DEBUG
            
            // Use a bit lower baudrate for serial prints on ESP8266 than default in MyConfig.h
            #define MY_BAUD_RATE 9600
            
            // Enables and select radio type (if attached)
            #define MY_RADIO_NRF24
            //#define MY_RADIO_RFM69
            
            // i added this later to see this may be the cause as i have channel number etc in other sensors. 
            #define MY_RF24_PA_LEVEL RF24_PA_MAX
            //#define MY_DEBUG_VERBOSE_RF24
            // RF channel for the sensor net, 0-127
            #define RF24_CHANNEL     125
            //RF24_250KBPS for 250kbs, RF24_1MBPS for 1Mbps, or RF24_2MBPS for 2Mbps
            #define RF24_DATARATE 	   RF24_250KBPS
            
            
            #define MY_GATEWAY_ESP8266
            
            #define MY_ESP8266_SSID "wifi"
            #define MY_ESP8266_PASSWORD "wifi-pass"
            
            // Enable UDP communication
            //#define MY_USE_UDP
            
            // Set the hostname for the WiFi Client. This is the hostname
            // it will pass to the DHCP server if not static.
            #define MY_ESP8266_HOSTNAME "PiHome_Gateway"
            
            // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
            //#define MY_IP_ADDRESS 192,168,99,4
            
            // If using static ip you need to define Gateway and Subnet address as well
            //#define MY_IP_GATEWAY_ADDRESS 192,168,99,1
            //#define MY_IP_SUBNET_ADDRESS 255,255,255,0
            
            // The port to keep open on node server mode
            #define MY_PORT 5003
            
            // How many clients should be able to connect to this gateway (default 1)
            #define MY_GATEWAY_MAX_CLIENTS 2
            
            // Controller ip address. Enables client mode (default is "server" mode).
            // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere.
            //#define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 68
            
            // Enable inclusion mode
            #define MY_INCLUSION_MODE_FEATURE
            
            // Enable Inclusion mode button on gateway
            // #define MY_INCLUSION_BUTTON_FEATURE
            // Set inclusion mode duration (in seconds)
            #define MY_INCLUSION_MODE_DURATION 60
            // Digital pin used for inclusion mode button
            #define MY_INCLUSION_MODE_BUTTON_PIN  3
            
            
            // Set blinking period
            // #define MY_DEFAULT_LED_BLINK_PERIOD 300
            
            // Flash leds on rx/tx/err
            // Led pins used if blinking feature is enabled above
            #define MY_DEFAULT_ERR_LED_PIN 16  // Error led pin
            #define MY_DEFAULT_RX_LED_PIN  16  // Receive led pin
            #define MY_DEFAULT_TX_LED_PIN  16  // the PCB, on board LED
            
            #if defined(MY_USE_UDP)
            #include <WiFiUdp.h>
            #endif
            
            #include <ESP8266WiFi.h>
            
            #include <MySensors.h>
            
            void setup()
            {
            }
            
            void presentation()
            {
            	// Present locally attached sensors here
            }
            
            
            void loop()
            {
            	// Send locally attached sensors data here
            }
            
            ThomasDrT Offline
            ThomasDrT Offline
            ThomasDr
            wrote on last edited by
            #14

            @pihome Hello,

            and what type of ESP8266 you have?
            Can you try a other one?
            I have some NodeMCU V0.9 with TCP and UDP in client mode with AVM Router and Repeater.
            Without problems.

            regards
            ThomasD

            1 Reply Last reply
            0
            • pihomeP Offline
              pihomeP Offline
              pihome
              wrote on last edited by
              #15

              i dont have second esp8266 at this moment, i have order one

              here is what i have and i m using it for gateway
              https://www.aliexpress.com/item/V3-Wireless-module-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-for/32469441553.html?spm=a2g0s.9042311.0.0.FyzreG

              @ThomasDr said in WiFi Gateway (ESP8266) - reconnect to wifi router:

              ESP8266

              PiHome - Smart Heating Control

              1 Reply Last reply
              0
              • ThomasDrT Offline
                ThomasDrT Offline
                ThomasDr
                wrote on last edited by ThomasDr
                #16

                Hello,

                The NodeMCU looks like my.
                and your ESP8266 Arduino version?
                maybe there is a new version.
                What Router or Access Point do you use?

                regards
                ThomasD

                1 Reply Last reply
                0
                • pihomeP Offline
                  pihomeP Offline
                  pihome
                  wrote on last edited by
                  #17

                  Arduino 1.8.3 and ESP library is all updated. i m using vodafone router.

                  PiHome - Smart Heating Control

                  1 Reply Last reply
                  0
                  • ThomasDrT Offline
                    ThomasDrT Offline
                    ThomasDr
                    wrote on last edited by
                    #18

                    Hello,

                    i try to build new Gateway for my Problem and Upload the same sketch, but the new Gateway do not connect to the router. I reminded the China NodeMCU have problems with Serial.begin and with WIFI.beginn. It need a delay after.
                    I found the WIFI.begin in the "MyGatewayTransportEthernet.cpp" file and see a wait(500). See my last post wait/delay, so I changed from wait to delay and the Gateway connect.
                    If you can try to change it too or change from 500 to 1000.
                    But i use the 2.2.0 dev.

                    regards
                    Thomas

                    pihomeP 1 Reply Last reply
                    0
                    • ThomasDrT ThomasDr

                      Hello,

                      i try to build new Gateway for my Problem and Upload the same sketch, but the new Gateway do not connect to the router. I reminded the China NodeMCU have problems with Serial.begin and with WIFI.beginn. It need a delay after.
                      I found the WIFI.begin in the "MyGatewayTransportEthernet.cpp" file and see a wait(500). See my last post wait/delay, so I changed from wait to delay and the Gateway connect.
                      If you can try to change it too or change from 500 to 1000.
                      But i use the 2.2.0 dev.

                      regards
                      Thomas

                      pihomeP Offline
                      pihomeP Offline
                      pihome
                      wrote on last edited by
                      #19

                      @thomasdr thank you for the info, and sorry for late reply, changing wait(500) to delay(500) worked.

                      PiHome - Smart Heating Control

                      1 Reply Last reply
                      1
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      28

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.1k

                      Posts


                      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • MySensors
                      • OpenHardware.io
                      • Categories
                      • Recent
                      • Tags
                      • Popular