💬 Building a Raspberry Pi Gateway
-
@Sergio-Rius try increasing the distance between channels to at least 10 or more
@gohan Done. I've just burnt the node with channel 125 and it seems to have no effect. It registers on the 76 radio.
Does the
#define MY_RF24_CHANNEL 125has to be before or after the include of mysensors.h? I have it before. -
@gohan Done. I've just burnt the node with channel 125 and it seems to have no effect. It registers on the 76 radio.
Does the
#define MY_RF24_CHANNEL 125has to be before or after the include of mysensors.h? I have it before.Well, I've changed the channel for the 1st radio to 83 and left the second at 125.
If I burn the testing node for ch125 it doesn't receives reply from the gw. If I then burn it on ch83, it registers and comunicates with the first radio.So I think the second radio does not work on the Raspberry Pi. The service communicates with the controller but does nothing for the network side.
Also on the second radio:mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING mysgw: !TSF:SAN:FAIL mysgw: TSM:FAIL:CNT=1 mysgw: TSM:FAIL:DIS mysgw: TSF:TDI:TSL mysgw: Client 0: 0;0;3;0;18;PING mysgw: TSM:FAIL:RE-INIT mysgw: TSM:INIT mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING -
Well, I've changed the channel for the 1st radio to 83 and left the second at 125.
If I burn the testing node for ch125 it doesn't receives reply from the gw. If I then burn it on ch83, it registers and comunicates with the first radio.So I think the second radio does not work on the Raspberry Pi. The service communicates with the controller but does nothing for the network side.
Also on the second radio:mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING mysgw: !TSF:SAN:FAIL mysgw: TSM:FAIL:CNT=1 mysgw: TSM:FAIL:DIS mysgw: TSF:TDI:TSL mysgw: Client 0: 0;0;3;0;18;PING mysgw: TSM:FAIL:RE-INIT mysgw: TSM:INIT mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING -
@Sergio-Rius if you shut down mysgw for the first radio and restart mysgw for the second radio, does the second radio start to work?
And do you get the same debug output? The SPI message looks bad. Maybe the two gateways are conflicting.@mfalkvidd Nope, the service seems to have stopped the SAN errors but still no communication:
pi@domo_testing:~/MySGW_RFM $ sudo ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.2.0-beta __ __ ____ | \/ |_ _/ ___| ___ _ __ ___ ___ _ __ ___ | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __| | | | | |_| |___| | __/ | | \__ \ _ | | \__ \ |_| |_|\__, |____/ \___|_| |_|___/\___/|_| |___/ |___/ 2.2.0-beta mysgw: MCO:BGN:INIT CP=RNNG--Q- mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: MCO:REG:NOT NEEDED mysgw: Listening for connections on 0.0.0.0:5004 mysgw: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,TSP=1 mysgw: New connection from 127.0.0.1 mysgw: Client 0 connected mysgw: Client 0: 0;0;3;0;2; mysgw: Client 0: 0;0;3;0;2;Get Version mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING mysgw: Client 0: 0;0;3;0;18;PING0 MCO:BGN:INIT NODE,CP=RNNNA--,VER=2.1.1 4 TSM:INIT 4 TSF:WUR:MS=0 12 TSM:INIT:TSP OK 14 TSF:SID:OK,ID=1 16 TSM:FPAR 51 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 2060 !TSM:FPAR:NO REPLY 2062 TSM:FPAR 2099 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 4106 !TSM:FPAR:NO REPLY 4108 TSM:FPAR 4145 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 6152 !TSM:FPAR:NO REPLY 6154 TSM:FPAR 6191 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 8198 !TSM:FPAR:FAIL 8200 TSM:FAIL:CNT=1 8202 TSM:FAIL:PDT 18206 TSM:FAIL:RE-INIT 18208 TSM:INIT 18214 TSM:INIT:TSP OK 18219 TSF:SID:OK,ID=1 18221 TSM:FPAR 18257 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 20267 !TSM:FPAR:NO REPLY 20269 TSM:FPAR 20305 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 22315 !TSM:FPAR:NO REPLY 22317 TSM:FPAR 22353 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 24363 !TSM:FPAR:NO REPLY 24365 TSM:FPAR 24401 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 26411 !TSM:FPAR:FAIL 26413 TSM:FAIL:CNT=2 26415 TSM:FAIL:PDT 36419 TSM:FAIL:RE-INIT 36421 TSM:INIT 36427 TSM:INIT:TSP OK 36431 TSF:SID:OK,ID=1 36433 TSM:FPAR 36470 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 38479 !TSM:FPAR:NO REPLY 38481 TSM:FPAR 38518 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 40527 !TSM:FPAR:NO REPLY 40529 TSM:FPAR 40566 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 42575 !TSM:FPAR:NO REPLY 42577 TSM:FPAR 42614 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK: 44623 !TSM:FPAR:FAIL 44625 TSM:FAIL:CNT=3You find the pinouts I send before are right to you?
-
MY_* defines need to be before #include MySensors.h so you're doing the right thing.
I don't know about the pins, have never used anything but the default wiring myself. But if the pins were wrong you should get TSM:INIT:TSP FAIL instead of TSM:INIT:TSP OK.If you reconfigure the first mysgw (the one with the default pins) to use channel 83, does communication with the node on channel 83 work?
-
MY_* defines need to be before #include MySensors.h so you're doing the right thing.
I don't know about the pins, have never used anything but the default wiring myself. But if the pins were wrong you should get TSM:INIT:TSP FAIL instead of TSM:INIT:TSP OK.If you reconfigure the first mysgw (the one with the default pins) to use channel 83, does communication with the node on channel 83 work?
@mfalkvidd yeah, look three posts before.
I'll try to get mosi and miso from the default pin out sharing with the first radio. Now I'm using the ones marked as 1, when the default ones are marked 0. -
@mfalkvidd yeah, look three posts before.
I'll try to get mosi and miso from the default pin out sharing with the first radio. Now I'm using the ones marked as 1, when the default ones are marked 0.@Sergio-Rius I see. Sorry. Then we know the channel parameter works. Good testing.
Strange problem. It looks from the threads I linked earlier that using the second SPI does indeed work (if the pin definition fix is applied). When the first mysgw is stopped, your second mysgw should behave just as it did for Velo17 and wergeld. Can you think of any difference in your setup? -
@Sergio-Rius I see. Sorry. Then we know the channel parameter works. Good testing.
Strange problem. It looks from the threads I linked earlier that using the second SPI does indeed work (if the pin definition fix is applied). When the first mysgw is stopped, your second mysgw should behave just as it did for Velo17 and wergeld. Can you think of any difference in your setup?@mfalkvidd I have the impression that if I stop the first service, the second picks the first radio.
I disconnected the power from the first radio and left the second all connected and I only got TSM errors and fails. As soon as I attached power to the first NRF it worked.
Perhaps the other users only used the configurable pins (CS/CE/IRQ) on the extended bank... -
That's it. It doesn't use MOSI, MISO and SCLK from the SPI1. I removed the NRF1 and only connected those tree pins of NRF2 into SPI0 and service2 works with NRF2 at channel 125.
I've tried to share those pins (MOSI, MISO, SCLK) between both radios but as soon as I connect NRF1, 2 stops communicating. Same effect than connecting NRF2 to SPI1.
What a pity... #@%&!!! :grinning:
Edit: I finally tried a more "standard" configuration. Using only the first SPI bank and also doesn't work.
-
@Matt log files for the time where the problem occurred will be essential for troubleshooting.
make uninstall will stop the service and uninstall
make cleanconfig will remove previous ./configure settings
make clean will remove compiled code@mfalkvidd OK have attached the logfiles below.
No clues that I can see. At 1502 the NRF goes quiet. I have tried a different pi2, different NRF (PA/LNA) and am currently running the NRF off of 5V from the PI through one of those $1.00 regulator adapter things with built in caps and such. Have also tried different PSUs including a 2A one.
Only thing I can think left to try is reducing the power output in case the high output of the radio module is inducing transients in the cables...
Am kinda stumped here. I have an arduino NRF gateway that I will try via USB if low power does not work. I have tried setting up MYSGW as LAN and USB via ./configure but the same thing happens each time.
One thought just came to me, I AM using the pin15 IRQ option on the NRF now that is still experimental?
So next time will try without IRQ and low power...Any help/suggestions greatly appreciated.
FYI I have had domoticz running on a lubuntu netbook with USB arduino NRF gateway that has been rock solid. Am trying the get a workable PI solution though, for myself and my father in law but not workable as yet sadly...At 15:02:34 you can see the last incoming node message after that the only MYSGW activity is the PING thing... which seems to happen every 10S or so. This goes on for an hour after that with no more incomings. I have ~12 sensors around the place including a power meter one which reports every minute.
15:02:29 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:02:33 raspberrypi mysgw: TSF:MSG:READ,23-23-0,s=1,c=1,t=0,pt=7,l=5,sg=0:18.0 Aug 5 15:02:33 raspberrypi mysgw: TSF:MSG:READ,23-23-0,s=0,c=1,t=1,pt=7,l=5,sg=0:21.0 Aug 5 15:02:34 raspberrypi mysgw: TSF:MSG:READ,23-23-0,s=255,c=3,t=0,pt=1,l=1,sg=0:68 Aug 5 15:02:34 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:02:36 raspberrypi mysgw: Client 0: 0;0;3;0;18;PING Aug 5 15:02:37 raspberrypi mysgw: TSF:MSG:READ,41-7-0,s=0,c=1,t=0,pt=7,l=5,sg=0:11.6 Aug 5 15:02:41 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:02:46 raspberrypi mysgw: Client 0: 0;0;3;0;18;PING Aug 5 15:02:50 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:02:56 raspberrypi mysgw: Client 0: 0;0;3;0;18;PING Aug 5 15:02:57 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:03:06 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:03:06 raspberrypi mysgw: Client 0: 0;0;3;0;18;PING Aug 5 15:03:13 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:03:16 raspberrypi mysgw: Client 0: 0;0;3;0;18;PINGAlso FWIW to log from domoticz below. Ignore FANFLAG thats just a blockly flag I use...
2017-08-05 15:01:18.936 (GW) General/Voltage (FanIntakeV) 2017-08-05 15:02:04.935 (GW) General/kWh (Meter) 2017-08-05 15:02:33.940 (GW) Temp + Humidity (Mitch2) 2017-08-05 15:02:33.945 (GW) Temp + Humidity (Mitch2) 2017-08-05 15:02:37.941 (GW) Temp (MBR Fan) 2017-08-05 15:50:02.678 Set UserVariable FanFlag = 1 2017-08-05 15:51:02.693 Set UserVariable FanFlag = 1 2017-08-05 15:52:02.703 Set UserVariable FanFlag = 1 2017-08-05 15:53:02.710 Set UserVariable FanFlag = 1 2017-08-05 15:54:00.037 Set UserVariable FanFlag = 1Thanks,
Matt -
@mfalkvidd OK have attached the logfiles below.
No clues that I can see. At 1502 the NRF goes quiet. I have tried a different pi2, different NRF (PA/LNA) and am currently running the NRF off of 5V from the PI through one of those $1.00 regulator adapter things with built in caps and such. Have also tried different PSUs including a 2A one.
Only thing I can think left to try is reducing the power output in case the high output of the radio module is inducing transients in the cables...
Am kinda stumped here. I have an arduino NRF gateway that I will try via USB if low power does not work. I have tried setting up MYSGW as LAN and USB via ./configure but the same thing happens each time.
One thought just came to me, I AM using the pin15 IRQ option on the NRF now that is still experimental?
So next time will try without IRQ and low power...Any help/suggestions greatly appreciated.
FYI I have had domoticz running on a lubuntu netbook with USB arduino NRF gateway that has been rock solid. Am trying the get a workable PI solution though, for myself and my father in law but not workable as yet sadly...At 15:02:34 you can see the last incoming node message after that the only MYSGW activity is the PING thing... which seems to happen every 10S or so. This goes on for an hour after that with no more incomings. I have ~12 sensors around the place including a power meter one which reports every minute.
15:02:29 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:02:33 raspberrypi mysgw: TSF:MSG:READ,23-23-0,s=1,c=1,t=0,pt=7,l=5,sg=0:18.0 Aug 5 15:02:33 raspberrypi mysgw: TSF:MSG:READ,23-23-0,s=0,c=1,t=1,pt=7,l=5,sg=0:21.0 Aug 5 15:02:34 raspberrypi mysgw: TSF:MSG:READ,23-23-0,s=255,c=3,t=0,pt=1,l=1,sg=0:68 Aug 5 15:02:34 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:02:36 raspberrypi mysgw: Client 0: 0;0;3;0;18;PING Aug 5 15:02:37 raspberrypi mysgw: TSF:MSG:READ,41-7-0,s=0,c=1,t=0,pt=7,l=5,sg=0:11.6 Aug 5 15:02:41 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:02:46 raspberrypi mysgw: Client 0: 0;0;3;0;18;PING Aug 5 15:02:50 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:02:56 raspberrypi mysgw: Client 0: 0;0;3;0;18;PING Aug 5 15:02:57 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:03:06 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:03:06 raspberrypi mysgw: Client 0: 0;0;3;0;18;PING Aug 5 15:03:13 raspberrypi dhcpcd[734]: wlan0: Router Advertisement from fe80::260:64ff:fed7:f613 Aug 5 15:03:16 raspberrypi mysgw: Client 0: 0;0;3;0;18;PINGAlso FWIW to log from domoticz below. Ignore FANFLAG thats just a blockly flag I use...
2017-08-05 15:01:18.936 (GW) General/Voltage (FanIntakeV) 2017-08-05 15:02:04.935 (GW) General/kWh (Meter) 2017-08-05 15:02:33.940 (GW) Temp + Humidity (Mitch2) 2017-08-05 15:02:33.945 (GW) Temp + Humidity (Mitch2) 2017-08-05 15:02:37.941 (GW) Temp (MBR Fan) 2017-08-05 15:50:02.678 Set UserVariable FanFlag = 1 2017-08-05 15:51:02.693 Set UserVariable FanFlag = 1 2017-08-05 15:52:02.703 Set UserVariable FanFlag = 1 2017-08-05 15:53:02.710 Set UserVariable FanFlag = 1 2017-08-05 15:54:00.037 Set UserVariable FanFlag = 1Thanks,
Matt@Matt I agree that power is the most likely cause. The nrf24 is very sensitive.
Before you recompile, add --extra-cxxflags=-DMY_DEBUG_VERBOSE_RF24 to the configure command and you'll get extra details on the radio status in the gateway's debug log.
-
@Matt I agree that power is the most likely cause. The nrf24 is very sensitive.
Before you recompile, add --extra-cxxflags=-DMY_DEBUG_VERBOSE_RF24 to the configure command and you'll get extra details on the radio status in the gateway's debug log.
@mfalkvidd Thankyou. Stable for now. Not sure if they are even genuine modules so... Can reach outside to my glasshouse even on low power setting.
If it starts playing up again I'll add verbose logging and have another look. -
@niehoff80 and/or @Oliviakrk can you run
sudo raspi-config(install it using sudo apt-get install raspi-config if it isn't already installed)
Select8 Advanced Optionsand
A6 SPIand
Yesto all questions. Reboot the raspberry pi and try running make again. If that works I'll add it to the documentation.
-
I was able to compile it after doing what you're suggesting. It's still have error message during communication with the gateway but that is probably a noobs-error in my config. so I have to investigate a bit more.
-
Hi
I enabled SPI. For Rasberry PI B it was under 5. Interfacing options. The build completed successfully. Thanks!
But there is a problem...When I run mysqgw -d I get:
mysgw: Starting gateway...
mysgw: Protocol version - 2.1.1
mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.1
mysgw: TSM:INIT
mysgw: TSF:WUR:MS=0
mysgw: !TSM:INIT:TSP FAIL
mysgw: TSM:FAIL:CNT=1
mysgw: TSM:FAIL:PDTI also tried development release. Works perfectly. Looks like there is problem with stable.
-
Have the same problem with the stable branch as @Oliviakrk using the NRF24 transport on an Raspberry PI B, it might be a driver issue, is see that the make for the development branche builds the BCM drivers while the master branche does not.