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.
  • gohanG gohan

    Exactly, I was about to write pretty much the same 😀

    G Offline
    G Offline
    Grubstake
    wrote on last edited by
    #380

    @gohan I beat you to it! :smiley:

    1 Reply Last reply
    1
    • C Offline
      C Offline
      ccy
      wrote on last edited by ccy
      #381

      @Grubstake: Thanks. I have tried to follow "NRF24L01+ Radio" pin out connection. I have double / triple check my wiring is correct. But I still get the same fail message in mysgw debug mode:

      [root@alarmpi bin]# ./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 FAIL
      mysgw: TSM:FAIL:CNT=1
      mysgw: TSM:FAIL:PDT
      mysgw: TSM:FAIL:RE-INIT
      mysgw: TSM:INIT
      mysgw: !TSM:INIT:TSP FAIL
      mysgw: TSM:FAIL:CNT=2
      mysgw: TSM:FAIL:PDT
      mysgw: TSM:FAIL:RE-INIT
      mysgw: TSM:INIT
      mysgw: !TSM:INIT:TSP FAIL
      mysgw: TSM:FAIL:CNT=3
      mysgw: TSM:FAIL:PDT
      mysgw: Received SIGINT
      

      Here is my /boot/config.txt:

      gpu_mem=64
      initramfs initramfs-linux.img followkernel
      dtparam=spi=on
      

      and the spi dev:

      # ls /dev/spidev0.*
      /dev/spidev0.0  /dev/spidev0.1
      

      I am using ArchLinuxARM:

      # uname -a
      Linux alarmpi 4.9.13-3-ARCH #1 SMP Fri Mar 3 18:45:16 MST 2017 armv7l GNU/Linux
      

      I only wiring 7 pins (1-7) on NRF24l01+.

      Raspberry Pi 2 hardware information:

      # cat /proc/cpuinfo
      processor       : 0
      model name      : ARMv7 Processor rev 5 (v7l)
      BogoMIPS        : 38.40
      Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
      CPU implementer : 0x41
      CPU architecture: 7
      CPU variant     : 0x0
      CPU part        : 0xc07
      CPU revision    : 5
      
      processor       : 1
      model name      : ARMv7 Processor rev 5 (v7l)
      BogoMIPS        : 38.40
      Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
      CPU implementer : 0x41
      CPU architecture: 7
      CPU variant     : 0x0
      CPU part        : 0xc07
      CPU revision    : 5
      
      processor       : 2
      model name      : ARMv7 Processor rev 5 (v7l)
      BogoMIPS        : 38.40
      Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
      CPU implementer : 0x41
      CPU architecture: 7
      CPU variant     : 0x0
      CPU part        : 0xc07
      CPU revision    : 5
      
      processor       : 3
      model name      : ARMv7 Processor rev 5 (v7l)
      BogoMIPS        : 38.40
      Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
      CPU implementer : 0x41
      CPU architecture: 7
      CPU variant     : 0x0
      CPU part        : 0xc07
      CPU revision    : 5
      
      Hardware        : BCM2835
      Revision        : a21041
      Serial          : 00000000475d18a4
      
      # cat /sys/firmware/devicetree/base/model
      Raspberry Pi 2 Model B Rev 1.1
      

      Output from MySensors configure:

      # ./configure
      [SECTION] Detecting target machine.
      ./configure: line 111: warning: command substitution: ignored null byte in input
        [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.
      

      I finally find out my raspberry pi board isn't detected properly in configure. I change the function detect_machine:

      function detect_machine {
      ...
          case $hardware in
      ...
          BCM2835)
              soc="BCM2835"
              if [[ $machine == "Raspberry"* ]]; then
                  local rev=($(detect_rpi_revision))
                  if [[ $rev == "a02082" || $rev == "a22082" ]]; then
                      tp="RPi3"
                  else
                      tp="Rpi2"
                  fi
              fi
              ;;
      ...
      

      make mysgw again, and I get this finally:

      # ./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: Listening for connections on 0.0.0.0:5003
      mysgw: MCO:BGN:STP
      mysgw: MCO:BGN:INIT OK,TSP=1
      
      enloE J 2 Replies Last reply
      3
      • C Offline
        C Offline
        ccy
        wrote on last edited by ccy
        #382

        I can run mysgw. But what can I use it for? I want to make it control my light with 2.4G RF. But I don't know what to do next. Please advice Thank you.

        gohanG 1 Reply Last reply
        0
        • C ccy

          I can run mysgw. But what can I use it for? I want to make it control my light with 2.4G RF. But I don't know what to do next. Please advice Thank you.

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

          @ccy
          You need to provide some more details about your hw and general setup, what have you done so far, log messages, etc.

          C 1 Reply Last reply
          1
          • gohanG gohan

            @ccy
            You need to provide some more details about your hw and general setup, what have you done so far, log messages, etc.

            C Offline
            C Offline
            ccy
            wrote on last edited by
            #384

            @gohan Sorry for my typo mistake. I can now run mysgw. But what can I use it for? I am trying to control my light with 2.4G RF.

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

              Do you mean your light has already 2.4G RF or do you need to make a relay node with NRF24 that can switch on and of that light? But this is going a little OT in this thread.

              C 1 Reply Last reply
              1
              • gohanG gohan

                Do you mean your light has already 2.4G RF or do you need to make a relay node with NRF24 that can switch on and of that light? But this is going a little OT in this thread.

                C Offline
                C Offline
                ccy
                wrote on last edited by
                #386

                @gohan Yes. I want to do that. I am sure my LED controller is 2.4G RF. But I can't detect any signal yet from my nrf24l01+ on raspberry pi. I am not sure what's wrong. Still trying now...

                gohanG 1 Reply Last reply
                0
                • C ccy

                  @gohan Yes. I want to do that. I am sure my LED controller is 2.4G RF. But I can't detect any signal yet from my nrf24l01+ on raspberry pi. I am not sure what's wrong. Still trying now...

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

                  @ccy
                  Being 2.4G RF doesn't mean it is NRF24L01 compatible also without knowing what channel is using will make it even more difficult. So, unless you want to make a Mysensors LED Controller, I think you are out of luck if you want to directly control your existing one with a RPI and the mysensors gateway. Either way this is OT.

                  C 1 Reply Last reply
                  0
                  • gohanG gohan

                    @ccy
                    Being 2.4G RF doesn't mean it is NRF24L01 compatible also without knowing what channel is using will make it even more difficult. So, unless you want to make a Mysensors LED Controller, I think you are out of luck if you want to directly control your existing one with a RPI and the mysensors gateway. Either way this is OT.

                    C Offline
                    C Offline
                    ccy
                    wrote on last edited by
                    #388

                    @gohan Is there a way to know the channel by doing some sort of scan? If the channel is known, what are the setting to fix the channel for mysgw?

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

                      Hello everyone!

                      I'm using a Rasp2 (with the 40 pins GPIO header)

                      Has anyone experience with using the NRF module on different pins than default? I'm asking because I wonder if I can connect a GPIO-connected touch TFT (which would use the 2 CE lines for the touch and display interfaces) together with the NRF - by hooking the MISO/MOSI/SCLK to the default pins (and thus sharing them between the TFT and NRF) and defining free pins for the CE and CS lines in the ./configure script when compiling the gateway code...?!

                      Or maybe using the SPI1 by first enabling it as laid out in this blog post - but how to proceed from there? (How to tell the gateway code to use SPI1?)

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        marceloaqno
                        Code Contributor
                        wrote on last edited by
                        #390

                        @Velo17

                        ./configure --spi-driver=SPIDEV --spi-spidev-device=/dev/spidev1.0
                        

                        (replace the /dev/spidev1.0 with the one you enabled in /boot/config.txt)

                        1 Reply Last reply
                        1
                        • engyE Offline
                          engyE Offline
                          engy
                          wrote on last edited by
                          #391

                          Hello Masters,

                          Could you please help me with setting up virtual serial port?

                          I can't see the interface created under /dev.
                          I'm using the instructions and finish with the setup with the following command:

                          pi@raspberrypi:/tmp/MySensors $ ./configure --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/ttyMySensorsGateway
                          [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.
                          
                          pi@raspberrypi:/ $ sudo /usr/local/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: Listening for connections on 0.0.0.0:5003
                          mysgw: MCO:BGN:STP
                          mysgw: MCO:BGN:INIT OK,TSP=1
                          
                          

                          Everything seems to be OK. However, when I check /dev directory, the interface is not created.

                          What could be an issue?
                          Thank you in advacne!

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

                            Why don't you compile it as ethernet gateway?

                            engyE 1 Reply Last reply
                            0
                            • gohanG gohan

                              Why don't you compile it as ethernet gateway?

                              engyE Offline
                              engyE Offline
                              engy
                              wrote on last edited by
                              #393

                              @gohan Etherner Gareway is not supported by OpenHab MySensors binding.

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

                                Mqtt? 😀

                                engyE 1 Reply Last reply
                                0
                                • gohanG gohan

                                  Mqtt? 😀

                                  engyE Offline
                                  engyE Offline
                                  engy
                                  wrote on last edited by
                                  #395

                                  @gohan I'm sorry, MQTT is not supported by OpenHab MySensors binding. Ethernet Gateway is not supported on Raspberry PI.

                                  M 1 Reply Last reply
                                  0
                                  • engyE engy

                                    @gohan I'm sorry, MQTT is not supported by OpenHab MySensors binding. Ethernet Gateway is not supported on Raspberry PI.

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

                                    @engy OpenHab2 supports mysensors serial and ethernet gateways:
                                    https://github.com/tobof/openhab2-addons/wiki

                                    Maybe the build guide may have given you that impression, but ethernet Gateway is supported on Raspberry PI:

                                    ./configure --my-gateway=ethernet
                                    
                                    engyE 1 Reply Last reply
                                    0
                                    • gohanG gohan

                                      @keldandorin just add a capacitor between vcc and gnd on the radio module as I suggested above.

                                      keldandorinK Offline
                                      keldandorinK Offline
                                      keldandorin
                                      wrote on last edited by
                                      #397

                                      @gohan Solved the problem with radio...Thx

                                      1 Reply Last reply
                                      0
                                      • M marceloaqno

                                        @engy OpenHab2 supports mysensors serial and ethernet gateways:
                                        https://github.com/tobof/openhab2-addons/wiki

                                        Maybe the build guide may have given you that impression, but ethernet Gateway is supported on Raspberry PI:

                                        ./configure --my-gateway=ethernet
                                        
                                        engyE Offline
                                        engyE Offline
                                        engy
                                        wrote on last edited by
                                        #398

                                        Thank you guys for prompt reaction. Indeed, Ethernet GW works flawlessly!

                                        1 Reply Last reply
                                        0
                                        • T Offline
                                          T Offline
                                          TommiP
                                          wrote on last edited by
                                          #399

                                          Hi
                                          Is anyone else having this same problem on Rpi3?: Gateway works ok after "sudo make install" with openHAB. With "sudo ./bin/mysgw -d" I can get debug log visible and log works ok.
                                          But if I run "sudo systemctl enable mysgw.service" after "sudo make install", debug log start showing endlessly "mysgw: accept: Bad file descriptor". So debug log function gets destroyed and it can't be used anymore. I have made several clean installations and every time this same happens.
                                          Br
                                          Tommi

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