ESP8266 gateway and sensor node not talking - noobie
-
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 GW0;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.7Everything 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 4Node 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.6GW 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.25Nothing more on the GW side.
Any idea ? Where (lib) can I start troubleshooting ?
Regards.
-
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?