ESP8266 gateway and sensor node not talking - noobie
-
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 <-> GPIO15From 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 #endifBy 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=0Node
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.5No more log output from the Gateway.
Any clue ?
-
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 ).
-
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.