Skip to content
  • 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
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

💬 Building a Raspberry Pi Gateway

Scheduled Pinned Locked Moved Announcements
1.1k Posts 173 Posters 422.5k 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.
  • A Offline
    A Offline
    aglock
    wrote on last edited by
    #681

    Hello all!

    I'm trying to build a gateway with a Raspberry pi2, ethernet and Domoticz.
    It looks like the gateway is beeing built ok and seems to run fine but nodes can not communicate with it.
    I have read most of the postings here but I can not find any solution.
    Hope you guys can help? Please!

    I run raspbian (Jessie)
    pi@raspberrypi:~/MySensors/bin $ uname -a
    Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
    

    Using master branch

    https://www.mysensors.org/build/raspberry
    git clone https://github.com/mysensors/MySensors.git --branch master
    

    Configuring like this

    pi@raspberrypi:~/MySensors $ ./configure --my-gateway=ethernet --my-port=5003 --my-transport=nrf24 --my-rf24-ce-pin=22 --my-rf24-cs-pin=24
    [SECTION] Detecting target machine.
      [OK] machine detected: SoC=unknown, Type=unknown, CPU=armv7l.
    [SECTION] Checking GPIO Sysfs.
      [OK] /sys/class/gpio/export found
    [SECTION] Detecting SPI driver.
      [OK] SPI driver detected:SPIDEV.
    [SECTION] Detecting init system.
      [OK] init system detected: systemd.
    [SECTION] Saving configuration.
    [SECTION] Cleaning previous builds.
    [OK] Finished.
    

    Obs! No Raspberry identification, why not? Maybe that is the culprit?
    After make I start the gateway and get this:

    pi@raspberrypi:~/MySensors $ cd bin
    pi@raspberrypi:~/MySensors/bin $ sudo ./mysgw -d
    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 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:5003
    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
    

    Seems nice and dandy and Domoticz connecting fine.
    Trying with this example node:

    #define MY_RADIO_NRF24
    #define MY_RF24_PA_LEVEL RF24_PA_LOW
    #define MY_DEBUG
    #define MY_NODE_ID 42
    //#define MY_DEBUG_VERBOSE_RF24
    #define MY_BAUD_RATE 9600
    
    #include <MySensors.h>
    #include<Arduino.h>
    
    #define OPEN 1
    #define CLOSE 0
    #define CHILD_ID 1
    
    MyMessage msg(CHILD_ID, V_TRIPPED);
    
    uint8_t value = OPEN;
    
    void setup()
    {
      Serial.print("setup()\n");
    }
    
    void presentation()
    {
      sendSketchInfo("Door", "2.1.1");
      present(CHILD_ID, S_DOOR);
      Serial.print("presentation()\n");
    }
    
    void loop()
    {
      value = value == OPEN ? CLOSE : OPEN;
      send(msg.set(value));
      Serial.print("message sent");
      Serial.print(value + "\n");
      sleep(1000);
    }
    

    And recieve this when running:

    --- Miniterm on /dev/ttyUSB0 9600,8,N,1 ---
    --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
    0 MCO:BGN:INIT NODE,CP=RNNNA--,VER=2.1.1
    40 TSM:INIT
    55 TSF:WUR:MS=0
    77 TSM:INIT:TSP OK
    96 TSM:INIT:STATID=42
    120 TSF:SID:OK,ID=42
    141 TSM:FPAR
    190 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    2267 !TSM:FPAR:NO REPLY
    2291 TSM:FPAR
    2340 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    
    4417 !TSM:FPAR:NO REPLY
    4442 TSM:FPAR
    4491 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    6569 !TSM:FPAR:NO REPLY
    6594 TSM:FPAR
    6643 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    8720 !TSM:FPAR:FAIL
    8740 TSM:FAIL:CNT=1
    8761 TSM:FAIL:PDT
    

    And no output in gateway either.
    Both radio modules using capacitors.

    What have I missed?

    Thanks, Andreas!

    gohanG 1 Reply Last reply
    0
    • skywatchS Offline
      skywatchS Offline
      skywatch
      wrote on last edited by
      #682

      I tried for months to get a stable working nrf24 attached to pi to act as a gw and controller.

      In the end I gave up and now have a 3.3V 8MHz pro mini gw attached to the pi. I took 0v and 5v from the pi (via a 3.3v buck converter) and serial tx and rx. Only 4 wires needed and has been as stable as can be for over a week now.

      Maybe help someone with the same unsolveable problems?

      1 Reply Last reply
      0
      • A aglock

        Hello all!

        I'm trying to build a gateway with a Raspberry pi2, ethernet and Domoticz.
        It looks like the gateway is beeing built ok and seems to run fine but nodes can not communicate with it.
        I have read most of the postings here but I can not find any solution.
        Hope you guys can help? Please!

        I run raspbian (Jessie)
        pi@raspberrypi:~/MySensors/bin $ uname -a
        Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
        

        Using master branch

        https://www.mysensors.org/build/raspberry
        git clone https://github.com/mysensors/MySensors.git --branch master
        

        Configuring like this

        pi@raspberrypi:~/MySensors $ ./configure --my-gateway=ethernet --my-port=5003 --my-transport=nrf24 --my-rf24-ce-pin=22 --my-rf24-cs-pin=24
        [SECTION] Detecting target machine.
          [OK] machine detected: SoC=unknown, Type=unknown, CPU=armv7l.
        [SECTION] Checking GPIO Sysfs.
          [OK] /sys/class/gpio/export found
        [SECTION] Detecting SPI driver.
          [OK] SPI driver detected:SPIDEV.
        [SECTION] Detecting init system.
          [OK] init system detected: systemd.
        [SECTION] Saving configuration.
        [SECTION] Cleaning previous builds.
        [OK] Finished.
        

        Obs! No Raspberry identification, why not? Maybe that is the culprit?
        After make I start the gateway and get this:

        pi@raspberrypi:~/MySensors $ cd bin
        pi@raspberrypi:~/MySensors/bin $ sudo ./mysgw -d
        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 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:5003
        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
        

        Seems nice and dandy and Domoticz connecting fine.
        Trying with this example node:

        #define MY_RADIO_NRF24
        #define MY_RF24_PA_LEVEL RF24_PA_LOW
        #define MY_DEBUG
        #define MY_NODE_ID 42
        //#define MY_DEBUG_VERBOSE_RF24
        #define MY_BAUD_RATE 9600
        
        #include <MySensors.h>
        #include<Arduino.h>
        
        #define OPEN 1
        #define CLOSE 0
        #define CHILD_ID 1
        
        MyMessage msg(CHILD_ID, V_TRIPPED);
        
        uint8_t value = OPEN;
        
        void setup()
        {
          Serial.print("setup()\n");
        }
        
        void presentation()
        {
          sendSketchInfo("Door", "2.1.1");
          present(CHILD_ID, S_DOOR);
          Serial.print("presentation()\n");
        }
        
        void loop()
        {
          value = value == OPEN ? CLOSE : OPEN;
          send(msg.set(value));
          Serial.print("message sent");
          Serial.print(value + "\n");
          sleep(1000);
        }
        

        And recieve this when running:

        --- Miniterm on /dev/ttyUSB0 9600,8,N,1 ---
        --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
        0 MCO:BGN:INIT NODE,CP=RNNNA--,VER=2.1.1
        40 TSM:INIT
        55 TSF:WUR:MS=0
        77 TSM:INIT:TSP OK
        96 TSM:INIT:STATID=42
        120 TSF:SID:OK,ID=42
        141 TSM:FPAR
        190 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        2267 !TSM:FPAR:NO REPLY
        2291 TSM:FPAR
        2340 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        
        4417 !TSM:FPAR:NO REPLY
        4442 TSM:FPAR
        4491 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        6569 !TSM:FPAR:NO REPLY
        6594 TSM:FPAR
        6643 TSF:MSG:SEND,42-42-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        8720 !TSM:FPAR:FAIL
        8740 TSM:FAIL:CNT=1
        8761 TSM:FAIL:PDT
        

        And no output in gateway either.
        Both radio modules using capacitors.

        What have I missed?

        Thanks, Andreas!

        gohanG Offline
        gohanG Offline
        gohan
        Mod
        wrote on last edited by
        #683

        @aglock I put a note on the raspberry gateway page to use latest development in case of problems with stable. Did you try?

        A 2 Replies Last reply
        0
        • gohanG gohan

          @aglock I put a note on the raspberry gateway page to use latest development in case of problems with stable. Did you try?

          A Offline
          A Offline
          aglock
          wrote on last edited by
          #684

          @gohan yes. Interesting though when I used git to switch between branches it said all files where the same?
          Do you think the fault is in the gateway somehow?

          1 Reply Last reply
          0
          • gohanG gohan

            @aglock I put a note on the raspberry gateway page to use latest development in case of problems with stable. Did you try?

            A Offline
            A Offline
            aglock
            wrote on last edited by
            #685

            @gohan Tried it again
            configure now recognizes the rpi:

            pi@raspberrypi:~/mys_dev $ ./configure --my-gateway=ethernet --my-port=5003 --my-transport=nrf24 --my-rf24-ce-pin=22 --my-rf24-cs-pin=24
            [SECTION] Detecting target machine.
              [OK] machine detected: SoC=BCM2836, Type=rpi2, CPU=armv7l.
            [SECTION] Detecting SPI driver.
              [OK] SPI driver detected:BCM.
            [SECTION] Detecting init system.
              [OK] init system detected: systemd.
            [SECTION] Saving configuration.
            [SECTION] Cleaning previous builds.
            [OK] Finished.
            

            But make fails with the following error:

            -I./core -I./drivers/Linux -I./drivers/BCM -c drivers/BCM/bcm2835.c -o build/drivers/BCM/bcm2835.o
            drivers/BCM/bcm2835.c: In function ‘bcm2835_delayMicroseconds’:
            drivers/BCM/bcm2835.c:441:40: error: expected ‘)’ before ‘PRIu64’
               printf("bcm2835_delayMicroseconds %" PRIu64 "\n", micros);
                                                    ^
            drivers/BCM/bcm2835.c:441:40: warning: spurious trailing ‘%’ in format [-Wformat=]
            Makefile:102: recipe for target 'build/drivers/BCM/bcm2835.o' failed
            make: *** [build/drivers/BCM/bcm2835.o] Error 1
            pi@raspberrypi:~/mys_dev $ 
            

            What to do about it?

            mfalkviddM 1 Reply Last reply
            0
            • A aglock

              @gohan Tried it again
              configure now recognizes the rpi:

              pi@raspberrypi:~/mys_dev $ ./configure --my-gateway=ethernet --my-port=5003 --my-transport=nrf24 --my-rf24-ce-pin=22 --my-rf24-cs-pin=24
              [SECTION] Detecting target machine.
                [OK] machine detected: SoC=BCM2836, Type=rpi2, CPU=armv7l.
              [SECTION] Detecting SPI driver.
                [OK] SPI driver detected:BCM.
              [SECTION] Detecting init system.
                [OK] init system detected: systemd.
              [SECTION] Saving configuration.
              [SECTION] Cleaning previous builds.
              [OK] Finished.
              

              But make fails with the following error:

              -I./core -I./drivers/Linux -I./drivers/BCM -c drivers/BCM/bcm2835.c -o build/drivers/BCM/bcm2835.o
              drivers/BCM/bcm2835.c: In function ‘bcm2835_delayMicroseconds’:
              drivers/BCM/bcm2835.c:441:40: error: expected ‘)’ before ‘PRIu64’
                 printf("bcm2835_delayMicroseconds %" PRIu64 "\n", micros);
                                                      ^
              drivers/BCM/bcm2835.c:441:40: warning: spurious trailing ‘%’ in format [-Wformat=]
              Makefile:102: recipe for target 'build/drivers/BCM/bcm2835.o' failed
              make: *** [build/drivers/BCM/bcm2835.o] Error 1
              pi@raspberrypi:~/mys_dev $ 
              

              What to do about it?

              mfalkviddM Offline
              mfalkviddM Offline
              mfalkvidd
              Mod
              wrote on last edited by
              #686

              @aglock see https://forum.mysensors.org/post/79403

              A 1 Reply Last reply
              0
              • mfalkviddM mfalkvidd

                @aglock see https://forum.mysensors.org/post/79403

                A Offline
                A Offline
                aglock
                wrote on last edited by
                #687

                @mfalkvidd Wow, thanks that works! :D

                1 Reply Last reply
                1
                • WoekaW Offline
                  WoekaW Offline
                  Woeka
                  wrote on last edited by
                  #688

                  Got mysensors gateway working on gpio of my Pi again using ./configure --my-transport=nrf24 --my-rf24-irq-pin=15 --my-leds-err-pin=12 --my-leds-rx-pin=16 --my-leds-tx-pin=18 --my-gateway=ethernet --my-port=5003

                  However on tx or tx always the two leds connected to pin 16 and 18 are lit. More people with the same problem?

                  S 1 Reply Last reply
                  0
                  • WoekaW Woeka

                    Got mysensors gateway working on gpio of my Pi again using ./configure --my-transport=nrf24 --my-rf24-irq-pin=15 --my-leds-err-pin=12 --my-leds-rx-pin=16 --my-leds-tx-pin=18 --my-gateway=ethernet --my-port=5003

                    However on tx or tx always the two leds connected to pin 16 and 18 are lit. More people with the same problem?

                    S Offline
                    S Offline
                    sineverba
                    Hardware Contributor
                    wrote on last edited by
                    #689

                    @Woeka There is (on Arduino Gateway) a function named "DEFINE INVERSE BLINK". Try to search for same for PI....

                    1 Reply Last reply
                    0
                    • R Offline
                      R Offline
                      romeo01
                      wrote on last edited by romeo01
                      #690

                      Can we use the "debug ota log" features with the raspberryPi gateway ??

                      My node is not accessible and runs MYSBootloader.
                      My gateway is raspberryPI.

                      Now, I need to update the firmware on my node. Via MYSController, no problems, upload runs like a charm.

                      But how to do for debugging my sketch ? Some bugs appear...... , I need to take a look on some vars values.
                      Usually, I use the serial port with serial.print(some vars).
                      Which alternative I have to use without serial port, only OTA features ?

                      Thanks for the great work !!

                      1 Reply Last reply
                      0
                      • gohanG Offline
                        gohanG Offline
                        gohan
                        Mod
                        wrote on last edited by
                        #691

                        Unless you are using an esp8266, I don't think you can remote debug a pro mini. @sundberg84 is working on a serial logger to microsd card, maybe it could help you in some way

                        1 Reply Last reply
                        0
                        • R Offline
                          R Offline
                          romeo01
                          wrote on last edited by
                          #692

                          In fact, I do not need to log, but need to look what's happen in my sketch.
                          The new "OTALog" function, MY_OTA_LOG_SENDER_FEATURE or MY_DEBUG_OTA seems to be the good way.
                          From the docs, it allows to send a debug message to another node or gateway via OTA.

                          But how to got the debug message from OTA node, on the gateway side (RaspberryPi) ?

                          1 Reply Last reply
                          0
                          • gohanG Offline
                            gohanG Offline
                            gohan
                            Mod
                            wrote on last edited by
                            #693

                            @romeo01 said in 💬 Building a Raspberry Pi Gateway:

                            MY_DEBUG_OTA

                            I'd start reading from here https://www.mysensors.org/apidocs-beta/group__SerialDebugGrpPub.html#ga6bd5956352d3a184a0cb02783b8d35ff

                            R 1 Reply Last reply
                            0
                            • gohanG gohan

                              @romeo01 said in 💬 Building a Raspberry Pi Gateway:

                              MY_DEBUG_OTA

                              I'd start reading from here https://www.mysensors.org/apidocs-beta/group__SerialDebugGrpPub.html#ga6bd5956352d3a184a0cb02783b8d35ff

                              R Offline
                              R Offline
                              romeo01
                              wrote on last edited by
                              #694

                              @gohan said in 💬 Building a Raspberry Pi Gateway:

                              @romeo01 said in 💬 Building a Raspberry Pi Gateway:

                              MY_DEBUG_OTA

                              I'd start reading from here https://www.mysensors.org/apidocs-beta/group__SerialDebugGrpPub.html#ga6bd5956352d3a184a0cb02783b8d35ff

                              Well, you found the starting point !

                              MY_OTA_LOG_SENDER_FEATURE & MY_DEBUG_OTA are enabled on my OTA node.

                              Again the same question: What I have to do on the gateway side ?
                              Is it possible with the raspberry Gateway ?

                              I'm still looking for debugging my sketch in remote. I need to have a look on the debug messages. I reminder, the node is not accessible and runs MYSbootloader.

                              1 Reply Last reply
                              0
                              • gohanG Offline
                                gohanG Offline
                                gohan
                                Mod
                                wrote on last edited by
                                #695

                                If I understood well, you need to set a target node ID that will receive the debug and then make a node with that ID in order to get the debug messages

                                1 Reply Last reply
                                0
                                • R Offline
                                  R Offline
                                  romeo01
                                  wrote on last edited by
                                  #696

                                  Exactly, but I would like to use the gateway (raspberry) as target.
                                  Is that possible ?
                                  If yes, how to display the debug message on the gateway.
                                  I have an access to my gateway only via SSH.

                                  1 Reply Last reply
                                  0
                                  • gohanG Offline
                                    gohanG Offline
                                    gohan
                                    Mod
                                    wrote on last edited by
                                    #697

                                    I have no idea if can do it, but you could just have a node connected to USB port of the rpi and do a "cat" on the USB port and you can read the debug from the node

                                    1 Reply Last reply
                                    0
                                    • signal15S Offline
                                      signal15S Offline
                                      signal15
                                      wrote on last edited by
                                      #698

                                      Is it possible to build a gateway that is MQTT, but also listens on port 5003? I want to send my data up to AWS IoT, but I also need port 5003 for Vera integration.

                                      1 Reply Last reply
                                      0
                                      • gohanG Offline
                                        gohanG Offline
                                        gohan
                                        Mod
                                        wrote on last edited by
                                        #699

                                        You can use node-red to bridge the ethernet gateway and the aws service. Are you sure vera plug in doesn't support mqtt?

                                        1 Reply Last reply
                                        1
                                        • signal15S Offline
                                          signal15S Offline
                                          signal15
                                          wrote on last edited by
                                          #700

                                          @gohan, there are two MQTT plugins for the Vera with varying capabilities. But, the mysensors plugin for Vera doesn't appear to support MQTT at all. I could probably get one of those MQTT plugins working, but I'm not sure how stable they are. I hate installing unstable plugins and having them crash LUUP. I need to maintain a positive WAF (Wife Acceptance Factor), and broken HA doesn't help with that. :)

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


                                          13

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 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
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular