💬 Building a Raspberry Pi Gateway
-
@marceloaqno :
Hi, unfortunately the latest patch did not work for me.
Still the gw stops receiving, but without high cpu usage :-(
Fortunately I can restart the gw now using a button and this udp-scripts :-)Of cource I could give dietpi a try, but I would think, that a general solution would be better (for other users as well)
cheers,
Otto -
just download the image and do the same as a Raspian image. I haven't tried mqtt gateway yet, so I don't know if it may be a gateway bug or else.
@gohan I had another sd card and tried a ready image of DietPi with Mosquitto pre-installed.
I tried it without user/password and mosquitto accepting anonymous but:/var/log/mosquitto/mosquitto.log:
1521141160: Socket error on client <unknown>, disconnecting.
1521141160: New connection from 127.0.0.1 on port 1883.
..keeps repeating......and sudo ./bin/mysgw -d:
mysgw: Starting gateway... mysgw: Protocol version - 2.2.0 mysgw: MCO:BGN:INIT GW,CP=RNNGLSQX,VER=2.2.0 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: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,TSP=1 mysgw: GWT:RMQ:MQTT RECONNECT mysgw: connected to 127.0.0.1 mysgw: GWT:RMQ:MQTT RECONNECT mysgw: connected to 127.0.0.1 mysgw: GWT:RMQ:MQTT RECONNECT``` -
1st patch is still working good for me. have had no issues since applying it.
question. is it normal/correct for the gateway to ping or spam? every 10 seconds i see the gateway announce it's version.
its not doing the full restart or anything.. just giving the 2.2.0 every 10 seconds. -
@gohan I had another sd card and tried a ready image of DietPi with Mosquitto pre-installed.
I tried it without user/password and mosquitto accepting anonymous but:/var/log/mosquitto/mosquitto.log:
1521141160: Socket error on client <unknown>, disconnecting.
1521141160: New connection from 127.0.0.1 on port 1883.
..keeps repeating......and sudo ./bin/mysgw -d:
mysgw: Starting gateway... mysgw: Protocol version - 2.2.0 mysgw: MCO:BGN:INIT GW,CP=RNNGLSQX,VER=2.2.0 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: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,TSP=1 mysgw: GWT:RMQ:MQTT RECONNECT mysgw: connected to 127.0.0.1 mysgw: GWT:RMQ:MQTT RECONNECT mysgw: connected to 127.0.0.1 mysgw: GWT:RMQ:MQTT RECONNECT``` -
-
@gohan I configured:
./configure --my-transport=nrf24 --my-gateway=ethernet --my-controller-ip-address=127.0.0.1 --my-rf24-irq-pin=15 --my-leds-err-pin=12 --my-leds-rx-pin=16 --my-leds-tx-pin=18 --my-signing=password --my-signing-password=ZZZZZZ./bin/mysgw -d:
mysgw: Starting gateway... mysgw: Protocol version - 2.2.0 mysgw: MCO:BGN:INIT GW,CP=RNNGLSQX,VER=2.2.0 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: connect: Connection refused mysgw: failed to connect mysgw: GWT:TIN:ETH OK mysgw: connect: Connection refused mysgw: failed to connect mysgw: GWT:TPS:ETH OK mysgw: connect: Connection refused mysgw: failed to connect mysgw: GWT:TPS:ETH OKThe controller doesn't exist on the DietPi card yet but I'm not sure if that's causing the problem.
-
@gohan I configured:
./configure --my-transport=nrf24 --my-gateway=ethernet --my-controller-ip-address=127.0.0.1 --my-rf24-irq-pin=15 --my-leds-err-pin=12 --my-leds-rx-pin=16 --my-leds-tx-pin=18 --my-signing=password --my-signing-password=ZZZZZZ./bin/mysgw -d:
mysgw: Starting gateway... mysgw: Protocol version - 2.2.0 mysgw: MCO:BGN:INIT GW,CP=RNNGLSQX,VER=2.2.0 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: connect: Connection refused mysgw: failed to connect mysgw: GWT:TIN:ETH OK mysgw: connect: Connection refused mysgw: failed to connect mysgw: GWT:TPS:ETH OK mysgw: connect: Connection refused mysgw: failed to connect mysgw: GWT:TPS:ETH OKThe controller doesn't exist on the DietPi card yet but I'm not sure if that's causing the problem.
@masmat I did a test with the following configuration:
-
Raspberry Pi 1 with Raspbian (2017-11-29-raspbian-stretch-lite)
pi@raspberrypi:~/MySensors $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.1 (stretch) Release: 9.1 Codename: stretch -
MySensors master branch - Protocol version - 2.2.0
./configure --my-transport=nrf24 --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-mqtt-publish-topic-prefix=mysensors-out --my-mqtt-subscribe-topic-prefix=mysensors-in --my-mqtt-client-id=m ygateway1 --my-mqtt-user=rpi --my-mqtt-password=password -
Mosquitto version 1.4.10 (build date Fri, 22 Dec 2017 08:19:25 +0000) [installed from apt-get]
pi@raspberrypi:~/MySensors $ cat /etc/mosquitto/mosquitto.conf # Place your local configuration in /etc/mosquitto/conf.d/ # # A full description of the configuration file is at # /usr/share/doc/mosquitto/examples/mosquitto.conf.example pid_file /var/run/mosquitto.pid persistence true persistence_location /var/lib/mosquitto/ log_dest file /var/log/mosquitto/mosquitto.log allow_anonymous false password_file /etc/mosquitto/passwordfile include_dir /etc/mosquitto/conf.dAdded the mosquitto user (user=rpi, password=password) with:
sudo mosquitto_passwd -c /etc/mosquitto/passwordfile rpi
It didn't show any error to connect to the MQTT broker:
pi@raspberrypi:~/MySensors $ sudo ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.2.0 mysgw: MCO:BGN:INIT GW,CP=RNNGL---,VER=2.2.0 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: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,TSP=1 mysgw: GWT:RMQ:MQTT RECONNECT mysgw: connected to 127.0.0.1 mysgw: GWT:RMQ:MQTT CONNECTED mysgw: GWT:TPS:TOPIC=mysensors-out/0/255/0/0/18,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1 mysgw: TSF:MSG:PINGED,ID=5,HP=1 mysgw: TSF:MSG:SEND,0-0-5-5,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1 mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=32,pt=5,l=4,sg=0:500 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/32,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=33,pt=5,l=4,sg=0:4951 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/33,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=1,c=1,t=37,pt=4,l=4,sg=0:36053 mysgw: GWT:TPS:TOPIC=mysensors-out/5/1/1/0/37,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=32,pt=5,l=4,sg=0:500 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/32,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=33,pt=5,l=4,sg=0:5000 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/33,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=1,c=1,t=37,pt=4,l=4,sg=0:36055 mysgw: GWT:TPS:TOPIC=mysensors-out/5/1/1/0/37,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=32,pt=5,l=4,sg=0:500 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/32,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=33,pt=5,l=4,sg=0:5000 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/33,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=1,c=1,t=37,pt=4,l=4,sg=0:36055 mysgw: GWT:TPS:TOPIC=mysensors-out/5/1/1/0/37,MSG SENT -
-
@gohan said in 💬 Building a Raspberry Pi Gateway:
@masmat have you tried with ethernet gateway? If I have time I'll try the mqtt this weekend
@mvader I never noticed that.... is it the mqtt GW?
I'm not using mqtt.
for debug purposes i use MYSController
every 10 seconds on the dot. it shows me the version of the gateway.201 3/15/2018 20:47:15 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 202 3/15/2018 20:47:25 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 203 3/15/2018 20:47:35 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 204 3/15/2018 20:47:45 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 205 3/15/2018 20:47:55 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 206 3/15/2018 20:48:05 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0@marceloaqno any ideas about that?
-
@gohan said in 💬 Building a Raspberry Pi Gateway:
@masmat have you tried with ethernet gateway? If I have time I'll try the mqtt this weekend
@mvader I never noticed that.... is it the mqtt GW?
I'm not using mqtt.
for debug purposes i use MYSController
every 10 seconds on the dot. it shows me the version of the gateway.201 3/15/2018 20:47:15 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 202 3/15/2018 20:47:25 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 203 3/15/2018 20:47:35 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 204 3/15/2018 20:47:45 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 205 3/15/2018 20:47:55 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0 206 3/15/2018 20:48:05 RX 0 - Gateway INTERNAL C_INTERNAL NO I_VERSION 2.2.0@marceloaqno any ideas about that?
-
Yesterday I cloned the latest version on a recent raspbian (9.3) and I applied the first patch of @marceloaqno .
We will see. So long there were no problems. I will send an update in a few days...
As a last help I could switch to mqtt and do a restart after a defined amount of time (if no events are received)....Cheers,
Otto -
@marceloaqno I got my gw rfm69 gateway suddenly stopped communicating with nodes. I tried everything to reinstall it but without luck. I was able to have it running on my test rpi with a complete OS reinstall. Is there anything else I need need to clean up from my install to reset every settings? (besides the mysensors folder and mysensors.dat file I already deleted)
-
How can I monitor the traffic data between the raspberry and RF module (NRF24L01) on a Ethernet gateway ??
My gateway is built for Ethernet. I start the gateway with "service mysgw start"
Now, I would like to get the same data output than output debug (./bin/mysgw -d) but without stop mysgw service.
I need to use MYSController as Ethernet client at the same time.Thanks
-
How can I monitor the traffic data between the raspberry and RF module (NRF24L01) on a Ethernet gateway ??
My gateway is built for Ethernet. I start the gateway with "service mysgw start"
Now, I would like to get the same data output than output debug (./bin/mysgw -d) but without stop mysgw service.
I need to use MYSController as Ethernet client at the same time.Thanks
-
@masmat I did a test with the following configuration:
-
Raspberry Pi 1 with Raspbian (2017-11-29-raspbian-stretch-lite)
pi@raspberrypi:~/MySensors $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.1 (stretch) Release: 9.1 Codename: stretch -
MySensors master branch - Protocol version - 2.2.0
./configure --my-transport=nrf24 --my-gateway=mqtt --my-controller-ip-address=127.0.0.1 --my-mqtt-publish-topic-prefix=mysensors-out --my-mqtt-subscribe-topic-prefix=mysensors-in --my-mqtt-client-id=m ygateway1 --my-mqtt-user=rpi --my-mqtt-password=password -
Mosquitto version 1.4.10 (build date Fri, 22 Dec 2017 08:19:25 +0000) [installed from apt-get]
pi@raspberrypi:~/MySensors $ cat /etc/mosquitto/mosquitto.conf # Place your local configuration in /etc/mosquitto/conf.d/ # # A full description of the configuration file is at # /usr/share/doc/mosquitto/examples/mosquitto.conf.example pid_file /var/run/mosquitto.pid persistence true persistence_location /var/lib/mosquitto/ log_dest file /var/log/mosquitto/mosquitto.log allow_anonymous false password_file /etc/mosquitto/passwordfile include_dir /etc/mosquitto/conf.dAdded the mosquitto user (user=rpi, password=password) with:
sudo mosquitto_passwd -c /etc/mosquitto/passwordfile rpi
It didn't show any error to connect to the MQTT broker:
pi@raspberrypi:~/MySensors $ sudo ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.2.0 mysgw: MCO:BGN:INIT GW,CP=RNNGL---,VER=2.2.0 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: MCO:BGN:STP mysgw: MCO:BGN:INIT OK,TSP=1 mysgw: GWT:RMQ:MQTT RECONNECT mysgw: connected to 127.0.0.1 mysgw: GWT:RMQ:MQTT CONNECTED mysgw: GWT:TPS:TOPIC=mysensors-out/0/255/0/0/18,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1 mysgw: TSF:MSG:PINGED,ID=5,HP=1 mysgw: TSF:MSG:SEND,0-0-5-5,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1 mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=32,pt=5,l=4,sg=0:500 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/32,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=33,pt=5,l=4,sg=0:4951 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/33,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=1,c=1,t=37,pt=4,l=4,sg=0:36053 mysgw: GWT:TPS:TOPIC=mysensors-out/5/1/1/0/37,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=32,pt=5,l=4,sg=0:500 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/32,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=33,pt=5,l=4,sg=0:5000 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/33,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=1,c=1,t=37,pt=4,l=4,sg=0:36055 mysgw: GWT:TPS:TOPIC=mysensors-out/5/1/1/0/37,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=32,pt=5,l=4,sg=0:500 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/32,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=255,c=3,t=33,pt=5,l=4,sg=0:5000 mysgw: GWT:TPS:TOPIC=mysensors-out/5/255/3/0/33,MSG SENT mysgw: TSF:MSG:READ,5-5-0,s=1,c=1,t=37,pt=4,l=4,sg=0:36055 mysgw: GWT:TPS:TOPIC=mysensors-out/5/1/1/0/37,MSG SENT@marceloaqno What does your mosquitto.log show?
I did a fresh install of DietPi (stretch), Mosquitto and MySensors --branch master. I left out everything and pretty much did the configure command as you did. I get the same result, but mosuiqtto log shows:1521584708: New connection from 127.0.0.1 on port 1883. 1521584708: New client connected from 127.0.0.1 as mygateway1 (c1, k15, u'masi'). 1521584733: Socket error on client mygateway1, disconnecting. 1521584778: New connection from 127.0.0.1 on port 1883.So is this normal?
I have one sensors built that's not connecting (its log shows it just trying and trying..). I would like to user simple password and the LEDs, I will build one extra sensors just to help testing. -
-
@romeo01 see instructions at https://www.mysensors.org/build/raspberry#troubleshooting
@mfalkvidd Thanks fer info, now I can see the serial protocol as well in the syslog. Next step should be to have a logfile dedicated to mysgw.
-
@otto001
Syslog:Mar 21 20:06:05 DietPi systemd[1]: Started MySensors Gateway daemon. Mar 21 20:06:05 DietPi mysgw: Starting gateway... Mar 21 20:06:05 DietPi mysgw: Protocol version - 2.2.0 Mar 21 20:06:05 DietPi mysgw: MCO:BGN:INIT GW,CP=RNNGL---,VER=2.2.0 Mar 21 20:06:05 DietPi mysgw: TSF:LRT:OK Mar 21 20:06:05 DietPi mysgw: TSM:INIT Mar 21 20:06:05 DietPi mysgw: TSF:WUR:MS=0 Mar 21 20:06:05 DietPi mysgw: TSM:INIT:TSP OK Mar 21 20:06:05 DietPi mysgw: TSM:INIT:GW MODE Mar 21 20:06:05 DietPi mysgw: TSM:READY:ID=0,PAR=0,DIS=0 Mar 21 20:06:05 DietPi mysgw: MCO:REG:NOT NEEDED Mar 21 20:06:05 DietPi mysgw: MCO:BGN:STP Mar 21 20:06:05 DietPi mysgw: MCO:BGN:INIT OK,TSP=1 Mar 21 20:06:05 DietPi mysgw: GWT:RMQ:MQTT RECONNECT Mar 21 20:06:05 DietPi mysgw: connected to 127.0.0.1 Mar 21 20:06:05 DietPi mysgw: GWT:RMQ:MQTT CONNECTED Mar 21 20:06:05 DietPi mysgw: GWT:TPS:TOPIC=mysensors-out/0/255/0/0/18,MSG SENTWhere is mysgw.log?