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 422.6k 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.
  • P pandy

    Hi and sorry for the question..
    I have been trying to build a gateway with a raspberry pi 1 and a radio module nrf24 + for several days without success. .I am analyzing step by step what I can be wrong..
    You can kindly indicate the exact command syntax ./configure I have to give?
    thank you so much

    mfalkviddM Online
    mfalkviddM Online
    mfalkvidd
    Mod
    wrote on last edited by mfalkvidd
    #538

    Welcome to the MySensors community @pandy

    ./configure --my-transport=nrf24
    

    should be sufficient. What results did you get from the make and sudo ./bin/mysgw -d commands?

    P 1 Reply Last reply
    0
    • mfalkviddM mfalkvidd

      Welcome to the MySensors community @pandy

      ./configure --my-transport=nrf24
      

      should be sufficient. What results did you get from the make and sudo ./bin/mysgw -d commands?

      P Offline
      P Offline
      pandy
      wrote on last edited by
      #539

      @mfalkvidd said in 💬 Building a Raspberry Pi Gateway:

      ./configure --my-transport=nrf24

      Hi and thanks for the quick answer..
      This is the result of the command:

      [SECTION] Detecting target machine.
      [OK] machine detected: SoC=BCM2835, Type=rpi1, CPU=armv6l.
      [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.

      P 1 Reply Last reply
      0
      • P pandy

        @mfalkvidd said in 💬 Building a Raspberry Pi Gateway:

        ./configure --my-transport=nrf24

        Hi and thanks for the quick answer..
        This is the result of the command:

        [SECTION] Detecting target machine.
        [OK] machine detected: SoC=BCM2835, Type=rpi1, CPU=armv6l.
        [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.

        P Offline
        P Offline
        pandy
        wrote on last edited by
        #540

        The result of the "make" command is very long ..

        P 1 Reply Last reply
        0
        • P pandy

          Hi and sorry for the question..
          I have been trying to build a gateway with a raspberry pi 1 and a radio module nrf24 + for several days without success. .I am analyzing step by step what I can be wrong..
          You can kindly indicate the exact command syntax ./configure I have to give?
          thank you so much

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

          @pandy

          On pi1 I cannot get a stable and re-doable configuration. See some post before.

          I finally swith to Arduino connected via USB. WOrks like a charme. Probably an issue with PI1.

          1 Reply Last reply
          0
          • P pandy

            The result of the "make" command is very long ..

            P Offline
            P Offline
            pandy
            wrote on last edited by
            #542

            the result of sudo ./bin/mysgw -d is :

            mysgw: Starting gateway...
            mysgw: Protocol version - 2.2.0-beta

            and it blocks..

            gohanG S 2 Replies Last reply
            0
            • P pandy

              the result of sudo ./bin/mysgw -d is :

              mysgw: Starting gateway...
              mysgw: Protocol version - 2.2.0-beta

              and it blocks..

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

              @pandy that's definitely a problem. What linux are you using?

              1 Reply Last reply
              0
              • P pandy

                the result of sudo ./bin/mysgw -d is :

                mysgw: Starting gateway...
                mysgw: Protocol version - 2.2.0-beta

                and it blocks..

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

                @pandy Same my problem.
                @gohan I did try also the DIETPI, how you did suggest to me some days ago. Only to say to @pandy let down the idea to use PI1. Use arduino usb/serial with your PI1.
                I did use several nights.... :(

                P 1 Reply Last reply
                0
                • P Offline
                  P Offline
                  pandy
                  wrote on last edited by
                  #545

                  Thanks to everyone for the answers and suggestions...
                  At this point I think the problem is the raspberry type..
                  I will try the suggested solution above otherwise I will be forced to change raspberry ..
                  Thanks to everyone for help

                  gohanG 1 Reply Last reply
                  0
                  • S sineverba

                    @pandy Same my problem.
                    @gohan I did try also the DIETPI, how you did suggest to me some days ago. Only to say to @pandy let down the idea to use PI1. Use arduino usb/serial with your PI1.
                    I did use several nights.... :(

                    P Offline
                    P Offline
                    pandy
                    wrote on last edited by
                    #546

                    @sineverba thank you for your suggestion..Do you have a link where I can find a tutorial for this system?
                    thank you so much

                    1 Reply Last reply
                    0
                    • P pandy

                      Thanks to everyone for the answers and suggestions...
                      At this point I think the problem is the raspberry type..
                      I will try the suggested solution above otherwise I will be forced to change raspberry ..
                      Thanks to everyone for help

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

                      @pandy go for a new rpi3 that works very well.

                      1 Reply Last reply
                      1
                      • Velo17V Offline
                        Velo17V Offline
                        Velo17
                        wrote on last edited by
                        #548

                        Hello everyone!

                        I am trying to use a NRF24 module on the SPI1 of a Raspberry2 (so that I can also use a touch tft on SPI0).

                        I enabled it in the config.txt so that is lists under /dev/spidev1.0 - for conveniency I configured the CS0 to be at GPIO16=Pin36 (by using dtoverlay=spi1-1cs,cs0_pin=16).

                        I use the dev branch of MySensors.git as the master branch does not recognize my Pi. I used this configure line:

                        ./configure --my-rf24-channel=124 --my-rf24-irq-pin=29 --my-rf24-ce-pin=31 --my-rf24-cs-pin=36 --spi-driver=SPIDEV --spi-spidev-device=/dev/spidev1.0
                        

                        successful make
                        but when I run the gateway in the shell with sudo ./bin/mysgw -d, I get the following:

                        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: pinMode: invalid pin: 29
                        mysgw: pinMode: invalid pin: 31
                        mysgw: pinMode: invalid pin: 36
                        mysgw: digitalWrite: invalid pin: 31
                        mysgw: digitalWrite: invalid pin: 36
                        mysgw: digitalPinToInterrupt: invalid pin: 29
                        mysgw: digitalPinToInterrupt: invalid pin: 29
                        mysgw: digitalWrite: invalid pin: 36
                        

                        Any ideas what I can do to make it work?

                        Velo17V 1 Reply Last reply
                        0
                        • Velo17V Velo17

                          Hello everyone!

                          I am trying to use a NRF24 module on the SPI1 of a Raspberry2 (so that I can also use a touch tft on SPI0).

                          I enabled it in the config.txt so that is lists under /dev/spidev1.0 - for conveniency I configured the CS0 to be at GPIO16=Pin36 (by using dtoverlay=spi1-1cs,cs0_pin=16).

                          I use the dev branch of MySensors.git as the master branch does not recognize my Pi. I used this configure line:

                          ./configure --my-rf24-channel=124 --my-rf24-irq-pin=29 --my-rf24-ce-pin=31 --my-rf24-cs-pin=36 --spi-driver=SPIDEV --spi-spidev-device=/dev/spidev1.0
                          

                          successful make
                          but when I run the gateway in the shell with sudo ./bin/mysgw -d, I get the following:

                          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: pinMode: invalid pin: 29
                          mysgw: pinMode: invalid pin: 31
                          mysgw: pinMode: invalid pin: 36
                          mysgw: digitalWrite: invalid pin: 31
                          mysgw: digitalWrite: invalid pin: 36
                          mysgw: digitalPinToInterrupt: invalid pin: 29
                          mysgw: digitalPinToInterrupt: invalid pin: 29
                          mysgw: digitalWrite: invalid pin: 36
                          

                          Any ideas what I can do to make it work?

                          Velo17V Offline
                          Velo17V Offline
                          Velo17
                          wrote on last edited by Velo17
                          #549

                          I think I might have found the root of the problem. The ./configure detects my Rpi2 as such (rpi2) but in the RPi.cpp in line 26 there is the pin to GPIO translation array and it is lacking translations for the high pin numbers - which is obviously wrong as on the RPi2 you have the extended GPIO connector with 40 pins...

                          const static int pin_to_gpio_rev1[41] = {-1, -1, -1, 0, -1, 1, -1, 4, 14, -1, 15, 17, 18, 21, -1, 22, 23, -1, 24, 10, -1, 9, 25, 11, 8, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
                          const static int pin_to_gpio_rev2[41] = {-1, -1, -1, 2, -1, 3, -1, 4, 14, -1, 15, 17, 18, 27, -1, 22, 23, -1, 24, 10, -1, 9, 25, 11, 8, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
                          const static int pin_to_gpio_rev3[41] = {-1, -1, -1, 2, -1, 3, -1, 4, 14, -1, 15, 17, 18, 27, -1, 22, 23, -1, 24, 10, -1, 9, 25, 11, 8, -1, 7, -1, -1, 5, -1, 6, 12, 13, -1, 19, 16, 26, 20, -1, 21 };
                          

                          I copied the rev3 array to the rev2 array and compiled this and it seems to work in my case!

                          W 1 Reply Last reply
                          3
                          • Velo17V Velo17

                            I think I might have found the root of the problem. The ./configure detects my Rpi2 as such (rpi2) but in the RPi.cpp in line 26 there is the pin to GPIO translation array and it is lacking translations for the high pin numbers - which is obviously wrong as on the RPi2 you have the extended GPIO connector with 40 pins...

                            const static int pin_to_gpio_rev1[41] = {-1, -1, -1, 0, -1, 1, -1, 4, 14, -1, 15, 17, 18, 21, -1, 22, 23, -1, 24, 10, -1, 9, 25, 11, 8, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
                            const static int pin_to_gpio_rev2[41] = {-1, -1, -1, 2, -1, 3, -1, 4, 14, -1, 15, 17, 18, 27, -1, 22, 23, -1, 24, 10, -1, 9, 25, 11, 8, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 };
                            const static int pin_to_gpio_rev3[41] = {-1, -1, -1, 2, -1, 3, -1, 4, 14, -1, 15, 17, 18, 27, -1, 22, 23, -1, 24, 10, -1, 9, 25, 11, 8, -1, 7, -1, -1, 5, -1, 6, 12, 13, -1, 19, 16, 26, 20, -1, 21 };
                            

                            I copied the rev3 array to the rev2 array and compiled this and it seems to work in my case!

                            W Offline
                            W Offline
                            wergeld
                            wrote on last edited by
                            #550

                            @Velo17 Thank you! I had been pulling my hair out over this issue on installing a new RPi2 setup.

                            1 Reply Last reply
                            0
                            • mfalkviddM Online
                              mfalkviddM Online
                              mfalkvidd
                              Mod
                              wrote on last edited by
                              #551

                              Adding link to the github issue (thanks for creating!) for future reference
                              https://github.com/mysensors/MySensors/issues/895

                              1 Reply Last reply
                              0
                              • Velo17V Offline
                                Velo17V Offline
                                Velo17
                                wrote on last edited by
                                #552

                                I just noticed that mysgw is constantly consuming 95-100% CPU here. This even happens when I unplug the NRF24 module so that after starting mysgw basically nothing happens. Running development branch. Hmmmm. Any idea what to check?

                                mfalkviddM 1 Reply Last reply
                                0
                                • Velo17V Velo17

                                  I just noticed that mysgw is constantly consuming 95-100% CPU here. This even happens when I unplug the NRF24 module so that after starting mysgw basically nothing happens. Running development branch. Hmmmm. Any idea what to check?

                                  mfalkviddM Online
                                  mfalkviddM Online
                                  mfalkvidd
                                  Mod
                                  wrote on last edited by mfalkvidd
                                  #553

                                  @Velo17 strace might be able to help:

                                  sudo strace ./bin/mysgw -d
                                  

                                  Could you post your configure command? I'd like to try to reproduce the problem. I have a gateway with development from git as of about 2 weeks ago (a9418271) but I'm not using the nrf24. That gateway uses about 2% cpu on my Raspberry Pi 1. There have only been 6 commits since I built my gateway but I can update it and see if it starts acting up.

                                  On my gateway, strace outputs loads and loads of these:

                                  gettimeofday({1501098316, 668956}, NULL) = 0
                                  ioctl(6, FIONREAD, [0])                 = 0
                                  gettimeofday({1501098316, 671383}, NULL) = 0
                                  gettimeofday({1501098316, 672447}, NULL) = 0
                                  gettimeofday({1501098316, 673818}, NULL) = 0
                                  nanosleep({0, 10000000}, NULL)          = 0
                                  gettimeofday({1501098316, 685602}, NULL) = 0
                                  getsockopt(6, SOL_TCP, TCP_INFO, "\1\0\0\0\0\7g\1P4\3\0@\234\0\0\250\5\0\0\30\2\0\0\0\0\0\0\0\0\0\0"..., [104]) = 0
                                  getsockopt(6, SOL_TCP, TCP_INFO, "\1\0\0\0\0\7g\1P4\3\0@\234\0\0\250\5\0\0\30\2\0\0\0\0\0\0\0\0\0\0"..., [104]) = 0
                                  gettimeofday({1501098316, 689179}, NULL) = 0
                                  ioctl(6, FIONREAD, [0])                 = 0
                                  

                                  Also, which git hash are you using? (git log -1)

                                  Another thing to try could be to enable all the debug flags in MyConfig.h and see if they give you something interesting.

                                  1 Reply Last reply
                                  0
                                  • mfalkviddM Online
                                    mfalkviddM Online
                                    mfalkvidd
                                    Mod
                                    wrote on last edited by
                                    #554

                                    I updated my gateway to 10ef623 (latest from git). Still works ok.

                                    Velo17V 1 Reply Last reply
                                    0
                                    • mfalkviddM mfalkvidd

                                      I updated my gateway to 10ef623 (latest from git). Still works ok.

                                      Velo17V Offline
                                      Velo17V Offline
                                      Velo17
                                      wrote on last edited by
                                      #555

                                      @mfalkvidd I make / make install a couple of times and maybe did a git pull inbetween as well - now everything is back to normal again. Thank you for giving me some dbug tips for the next issue :-)

                                      My strace output looks similiar.

                                      My configure line is

                                      ./configure --my-rf24-channel=124 --my-rf24-irq-pin=29 --my-rf24-ce-pin=31 --my-rf24-cs-pin=36 --spi-driver=SPIDEV --spi-spidev-device=/dev/spidev1.0 --my-debug=disable
                                      
                                      1 Reply Last reply
                                      1
                                      • Sergio RiusS Offline
                                        Sergio RiusS Offline
                                        Sergio Rius
                                        wrote on last edited by
                                        #556

                                        Should be possible to connect two radio modules and run two instances at the same time?
                                        It could be interesting to have a hat with nrf+rfm, all in one.

                                        mfalkviddM 1 Reply Last reply
                                        0
                                        • Sergio RiusS Sergio Rius

                                          Should be possible to connect two radio modules and run two instances at the same time?
                                          It could be interesting to have a hat with nrf+rfm, all in one.

                                          mfalkviddM Online
                                          mfalkviddM Online
                                          mfalkvidd
                                          Mod
                                          wrote on last edited by mfalkvidd
                                          #557

                                          @Sergio-Rius it would be great if you could contribute to making that a reality.
                                          An earlier discussion on the same topic: https://forum.mysensors.org/topic/4151/nrf24l01-and-rfm69-on-one-gw/

                                          So far, people have found it easier to add a separate gateway for each transport.

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


                                          15

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