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. ESP8266 gateway and sensor node not talking - noobie

ESP8266 gateway and sensor node not talking - noobie

Scheduled Pinned Locked Moved Troubleshooting
megadht11esp8266
37 Posts 6 Posters 16.9k Views 4 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.
  • M Offline
    M Offline
    Mersing
    wrote on last edited by
    #5

    Hello,

    I've setup a ESP8266 Gateway with RF24 Radio.
    I've got a RF24 Node with DS18B20.
    I'ved used Esp8266Gateway.ino / DallasTemperatureSensor.ino out of the box.
    Everything is working fine. Node and GW are communicating.

    I'm now trying to run this setup with RF69. I'm facing the same issue as described in the initial post.

    Pin mapping
    RF69 <-> ESP8266
    DIO0 <-> GPIO4
    SCK <-> GPIO14
    MOSI <-> GPIO13
    MISO <-> GPIO12
    CS <-> GPIO15

    From RFM69.h
    define RF69_SPI_CS               SS
    
    #elif defined(ARDUINO_ARCH_ESP8266)
      // TODO !! Untested code! Entering unknown territory...
      #define RF69_IRQ_PIN          4
      #define RF69_IRQ_NUM          0
    #endif
    
    

    By default, from RFM69.h, RF69_IRQ_PIN is 2.
    However to properly boot GPIO15 must be LOW and GPIO2 must be HIGH.
    Connecting IRQ to GPIO2, RF69 pull its IRQ to LOW, making GPIO2 LOW and ESP8266 not booting.
    Then I'll use GPIO4.

    I'm using the same config file for GW and Node (e.g same NWETWORKID, ENCRYPTKEY, FREQUENCY).

    On the Node Side : DallasTemperatureSensor.ino

    #define isRFM69HW true // Enable High Power
    MyTransportRFM69 transport( RFM69_FREQUENCY, RFM69_NETWORKID, RF69_SPI_CS, RF69_IRQ_PIN, isRFM69HW, RF69_IRQ_NUM );
    MySensor gw( transport );
    gw.begin( NULL, 8 );
    

    On the GW Side : Esp8266Gateway.ino

    #define isRFM69HW true
    MyTransportRFM69 transport(RFM69_FREQUENCY, RFM69_NETWORKID, RF69_SPI_CS, RF69_IRQ_PIN, isRFM69HW, RF69_IRQ_NUM);
    

    OUTPUT

    GW Side

    ESP8266 MySensors Gateway
    Connecting to WRT54G
    .......Connected!
    IP: 192.168.1.25
    0;0;3;0;9;gateway started, id=0, parent=0, distance=0
    

    Node

    send: 8-8-0-0 s=255,c=0,t=17,pt=0,l=3,sg=0,st=fail:1.5
    send: 8-8-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=fail:0
    sensor started, id=8, parent=0, distance=1
    send: 8-8-0-0 s=255,c=3,t=11,pt=0,l=18,sg=0,st=fail:Temperature Sensor
    send: 8-8-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.1
    send: 8-8-0-0 s=0,c=0,t=6,pt=0,l=0,sg=0,st=fail:
    send: 8-8-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=fail:21.5
    find parent
    send: 8-8-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
    send: 8-8-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=fail:21.5
    send: 8-8-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=fail:21.5
    
    

    No more log output from the Gateway.

    Any clue ?

    1 Reply Last reply
    0
    • M Offline
      M Offline
      Mersing
      wrote on last edited by
      #6

      Hello,

      I received addition log on the GW:

      ESP8266 MySensors Gateway
      Connecting to WRT54G
      .......Connected!
      IP: 192.168.1.25
      0;0;3;0;9;gateway started, id=0, parent=0, distance=0
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;5;1
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;9;Inclusion started by button.
      0;0;3;0;5;0
      

      "Inclusion started by button." are coming randomly (not triggered by node reboot ).

      1 Reply Last reply
      0
      • hekH Offline
        hekH Offline
        hek
        Admin
        wrote on last edited by
        #7

        Guys, would be great if you used the development branch instead.
        Really need more testers of that code... also and any fixes for ESP8266/RF69 would be done in the dev-branch.

        1 Reply Last reply
        0
        • M Offline
          M Offline
          Mersing
          wrote on last edited by
          #8

          Hello,

          I'm now testing with 1.6, on GW and Node.

          I'm trying to get familiar with the 1.6 changes.
          On the node how can I setup the NODE ID ? ( it seems that gw.begin( NULL, 5) can't be used anymore).
          On the Node side, I'm using DallasTemperatureSensor.ino.
          Should I add presentation() call from Setup () ?

          void setup()   { 
            // Startup up the OneWire library
            sensors.begin();
            // requestTemperatures() will not block current thread
            sensors.setWaitForConversion(false);
            presentation();
          }
          

          I've setup the communication with RF24, as a first test.
          From the GW

          0;0;3;0;9;read: 5-5-0 s=255,c=0,t=17,pt=0,l=10,sg=0:1.6.0-beta
          0;0;3;0;9;read: 5-5-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0
          0;0;3;0;9;read: 5-5-0 s=255,c=3,t=11,pt=0,l=18,sg=0:Temperature Senso
          0;0;3;0;9;read: 5-5-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.1
          0;0;3;0;9;read: 5-5-0 s=255,c=3,t=11,pt=0,l=18,sg=0:Temperature Senso
          0;0;3;0;9;read: 5-5-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.1
          0;0;3;0;9;read: 5-5-0 s=0,c=0,t=6,pt=0,l=0,sg=0:
          0;0;3;0;9;read: 5-5-0 s=0,c=1,t=0,pt=7,l=5,sg=0:23.6
          0;0;3;0;9;read: 5-5-0 s=0,c=1,t=0,pt=7,l=5,sg=0:23.7
          
          

          Everything is working fine. (Seems the Node ID is coming from previous 1.5 upload, I've setup it to 5)

          I've then replaced the radio by RF69 ones.
          Below the changes in GatewayESP8266.ino

          #define MY_RADIO_RFM69
          #define MY_RF69_IRQ_PIN 4
          

          Node ouput

          Starting...
          send: 5-5-0-0 s=255,c=0,t=17,pt=0,l=10,sg=0,st=fail:1.6.0-beta
          send: 5-5-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=fail:0
          send: 5-5-0-0 s=255,c=3,t=11,pt=0,l=18,sg=0,st=fail:Temperature Sensor
          send: 5-5-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.1
          sensor started, id=5, parent=0, distance=1
          send: 5-5-0-0 s=255,c=3,t=11,pt=0,l=18,sg=0,st=fail:Temperature Sensor
          send: 5-5-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.1
          find parent
          send: 5-5-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
          send: 5-5-0-0 s=0,c=0,t=6,pt=0,l=0,sg=0,st=fail:
          send: 5-5-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=fail:22.5
          send: 5-5-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=fail:22.6
          

          GW Output

          0;0;3;0;9;Starting...
          scandone
          f 0, ....scandone
          .add 0
          aid 7
          pm open phy_2,type:2 0 0
          cnt 
          
          connected with WRT54G, channel 6
          dhcp client start...
          .ip:192.168.1.25,mask:255.255.255.0,gw:192.168.1.1
          .IP: 192.168.1.25
          0;0;3;0;9;gateway started, id=0, parent=0, distance=0
          
          ESP8266 MySensors Gateway
          Connecting to WRT54G
          sl
          f -240, ....scandone
          usl
          sul 7 0
          reconnect
          rm 0
          pm close 7 0 0/3399505
          f 0, ....scandone
          .add 0
          aid 7
          pm open phy_2,type:2 0 0
          cnt 
          
          connected with WRT54G, channel 6
          dhcp client start...
          ..ip:192.168.1.25,mask:255.255.255.0,gw:192.168.1.1
          .Connected!
          IP: 192.168.1.25
          
          

          Nothing more on the GW side.

          Any idea ? Where (lib) can I start troubleshooting ?

          Regards.

          1 Reply Last reply
          0
          • hekH Offline
            hekH Offline
            hek
            Admin
            wrote on last edited by
            #9

            Set static id with:

            #define MY_NODE_ID xx

            My guess is something goes wrong here:
            https://github.com/mysensors/Arduino/blob/development/libraries/MySensors/drivers/RFM69/RFM69.cpp#L47

            1 Reply Last reply
            0
            • M Offline
              M Offline
              Mersing
              wrote on last edited by
              #10

              Hello,
              I had a look at RFM69.cpp, bool RFM69::initialize function.
              It a bit far away from my current skill to debug.
              I've tried to display registers to check if they have been properly initialized.

                Serial.println( "bool RFM69::initialize" );
                Serial.println( "Read Registers" );
                Serial.print( "RegOpMode Read 0x01 : " );
                Serial.println( readReg( 0x01) );
                Serial.print( "RegDataModul Read 0x02 : " );
                Serial.println( readReg( 0x02) );
                Serial.print( "RegVersion Read 0x10 : " );
                Serial.println( readReg( 0x10) );
                Serial.print( "RegRssiValue Read 0x24) : " );
                Serial.println( readReg( 0x24) );
                Serial.println( "" );
              

              Output is

              0;0;3;0;9;Starting...
              bool RFM69::initialize
              Read Registers
              RegOpMode Read 0x01 : 4
              RegDataModul Read 0x02 : 0
              RegVersion Read 0x10 : 36
              RegRssiValue Read 0x24) : 56
              
              scandone
              f 0, ....scandone
              .add 0
              aid 7
              pm open phy_2,type:2 0 0
              cnt 
              

              Seems the registers are OK. However I can't go a step further.

              I'm please to help for testing any new enhancement.

              Regards,
              Mersing.

              1 Reply Last reply
              0
              • hekH Offline
                hekH Offline
                hek
                Admin
                wrote on last edited by
                #11

                Hmm... I should really order a few RFM69 radios myself.

                I only have a couple of Moteions. Doesn't help much if I would help out debugging ESP8266 with RFM69.

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  Mersing
                  wrote on last edited by
                  #12

                  You could maybe hack / re-use the radio from the Motino :smiley:

                  1 Reply Last reply
                  0
                  • hekH Offline
                    hekH Offline
                    hek
                    Admin
                    wrote on last edited by
                    #13

                    Na... just have to wait for the china slow boat. Should be here before christmas :zzz:

                    1 Reply Last reply
                    0
                    • F Offline
                      F Offline
                      Fabien
                      wrote on last edited by
                      #14

                      I have same bug : http://forum.mysensors.org/topic/2538/esp8266-and-rfm69w-loop-reboot

                      1 Reply Last reply
                      0
                      • hekH Offline
                        hekH Offline
                        hek
                        Admin
                        wrote on last edited by
                        #15

                        Are you getting the same error in dev branch?

                        1 Reply Last reply
                        0
                        • F Offline
                          F Offline
                          Fabien
                          wrote on last edited by
                          #16

                          With the last git developpement it works. except when a node start presentation, gateway reboot. And sometimes it reboots randomless.
                          node is a sensebender with MySensors 1.6 and gateway with 1.6 too.
                          Important : You have to define MY_RF69_IRQ_NUM = MY_RF26_IRQ_PIN on ESP8266

                          #define MY_RADIO_RFM69
                          #define MY_RFM69_FREQUENCY   RF69_868MHZ
                          #define MY_RF69_IRQ_PIN 15
                          #define MY_RF69_SPI_CS 2
                          #define MY_RF69_IRQ_NUM 15
                          

                          Result is

                          connected with PandoraBox_1BB657, channel 1
                          dhcp client start...
                          .ip:192.168.2.165,mask:255.255.255.0,gw:192.168.2.1
                          .IP: 192.168.2.165
                          0;0;3;0;9;Init complete, id=0, parent=0, distance=0
                          chg_B:-120
                          
                          Soft WDT reset
                          
                          ctx: cont 
                          sp: 3ffef9a0 end: 3ffefc60 offset: 01b0
                          
                          >>>stack>>>
                          3ffefb50:  00000001 3ffefd00 3ffeff68 00000001  
                          3ffefb60:  00000024 3ffefd00 3ffeff68 402022f2  
                          3ffefb70:  3ffe8496 00000000 3ffefd00 40202378  
                          3ffefb80:  3ffe8496 00000000 3ffefd00 40202563  
                          3ffefb90:  3ffefd1e 00000001 3ffefd00 40202a43  
                          3ffefba0:  3fffdc20 00000000 3ffeec28 3ffefcd8  
                          3ffefbb0:  3fffdc20 3ffefd1d 3ffefd00 40202e0c  
                          3ffefbc0:  40209c8d 00000000 3ffeec28 40203ed1  
                          3ffefbd0:  00000000 00000002 3ffefe58 402039d0  
                          3ffefbe0:  00000000 3ffefd00 3ffeff68 40202338  
                          3ffefbf0:  40101500 402059d6 3ffeff50 3ffefc20  
                          3ffefc00:  3ffefc10 00000004 3ffefcf9 40202358  
                          3ffefc10:  3fffdc20 00000000 00000000 3ffeec30  
                          3ffefc20:  3fffdc20 00000000 3ffeec28 3ffeec30  
                          3ffefc30:  3fffdc20 00000000 3ffeec28 40203aee  
                          3ffefc40:  00000000 00000000 3ffeec28 402041a0  
                          3ffefc50:  00000000 00000000 3ffeec40 40100114  
                          <<<stack<<<
                          �!�L�<1���0;0;3;0;9;Starting gateway (RRNGE-, 1.6.0-beta)
                          0;0;3;0;9;Radio init successful.
                          scandone
                          state: 0 -> 2 (b0)
                          .state: 2 -> 3 (0)
                          state: 3 -> 5 (10)
                          add 0
                          aid 3
                          pm open phy_2,type:2 0 0
                          cnt 
                          chg_B:-60
                          
                          connected with PandoraBox_1BB657, channel 1
                          dhcp client start...
                          .ip:192.168.2.165,mask:255.255.255.0,gw:192.168.2.1
                          .IP: 192.168.2.165
                          0;0;3;0;9;Init complete, id=0, parent=0, distance=0
                          chg_B:-120
                          0;0;3;0;9;read: 1-1-0 s=1,c=1,t=0,pt=7,l=5,sg=0:24.6
                          0;0;3;0;9;read: 1-1-0 s=2,c=1,t=1,pt=2,l=2,sg=0:51
                          0;0;3;0;9;read: 1-1-0 s=1,c=1,t=0,pt=7,l=5,sg=0:24.4
                          

                          And something strange, I only recieve Humidity one time. (sensebender defaut sketch with FORCE_TRANSMIT_INTERVAL 0 )

                          1 Reply Last reply
                          0
                          • F Offline
                            F Offline
                            Fabien
                            wrote on last edited by Fabien
                            #17

                            @hek you are right it works fine with

                            #define TIME_OUT 500
                            

                            in https://github.com/mysensors/Arduino/blob/development/libraries/MySensors/drivers/RFM69/RFM69.cpp#L47

                            0�~?�4�!�{�OAa�0;0;3;0;9;Starting gateway (RRNGE-, 1.6.0-beta)
                            0;0;3;0;9;Radio init successful.
                            scandone
                            state: 0 -> 2 (b0)
                            .state: 2 -> 3 (0)
                            state: 3 -> 5 (10)
                            add 0
                            aid 3
                            pm open phy_2,type:2 0 0
                            cnt 
                            chg_B:-60
                            
                            connected with PandoraBox_1BB657, channel 1
                            dhcp client start...
                            .ip:192.168.2.165,mask:255.255.255.0,gw:192.168.2.1
                            .IP: 192.168.2.165
                            0;0;3;0;9;Init complete, id=0, parent=0, distance=0
                            chg_B:-120
                            0;0;3;0;9;read: 1-1-0 s=1,c=1,t=0,pt=7,l=5,sg=0:24.8
                            0;0;3;0;9;read: 1-1-0 s=2,c=1,t=1,pt=2,l=2,sg=0:54
                            0;0;3;0;9;read: 1-1-0 s=255,c=0,t=17,pt=0,l=10,sg=0:1.6.0-beta
                            0;0;3;0;9;read: 1-1-0 s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFFFFF0300
                            0;0;3;0;9;read: 1-1-0 s=255,c=3,t=11,pt=0,l=17,sg=0:Sensebender Micro
                            0;0;3;0;9;read: 1-1-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.4
                            0;0;3;0;9;read: 1-1-0 s=2,c=0,t=7,pt=0,l=0,sg=0:
                            0;0;3;0;9;read: 1-1-0 s=2,c=1,t=1,pt=2,l=2,sg=0:54
                            0;0;3;0;9;read: 1-1-0 s=1,c=1,t=0,pt=7,l=5,sg=0:24.7
                            0;0;3;0;9;read: 1-1-0 s=2,c=1,t=1,pt=2,l=2,sg=0:50
                            0;0;3;0;9;read: 1-1-0 s=1,c=1,t=0,pt=7,l=5,sg=0:24.7
                            0;0;3;0;9;read: 1-1-0 s=2,c=1,t=1,pt=2,l=2,sg=0:51
                            0;0;3;0;9;Client 0 connected
                            0;0;3;0;9;read: 1-1-0 s=1,c=1,t=0,pt=7,l=5,sg=0:24.5
                            0;0;3;0;9;read: 1-1-0 s=2,c=1,t=1,pt=2,l=2,sg=0:50
                            

                            I don't try with other timeout values.

                            1 Reply Last reply
                            0
                            • hekH Offline
                              hekH Offline
                              hek
                              Admin
                              wrote on last edited by
                              #18

                              Ok, great. We need to increase timeout then.

                              YveauxY 1 Reply Last reply
                              0
                              • F Offline
                                F Offline
                                Fabien
                                wrote on last edited by
                                #19

                                @hek Yes and perhaps a feature to set MY_RF69_IRQ_NUM = MY_RF26_IRQ_PIN when using ESP8266. Do You want to test other timeout values ? Is it critical ?

                                1 Reply Last reply
                                0
                                • hekH Offline
                                  hekH Offline
                                  hek
                                  Admin
                                  wrote on last edited by
                                  #20

                                  @Fabien said:

                                  MY_RF26_IRQ_PIN

                                  I cannot find this defined anywhere...

                                  1 Reply Last reply
                                  0
                                  • F Offline
                                    F Offline
                                    Fabien
                                    wrote on last edited by
                                    #21

                                    sorry MY_RF69_IRQ_PIN ...

                                    1 Reply Last reply
                                    0
                                    • F Offline
                                      F Offline
                                      Fabien
                                      wrote on last edited by
                                      #22

                                      Work with 51ms timeout with my config. I set 60ms to be "secure"

                                      1 Reply Last reply
                                      0
                                      • hekH hek

                                        Ok, great. We need to increase timeout then.

                                        YveauxY Offline
                                        YveauxY Offline
                                        Yveaux
                                        Mod
                                        wrote on last edited by Yveaux
                                        #23

                                        @hek said:

                                        Ok, great. We need to increase timeout then.

                                        Better add a yield() call in those blocking wait loops.
                                        When quiclkly looking over the code of the RF69 driver, the RFM69::initialize call could in theory block for 1.5 sec...
                                        That's a watchdog reset waiting to happen!

                                        http://yveaux.blogspot.nl

                                        1 Reply Last reply
                                        0
                                        • hekH Offline
                                          hekH Offline
                                          hek
                                          Admin
                                          wrote on last edited by
                                          #24

                                          Yep,

                                          https://github.com/mysensors/Arduino/pull/287

                                          YveauxY 1 Reply Last reply
                                          0
                                          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