Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Announcements
  3. 💬 Building a Raspberry Pi Gateway

💬 Building a Raspberry Pi Gateway

Scheduled Pinned Locked Moved Announcements
1.1k Posts 173 Posters 428.2k Views 131 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • AndurilA Offline
    AndurilA Offline
    Anduril
    wrote on last edited by
    #316

    that's what I tried in the past and am using now (socat), but it does not reconnect and has some other drawbacks. Reading of an officially supported way sounded interesting

    1 Reply Last reply
    0
    • lakshmcL lakshmc

      I using RPi2 and NRF24 for this. I followed the instructions, to clone the repo, and then added config
      ./configure --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-transport=nrf24

      make

      when i run with sudo ./bin/mysgw -d, it is failing to connect to MQTT. Can you please help?

      mysgw: Starting gateway...
      mysgw: Protocol version - 2.1.0
      mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.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: Attempting MQTT connection...
      mysgw: connect: Connection refused
      mysgw: failed to connect
      mysgw: Attempting MQTT connection...
      mysgw: connect: Connection refused
      mysgw: failed to connect
      mysgw: Attempting MQTT connection...
      mysgw: connect: Connection refused
      mysgw: failed to connect
      mysgw: Attempting MQTT connection...
      mysgw: connect: Connection refused
      mysgw: failed to connect

      P Offline
      P Offline
      pete1450
      wrote on last edited by pete1450
      #317

      @lakshmc Make sure you don't have the daemon running already

      If not, I'm getting the same problem on the 2.1.1 that was just released. 2.1.0 was working "fine"(besides my suspecting a bug that doesn't let any inclusion happen, hence I tried the new version). Time to go back to the serial gateway right into the vera.

      M 1 Reply Last reply
      0
      • P pete1450

        @lakshmc Make sure you don't have the daemon running already

        If not, I'm getting the same problem on the 2.1.1 that was just released. 2.1.0 was working "fine"(besides my suspecting a bug that doesn't let any inclusion happen, hence I tried the new version). Time to go back to the serial gateway right into the vera.

        M Offline
        M Offline
        marceloaqno
        Code Contributor
        wrote on last edited by
        #318

        @pete1450 @lakshmc
        Make sure you are not using an old version of mosquitto (or any other broker you're using):

        $ mosquitto -h
        mosquitto version 1.4.10 (build date 2016-09-20 11:02:07-0600)
        

        It's working fine with the 2.1.1 release:

        [alarm@pi3 mysgw]$ sudo ./bin/mysgw -d
        mysgw: Starting gateway...
        mysgw: Protocol version - 2.1.1
        mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.1
        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: Attempting MQTT connection...
        mysgw: connected to 127.0.0.1
        mysgw: MQTT connected
        mysgw: Sending message on topic: mysensors-out/0/255/0/0/18
        mysgw: TSF:MSG:READ,2-2-0,s=1,c=1,t=17,pt=7,l=5,sg=0:108.12
        mysgw: TSF:MSG:ACK REQ
        mysgw: TSF:MSG:SEND,0-0-2-2,s=1,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:108.12
        mysgw: Sending message on topic: mysensors-out/2/1/1/0/17
        mysgw: TSF:MSG:READ,2-2-0,s=2,c=1,t=17,pt=7,l=5,sg=0:48.31
        mysgw: TSF:MSG:ACK REQ
        mysgw: TSF:MSG:SEND,0-0-2-2,s=2,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:48.31
        mysgw: Sending message on topic: mysensors-out/2/2/1/0/17
        mysgw: TSF:MSG:READ,2-2-0,s=3,c=1,t=17,pt=7,l=5,sg=0:362.86
        mysgw: TSF:MSG:ACK REQ
        mysgw: TSF:MSG:SEND,0-0-2-2,s=3,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:362.86
        mysgw: Sending message on topic: mysensors-out/2/3/1/0/17
        
        P 1 Reply Last reply
        0
        • M marceloaqno

          @pete1450 @lakshmc
          Make sure you are not using an old version of mosquitto (or any other broker you're using):

          $ mosquitto -h
          mosquitto version 1.4.10 (build date 2016-09-20 11:02:07-0600)
          

          It's working fine with the 2.1.1 release:

          [alarm@pi3 mysgw]$ sudo ./bin/mysgw -d
          mysgw: Starting gateway...
          mysgw: Protocol version - 2.1.1
          mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.1
          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: Attempting MQTT connection...
          mysgw: connected to 127.0.0.1
          mysgw: MQTT connected
          mysgw: Sending message on topic: mysensors-out/0/255/0/0/18
          mysgw: TSF:MSG:READ,2-2-0,s=1,c=1,t=17,pt=7,l=5,sg=0:108.12
          mysgw: TSF:MSG:ACK REQ
          mysgw: TSF:MSG:SEND,0-0-2-2,s=1,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:108.12
          mysgw: Sending message on topic: mysensors-out/2/1/1/0/17
          mysgw: TSF:MSG:READ,2-2-0,s=2,c=1,t=17,pt=7,l=5,sg=0:48.31
          mysgw: TSF:MSG:ACK REQ
          mysgw: TSF:MSG:SEND,0-0-2-2,s=2,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:48.31
          mysgw: Sending message on topic: mysensors-out/2/2/1/0/17
          mysgw: TSF:MSG:READ,2-2-0,s=3,c=1,t=17,pt=7,l=5,sg=0:362.86
          mysgw: TSF:MSG:ACK REQ
          mysgw: TSF:MSG:SEND,0-0-2-2,s=3,c=1,t=17,pt=7,l=5,sg=0,ft=0,st=OK:362.86
          mysgw: Sending message on topic: mysensors-out/2/3/1/0/17
          
          P Offline
          P Offline
          pete1450
          wrote on last edited by
          #319

          @marceloaqno I should have specified, I'm getting the connection errors with the ethernet gateway.

          M 1 Reply Last reply
          0
          • P pete1450

            @marceloaqno I should have specified, I'm getting the connection errors with the ethernet gateway.

            M Offline
            M Offline
            marceloaqno
            Code Contributor
            wrote on last edited by
            #320

            @pete1450 Could you send the debug log with the connection errors?

            P 1 Reply Last reply
            0
            • lakshmcL Offline
              lakshmcL Offline
              lakshmc
              wrote on last edited by
              #321

              @marceloaqno After installing broker and gateway fresh, seems to be working. Thanks for your help.

              1 Reply Last reply
              0
              • M marceloaqno

                @pete1450 Could you send the debug log with the connection errors?

                P Offline
                P Offline
                pete1450
                wrote on last edited by
                #322

                @marceloaqno
                Ran as root and made sure I didn't have mysgw already running:

                rm -r MySensors/
                git clone https://github.com/mysensors/MySensors.git --branch master
                cd MySensors/
                ./configure --my-controller-ip-address=192.168.1.136 --my-port=5003 --my-rf24-irq-pin=15
                make
                
                
                root@raspberrypi:~/downloads/MySensors# ./bin/mysgw -d
                mysgw: Starting gateway...
                mysgw: Protocol version - 2.1.1
                mysgw: MCO:BGN:INIT GW,CP=RNNG--Q,VER=2.1.1
                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: Eth: connect
                
                M 1 Reply Last reply
                0
                • b0rmannB Offline
                  b0rmannB Offline
                  b0rmann
                  wrote on last edited by
                  #323

                  every few days mysgw randomly dies :(

                  Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:READ,5-5-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0
                  Jan 19 06:40:01 pi mysgw[17960]: Sending message on topic: mysensors/out/1/5/255/3/0/21
                  Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:READ,0-5-255,s=255,c=3,t=20,pt=0,l=0,sg=0:
                  Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:BC
                  Jan 19 06:40:01 pi systemd[1]: mysgw.service: main process exited, code=killed, status=11/SEGV
                  Jan 19 06:40:01 pi systemd[1]: Unit mysgw.service entered failed state.
                  
                  
                  M 1 Reply Last reply
                  0
                  • P pete1450

                    @marceloaqno
                    Ran as root and made sure I didn't have mysgw already running:

                    rm -r MySensors/
                    git clone https://github.com/mysensors/MySensors.git --branch master
                    cd MySensors/
                    ./configure --my-controller-ip-address=192.168.1.136 --my-port=5003 --my-rf24-irq-pin=15
                    make
                    
                    
                    root@raspberrypi:~/downloads/MySensors# ./bin/mysgw -d
                    mysgw: Starting gateway...
                    mysgw: Protocol version - 2.1.1
                    mysgw: MCO:BGN:INIT GW,CP=RNNG--Q,VER=2.1.1
                    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: Eth: connect
                    
                    M Offline
                    M Offline
                    marceloaqno
                    Code Contributor
                    wrote on last edited by
                    #324

                    @pete1450 If you use the --my-controller-ip-address= option, the gateway will act as a client and attempt to conect to the supplied ip and port. If you want the gateway to open port 5003, omit this option.

                    P 1 Reply Last reply
                    0
                    • AndurilA Offline
                      AndurilA Offline
                      Anduril
                      wrote on last edited by
                      #325

                      @marceloaqno what is the correct configure option to make this gatway connect to an ethernet gateway and let a serial-only-controller connect to it. I suppose to use the pty option, but didn't got this working. As said above, socat and nodered are no option.

                      M 1 Reply Last reply
                      0
                      • M marceloaqno

                        @pete1450 If you use the --my-controller-ip-address= option, the gateway will act as a client and attempt to conect to the supplied ip and port. If you want the gateway to open port 5003, omit this option.

                        P Offline
                        P Offline
                        pete1450
                        wrote on last edited by pete1450
                        #326

                        @marceloaqno Well that fixed the connection issue. Now I'm just back to square one where pressing start doesn't do anything. Why do I not need to specify my controllers ip? That is the ip for my veralite. Whats the use case for that option.

                        M 1 Reply Last reply
                        0
                        • b0rmannB b0rmann

                          every few days mysgw randomly dies :(

                          Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:READ,5-5-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0
                          Jan 19 06:40:01 pi mysgw[17960]: Sending message on topic: mysensors/out/1/5/255/3/0/21
                          Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:READ,0-5-255,s=255,c=3,t=20,pt=0,l=0,sg=0:
                          Jan 19 06:40:01 pi mysgw[17960]: TSF:MSG:BC
                          Jan 19 06:40:01 pi systemd[1]: mysgw.service: main process exited, code=killed, status=11/SEGV
                          Jan 19 06:40:01 pi systemd[1]: Unit mysgw.service entered failed state.
                          
                          
                          M Offline
                          M Offline
                          marceloaqno
                          Code Contributor
                          wrote on last edited by
                          #327

                          @b0rmann Could you provide the following information?

                          • Your RPi model and which linux distribution you are using.
                          • gcc version
                          • The version and options you used to build the gateway (./configure --option)
                          • The number of nodes on your network that sends messages to the gateway.
                          • The broker you are using for MQTT and its version
                          1 Reply Last reply
                          1
                          • AndurilA Anduril

                            @marceloaqno what is the correct configure option to make this gatway connect to an ethernet gateway and let a serial-only-controller connect to it. I suppose to use the pty option, but didn't got this working. As said above, socat and nodered are no option.

                            M Offline
                            M Offline
                            marceloaqno
                            Code Contributor
                            wrote on last edited by
                            #328

                            @Anduril Sorry, the gateway does not support what you're trying to do.

                            1 Reply Last reply
                            0
                            • P pete1450

                              @marceloaqno Well that fixed the connection issue. Now I'm just back to square one where pressing start doesn't do anything. Why do I not need to specify my controllers ip? That is the ip for my veralite. Whats the use case for that option.

                              M Offline
                              M Offline
                              marceloaqno
                              Code Contributor
                              wrote on last edited by
                              #329

                              @pete1450
                              I can't help you with this, I've never used the Vera controller. You need to search in the Vera settings where you set this option. If Vera supports being a server and opening a port for the gateway to connect, then you use the --my-controller-ip-address option.

                              1 Reply Last reply
                              1
                              • M Offline
                                M Offline
                                Michael Curtis
                                wrote on last edited by
                                #330

                                Does anyone know if the Raspberry implementation have a UserPassword option for ./configure MQTT

                                M 1 Reply Last reply
                                0
                                • M Michael Curtis

                                  Does anyone know if the Raspberry implementation have a UserPassword option for ./configure MQTT

                                  M Offline
                                  M Offline
                                  Michael Curtis
                                  wrote on last edited by
                                  #331

                                  @Michael-Curtis Nevermind, I fixed it.... you ned to add :

                                  --my-mqtt-password=<PASS>   MQTT password
                                  --my-mqtt-client-id=<ID>    MQTT client id.
                                  

                                  Under "cat"

                                  And for the actual options under "opt do"

                                  --my-mqtt-user=*)
                                      CPPFLAGS="-DMY_MQTT_USER=\\\"${optarg}\\\" $CPPFLAGS"
                                      ;;
                                  --my-mqtt-password=*)
                                      CPPFLAGS="-DMY_MQTT_PASSWORD=\\\"${optarg}\\\" $CPPFLAGS"
                                      ;;
                                  

                                  then just add those option flags to the ./configure and run make

                                  1 Reply Last reply
                                  0
                                  • Roberto Mo CaR Offline
                                    Roberto Mo CaR Offline
                                    Roberto Mo Ca
                                    wrote on last edited by
                                    #332

                                    what means "5VReg -> 3.3V" in raspberry? can connect directly to 3.3V or if requied connecto to 5V with regulator to obtain 3.3v?

                                    M 1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      macvictor
                                      wrote on last edited by
                                      #333

                                      Hi :) Does anybody know how to use MY_SIGNING_NODE_WHITELISTING in gateway raspbery pi? Where I must create/edit white list with my nodes?

                                      M 1 Reply Last reply
                                      0
                                      • OliverDogO Offline
                                        OliverDogO Offline
                                        OliverDog
                                        wrote on last edited by
                                        #334

                                        first sorry about the basics question but I think many people have the same questions and can't find the answers:
                                        After connecting the radio (including IRQ on 15pin) and the info LEDs to the GPIO, how to config it?

                                        1. Do I need to configure all the info on the same command, or can I send the command "./configure --" many times for different configs?
                                        2. Do I need to configure it as a MQTT gateway?
                                        3. Where did the 127.0.0.1 IP come from?
                                        4. Does MQTT use internet connection?
                                        5. Why do you talk about Serial Gateway here, once we have a specific type for it? this type is about using GPIO only, isn't it? That is confusing!!!
                                        M 1 Reply Last reply
                                        0
                                        • OliverDogO Offline
                                          OliverDogO Offline
                                          OliverDog
                                          wrote on last edited by
                                          #335

                                          trying to config on a Home Assistant Rpi.
                                          Sorry again for the newbie questions...!!!

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          18

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular