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.
  • pwatt01P Offline
    pwatt01P Offline
    pwatt01
    wrote on last edited by
    #4

    Nothing. Or no change at least. The shots above are still the only messages that I am getting, apart from the ESP8266 rebooting by itself occasionaly, and the sensor node tends to repeat itself as new readings come in

    1 Reply Last reply
    0
    • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          10

                                          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