💬 Building a Raspberry Pi Gateway
-
@gohan :
dietpi looks interesting! did not know about this yet.
what hardware are you using? and what version of mysgw? -
I need help with my Rpi mqtt-gw.
I tried to get dev-branch working but changed now to stable. All the install routines run without problems. The service just doesn't seem to work and I can't figure out why.- Rpi W, Raspbian wheezy, nRF24-PA, MQTT-gw, Mosquitto and Openhab2 on same board
Mosquitto-log:
1521010232: New connection from 127.0.0.1 on port 1883. 1521010232: New client connected from 127.0.0.1 as mygateway1 (c1, k15, u'xxxx'). 1521010232: Socket error on client mygateway1, disconnecting.syslog:
Mar 14 08:51:02 GwMqOH2 systemd[1]: Starting MySensors Gateway daemon... Mar 14 08:51:02 GwMqOH2 systemd[1]: Started MySensors Gateway daemon. Mar 14 08:51:03 GwMqOH2 mysgw: Starting gateway... Mar 14 08:51:03 GwMqOH2 mysgw: Protocol version - 2.2.0 Mar 14 08:51:03 GwMqOH2 mysgw: MCO:BGN:INIT GW,CP=RNNGLSQX,VER=2.2.0 Mar 14 08:51:03 GwMqOH2 mysgw: TSF:LRT:OK Mar 14 08:51:03 GwMqOH2 mysgw: TSM:INIT Mar 14 08:51:03 GwMqOH2 mysgw: TSF:WUR:MS=0 Mar 14 08:51:03 GwMqOH2 mysgw: TSM:INIT:TSP OK Mar 14 08:51:03 GwMqOH2 mysgw: TSM:INIT:GW MODE Mar 14 08:51:03 GwMqOH2 mysgw: TSM:READY:ID=0,PAR=0,DIS=0 Mar 14 08:51:03 GwMqOH2 mysgw: MCO:REG:NOT NEEDED Mar 14 08:51:03 GwMqOH2 mysgw: MCO:BGN:STP Mar 14 08:51:03 GwMqOH2 mysgw: MCO:BGN:INIT OK,TSP=1 Mar 14 08:51:03 GwMqOH2 mysgw: GWT:RMQ:MQTT RECONNECT Mar 14 08:51:03 GwMqOH2 mysgw: connected to 127.0.0.1 Mar 14 08:51:03 GwMqOH2 mysgw: GWT:RMQ:MQTT CONNECTED Mar 14 08:51:03 GwMqOH2 mysgw: GWT:TPS:TOPIC=mysensors-out/0/255/0/0/18,MSG SENT Mar 14 08:51:03 GwMqOH2 systemd[1]: mysgw.service: main process exited, code=killed, status=11/SEGV Mar 14 08:51:03 GwMqOH2 systemd[1]: Unit mysgw.service entered failed state``` GW configure-line:./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=mygateway1 --my-rf24-irq-pin=15 --my-leds-err-pin=12 --my-leds-rx-pin=16 --my-leds-tx-pin=18 --my-mqtt-user=xxxx --my-mqtt-password=yyyyy --my-signing=password --my-signing-password=zzzzzz```
I have checked mosquitto has correct user-pw combination, but what should I check next? Help!
- Rpi W, Raspbian wheezy, nRF24-PA, MQTT-gw, Mosquitto and Openhab2 on same board
-
@masmat said in 💬 Building a Raspberry Pi Gateway:
--my-mqtt-client-id=mygateway1
Do you have another client named mygateway1 connecting to mqtt? Try changing it to a different name just to play safe
-
No, you need to recompile it again in case you make that change. Have you ever tried dietpi for RPI?
@gohan OK. I did that, the same socket error remains in Mosquitto just under new id.
Is my syntax correct or am I somehow having problems with mosquitto user-pw...?Haven't tried DietPi. Would Mys+Mosquitto+Openhab2 have trouble running on it? Or why should I change to it?
-
@gohan OK. I did that, the same socket error remains in Mosquitto just under new id.
Is my syntax correct or am I somehow having problems with mosquitto user-pw...?Haven't tried DietPi. Would Mys+Mosquitto+Openhab2 have trouble running on it? Or why should I change to it?
@masmat What is the mqtt broker / version you are using?
-
Can someone tell me how to apply this patch?
@gieljnssns One way is to replace the changed files, in this case EthernetServer.cpp for the first patch and EthernetClient.cpp for the second patch.
You can download from:
https://raw.githubusercontent.com/marceloaqno/MySensors/linux-fix-stability/drivers/Linux/EthernetServer.cpp
https://raw.githubusercontent.com/marceloaqno/MySensors/linux-fix-stability/drivers/Linux/EthernetClient.cppHere is a step-by-step:
git clone https://github.com/mysensors/MySensors.git cd MySensors curl https://raw.githubusercontent.com/marceloaqno/MySensors/linux-fix-stability/drivers/Linux/EthernetServer.cpp -o drivers/Linux/EthernetServer.cpp curl https://raw.githubusercontent.com/marceloaqno/MySensors/linux-fix-stability/drivers/Linux/EthernetClient.cpp -o drivers/Linux/EthernetClient.cppfrom here just run ./configure with your options and then make
-
@masmat What is the mqtt broker / version you are using?
@marceloaqno Mosquitto v1.4.14.
The broker is working, at least sending & receiving command line (_sub & _pub) messages. -
I'm using dietpi and I am not having big issues even running 2 gateway instances with 2 different radios
Can you provide some installation instructions for dietpi?
I will try this... -
@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.