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!