ESP8266 gateway and sensor node not talking - noobie
-
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 cntSeems the registers are OK. However I can't go a step further.
I'm please to help for testing any new enhancement.
Regards,
Mersing. -
I have same bug : http://forum.mysensors.org/topic/2538/esp8266-and-rfm69w-loop-reboot
-
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 15Result 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.4And something strange, I only recieve Humidity one time. (sensebender defaut sketch with FORCE_TRANSMIT_INTERVAL 0 )
-
@hek you are right it works fine with
#define TIME_OUT 5000�~?�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:50I don't try with other timeout values.
-
@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! -
I am seeing something similar with RFM69 (specifically RFM69CW) and ESP8266. I have build an ESP8266 gateway based on the GatewayESP8266 sketch and this is what I changed
#define MY_RADIO_RFM69 #define MY_GATEWAY_ESP8266 #define MY_RFM69_FREQUENCY RF69_868MHZ #define MY_RF69_IRQ_PIN 4 #define MY_RF69_SPI_CS 15 #define MY_RF69_IRQ_NUM 4I build a sensor node with the DallasTemperatureSensor sketch on an Arduino Mini Pro and defined
#define MY_RADIO_RFM69 #define MY_RFM69_FREQUENCY RF69_868MHZWhen I start up the gateway I see
0;255;3;0;9;Starting gateway (RRNGE-, 2.0.0-beta) 0;255;3;0;9;Radio init successful. ....scandone state: 0 -> 2 (b0) state: 2 -> 3 (0) state: 3 -> 5 (10) add 0 aid 8 cnt connected with AP, channel 1 ip:62.x.x.x,mask:255.255.255.128,gw:62.x.x.x .IP: 62.x.x.x 0;255;3;0;9;Init complete, id=0, parent=0, distance=0So far so good - I assume all the radio wiring is OK, since the radio init is successful
On the sensor node I see
Starting sensor (RRNNA-, 2.0.0-beta) Radio init successful. find parent send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: find parent send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: find parent send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: Init complete, id=255, parent=255, distance=255As soon as the sensor node is started the ESP8266 crashes with a WDT reset
Soft WDT reset ctx: cont sp: 3ffef370 end: 3ffef630 offset: 01b0 >>>stack>>> 3ffef520: 00000001 3ffef6d4 3ffef964 00000000 3ffef530: 00000024 3ffef6d4 3ffef964 40202436 3ffef540: 3ffe8432 00000000 3ffef6d4 402024bc 3ffef550: 3ffe8432 00000000 3ffef6d4 402026a7 3ffef560: 3ffef6f2 00000001 3ffef6d4 40202b87 3ffef570: 3fffdae0 00000000 3ffee600 3ffef6ac 3ffef580: 3fffdae0 3ffef6f1 3ffef6d4 40202cf4 3ffef590: 3fff1210 00000000 3ffee600 402042b4 3ffef5a0: 00000000 00000002 3ffef82c 40203d20 3ffef5b0: 00000000 3ffef6d4 3ffef964 4020247c 3ffef5c0: 401057ff 00000400 00000103 3ffef5f0 3ffef5d0: 3ffef5e0 00000004 3ffef6cd 4020249c 3ffef5e0: 3ffe8920 00000000 00000000 3ffee608 3ffef5f0: 3fffdae0 00000000 3ffee600 3ffee608 3ffef600: 3fffdae0 00000000 3ffee600 40203e6c 3ffef610: feefeffe feefeffe 3ffee600 402045b4 3ffef620: feefeffe feefeffe 3ffee610 40100114 <<<stack<<<The libraries are 2.0 beta as from a few days ago. I consider the power to the ESP8266 to be OK, since I use the same for en NRF24 based gateway and also for several other ESP modules.
From the thread I understand that known issues should be fixed in the current beta. Any ideas on how to move on?
-
I am seeing something similar with RFM69 (specifically RFM69CW) and ESP8266. I have build an ESP8266 gateway based on the GatewayESP8266 sketch and this is what I changed
#define MY_RADIO_RFM69 #define MY_GATEWAY_ESP8266 #define MY_RFM69_FREQUENCY RF69_868MHZ #define MY_RF69_IRQ_PIN 4 #define MY_RF69_SPI_CS 15 #define MY_RF69_IRQ_NUM 4I build a sensor node with the DallasTemperatureSensor sketch on an Arduino Mini Pro and defined
#define MY_RADIO_RFM69 #define MY_RFM69_FREQUENCY RF69_868MHZWhen I start up the gateway I see
0;255;3;0;9;Starting gateway (RRNGE-, 2.0.0-beta) 0;255;3;0;9;Radio init successful. ....scandone state: 0 -> 2 (b0) state: 2 -> 3 (0) state: 3 -> 5 (10) add 0 aid 8 cnt connected with AP, channel 1 ip:62.x.x.x,mask:255.255.255.128,gw:62.x.x.x .IP: 62.x.x.x 0;255;3;0;9;Init complete, id=0, parent=0, distance=0So far so good - I assume all the radio wiring is OK, since the radio init is successful
On the sensor node I see
Starting sensor (RRNNA-, 2.0.0-beta) Radio init successful. find parent send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: find parent send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: find parent send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc: Init complete, id=255, parent=255, distance=255As soon as the sensor node is started the ESP8266 crashes with a WDT reset
Soft WDT reset ctx: cont sp: 3ffef370 end: 3ffef630 offset: 01b0 >>>stack>>> 3ffef520: 00000001 3ffef6d4 3ffef964 00000000 3ffef530: 00000024 3ffef6d4 3ffef964 40202436 3ffef540: 3ffe8432 00000000 3ffef6d4 402024bc 3ffef550: 3ffe8432 00000000 3ffef6d4 402026a7 3ffef560: 3ffef6f2 00000001 3ffef6d4 40202b87 3ffef570: 3fffdae0 00000000 3ffee600 3ffef6ac 3ffef580: 3fffdae0 3ffef6f1 3ffef6d4 40202cf4 3ffef590: 3fff1210 00000000 3ffee600 402042b4 3ffef5a0: 00000000 00000002 3ffef82c 40203d20 3ffef5b0: 00000000 3ffef6d4 3ffef964 4020247c 3ffef5c0: 401057ff 00000400 00000103 3ffef5f0 3ffef5d0: 3ffef5e0 00000004 3ffef6cd 4020249c 3ffef5e0: 3ffe8920 00000000 00000000 3ffee608 3ffef5f0: 3fffdae0 00000000 3ffee600 3ffee608 3ffef600: 3fffdae0 00000000 3ffee600 40203e6c 3ffef610: feefeffe feefeffe 3ffee600 402045b4 3ffef620: feefeffe feefeffe 3ffee610 40100114 <<<stack<<<The libraries are 2.0 beta as from a few days ago. I consider the power to the ESP8266 to be OK, since I use the same for en NRF24 based gateway and also for several other ESP modules.
From the thread I understand that known issues should be fixed in the current beta. Any ideas on how to move on?