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.
  • M marceloaqno

    @romeo01 You have to connect the nrf24 to the GPIO if you want to use it with the RPi, the information on the wiki was wrong, sorry about that.

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

    @marceloaqno

    Thanks marceloagno, the answer is clear.

    Keep up the great work !

    1 Reply Last reply
    0
    • dirkcD dirkc

      @gohan, @marceloaqno : sorry, I corrected the "typo", the NRF was already connected as shown in https://www.mysensors.org/view/180#wiring. I double checked that again.
      What is the correct setup for ./configure ?

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

      @dirkc The default settings for ./configure is to use the nrf24 module connected in the same way as shown in the guide and as an ethernet gateway.

      dirkcD 1 Reply Last reply
      0
      • L Offline
        L Offline
        lshield
        wrote on last edited by lshield
        #419

        I'm having issues with the LED setup as shown on the page. The LEDs are just constantly on even though everything looks like it's setup just like the picture. I'm new at this so I could be doing something stupid.

        1 Reply Last reply
        0
        • M marceloaqno

          @dirkc The default settings for ./configure is to use the nrf24 module connected in the same way as shown in the guide and as an ethernet gateway.

          dirkcD Offline
          dirkcD Offline
          dirkc
          wrote on last edited by
          #420

          @marceloaqno ok, thanks, I will change the radio.

          Controller: Home Assistant & FHEM - Gateway: ESP8266wifi - MySensors: 2.3.2 (nRF24)

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

            Support for RFM69 was added to the development branch (finally!).

            jirmJ 1 Reply Last reply
            1
            • M marceloaqno

              Support for RFM69 was added to the development branch (finally!).

              jirmJ Offline
              jirmJ Offline
              jirm
              wrote on last edited by
              #422

              @marceloaqno

              Iยดm really happy ear that !

              RFM69 is one of best RF transceivers in these days for IoT.
              So good news I believe for Mysensors community.

              You know if are any hope that RFM69 will be added too to OPI boards support mysgw development ?

              Congratulations for that great work !

              M 1 Reply Last reply
              0
              • jirmJ jirm

                @marceloaqno

                Iยดm really happy ear that !

                RFM69 is one of best RF transceivers in these days for IoT.
                So good news I believe for Mysensors community.

                You know if are any hope that RFM69 will be added too to OPI boards support mysgw development ?

                Congratulations for that great work !

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

                @jirm Support for RFM69 also applies to the OrangePi :wink:

                jirmJ 1 Reply Last reply
                0
                • M marceloaqno

                  @jirm Support for RFM69 also applies to the OrangePi :wink:

                  jirmJ Offline
                  jirmJ Offline
                  jirm
                  wrote on last edited by jirm
                  #424

                  @marceloaqno

                  Awesome !!!
                  Thank you so much.

                  Best regards

                  1 Reply Last reply
                  0
                  • F Offline
                    F Offline
                    ftw64
                    wrote on last edited by
                    #425

                    When I configure "MY_RFM69_MAX_POWER_LEVEL_DBM" in MyConfig.h, compiling fails.
                    Perhaps you should change the code in ./drivers/RFM69/new/RFM69_new.h from:

                    #define RFM69_MAX_POWER_LEVEL_DBM MY_RFM69_MAX_POWER_LEVEL_DBM //!< MY_RFM69_MAX_POWER_LEVEL_DBM

                    to:

                    #define RFM69_MAX_POWER_LEVEL_DBM ((rfm69_powerlevel_t)MY_RFM69_MAX_POWER_LEVEL_DBM) //!< MY_RFM69_MAX_POWER_LEVEL_DBM

                    1 Reply Last reply
                    0
                    • F Offline
                      F Offline
                      ftw64
                      wrote on last edited by
                      #426

                      I cannot get the RFM69(HW) working. When I start myswg in debug mode (-d), I see:

                      mysgw: Starting gateway...
                      mysgw: Protocol version - 2.2.0-beta
                      mysgw: MCO:BGN:INIT GW,CP=RPNG----,VER=2.2.0-beta
                      mysgw: TSF:LRT:OK
                      mysgw: TSM:INIT
                      mysgw: TSF:WUR:MS=0
                      mysgw: RFM69:INIT
                      mysgw: RFM69:INIT:PIN,CS=24,IQP=22,IQN=22
                      mysgw: RFM69:PTX:LEVEL=5 dBm
                      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
                      

                      But I can see ('hear' with a radio on 868.000 MHz) no transmission of the RFM69. When I power up a node, the node does not connect to the gateway: "NO REPLY":+1:

                      0 MCO:BGN:INIT NODE,CP=RRNNA--,VER=2.1.1
                      4 TSM:INIT
                      4 TSF:WUR:MS=0
                      8 TSM:INIT:TSP OK
                      10 TSM:INIT:STATID=4
                      12 TSF:SID:OK,ID=4
                      14 TSM:FPAR
                      274 TSF:MSG:SEND,4-4-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                      2281 !TSM:FPAR:NO REPLY
                      2283 TSM:FPAR
                      2562 TSF:MSG:SEND,4-4-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                      4569 !TSM:FPAR:NO REPLY
                      4571 TSM:FPAR
                      4831 TSF:MSG:SEND,4-4-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                      6838 !TSM:FPAR:NO REPLY
                      6840 TSM:FPAR
                      7100 TSF:MSG:SEND,4-4-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                      9107 !TSM:FPAR:FAIL
                      9109 TSM:FAIL:CNT=1
                      9111 TSM:FAIL:PDT
                      

                      Is there any 'check' I can do to perform basic RFM69HW testing on my RPI?

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

                        Was it working before on a normal Arduino gateway? How did you wire everything up?

                        1 Reply Last reply
                        0
                        • F Offline
                          F Offline
                          ftw64
                          wrote on last edited by
                          #428

                          I'm pretty sure I wired up the RFM69 correctly.
                          However, I'm debugging. It seems we are stuck in "core/MyGatewayTransport.cpp":

                          inline void gatewayTransportProcess(void)
                          {
                          
                            if (gatewayTransportAvailable()) {
                              // NEVER REACHED
                          

                          I never seem to get pass gatewayTransportAvailable. I will continue debugging.
                          Disclaimer: I'm relatively new to MySensors and not really 'up to speed' with the source code :-).

                          F 1 Reply Last reply
                          0
                          • F ftw64

                            I'm pretty sure I wired up the RFM69 correctly.
                            However, I'm debugging. It seems we are stuck in "core/MyGatewayTransport.cpp":

                            inline void gatewayTransportProcess(void)
                            {
                            
                              if (gatewayTransportAvailable()) {
                                // NEVER REACHED
                            

                            I never seem to get pass gatewayTransportAvailable. I will continue debugging.
                            Disclaimer: I'm relatively new to MySensors and not really 'up to speed' with the source code :-).

                            F Offline
                            F Offline
                            ftw64
                            wrote on last edited by
                            #429

                            @ftw64 Ok, this has to do with connecting an Ethernet client. When a client connects, this code works...
                            Any idea where to start debugging for incoming RFM69 messages?

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

                              Download myscontroller and connect it to the gateway, you can now see all messages from ethernet controller

                              F 1 Reply Last reply
                              0
                              • gohanG gohan

                                Download myscontroller and connect it to the gateway, you can now see all messages from ethernet controller

                                F Offline
                                F Offline
                                ftw64
                                wrote on last edited by
                                #431

                                @gohan said in ๐Ÿ’ฌ Building a Raspberry Pi Gateway:

                                myscontroller

                                I just did. When I also have a Domoticz controller connected to the gateway:

                                2017-04-23 11:18:33	INFO	Connected to 192.168.10.24:5003
                                2017-04-23 11:18:33	CHILD	New child discovered, node id=0, child id=internal
                                2017-04-23 11:18:33	RX	0;255;3;0;14;Gateway startup complete.
                                2017-04-23 11:18:33	DEBUG	Update child id=255, type=ARDUINO_RELAY
                                2017-04-23 11:18:33	RX	0;255;0;0;18;2.2.0-beta
                                2017-04-23 11:18:33	RX	0;255;3;0;22;208103
                                2017-04-23 11:18:33	RX	0;255;3;0;2;2.2.0-beta
                                2017-04-23 11:18:43	RX	0;255;3;0;22;218106
                                2017-04-23 11:18:53	RX	0;255;3;0;22;228110
                                2017-04-23 11:19:03	RX	0;255;3;0;22;238101
                                2017-04-23 11:19:13	RX	0;255;3;0;22;248104
                                2017-04-23 11:19:23	RX	0;255;3;0;22;258110
                                2017-04-23 11:19:33	RX	0;255;3;0;22;268107
                                2017-04-23 11:19:43	RX	0;255;3;0;22;278106
                                2017-04-23 11:19:53	RX	0;255;3;0;22;288110
                                2017-04-23 11:20:03	RX	0;255;3;0;22;298116
                                

                                However, I found out that the DI00 (=IRQ) on the RFM69 never gives a rising edge...
                                I'm suspecting that the RFM69 is not being initialised properly... I added some debugging in the RFM69 code to see what registers are being written and read:

                                mysgw: Starting gateway...
                                mysgw: Protocol version - 2.2.0-beta
                                mysgw: MCO:BGN:INIT GW,CP=RPNG----,VER=2.2.0-beta
                                mysgw: TSF:LRT:OK
                                mysgw: TSM:INIT
                                mysgw: TSF:WUR:MS=0
                                mysgw: RFM69:INIT
                                mysgw: RFM69:INIT:PIN,CS=24,IQP=22,IQN=22
                                mysgw: FtW:RFM69:write register, reg=0x01, value=4
                                mysgw: FtW:RFM69:write register, reg=0x02, value=0
                                mysgw: FtW:RFM69:write register, reg=0x03, value=2
                                mysgw: FtW:RFM69:write register, reg=0x04, value=64
                                mysgw: FtW:RFM69:write register, reg=0x05, value=3
                                mysgw: FtW:RFM69:write register, reg=0x06, value=51
                                mysgw: FtW:RFM69:write register, reg=0x18, value=136
                                mysgw: FtW:RFM69:write register, reg=0x19, value=66
                                mysgw: FtW:RFM69:write register, reg=0x26, value=7
                                mysgw: FtW:RFM69:write register, reg=0x28, value=16
                                mysgw: FtW:RFM69:write register, reg=0x29, value=220
                                mysgw: FtW:RFM69:write register, reg=0x2c, value=0
                                mysgw: FtW:RFM69:write register, reg=0x2d, value=3
                                mysgw: FtW:RFM69:write register, reg=0x2e, value=136
                                mysgw: FtW:RFM69:write register, reg=0x2f, value=45
                                mysgw: FtW:RFM69:write register, reg=0x30, value=101
                                mysgw: FtW:RFM69:write register, reg=0x37, value=212
                                mysgw: FtW:RFM69:write register, reg=0x38, value=66
                                mysgw: FtW:RFM69:write register, reg=0x39, value=255
                                mysgw: FtW:RFM69:write register, reg=0x3a, value=255
                                mysgw: FtW:RFM69:write register, reg=0x3c, value=5
                                mysgw: FtW:RFM69:write register, reg=0x3d, value=16
                                mysgw: FtW:RFM69:write register, reg=0x6f, value=48
                                mysgw: FtW:RFM69:write register, reg=0x07, value=217
                                mysgw: FtW:RFM69:write register, reg=0x08, value=0
                                mysgw: FtW:RFM69:write register, reg=0x09, value=0
                                mysgw: FtW:RFM69:write register, reg=0x01, value=4
                                mysgw: FtW:RFM69:read register, reg=0x27, value=128
                                mysgw: FtW:RFM69:read register, reg=0x3d, value=16
                                mysgw: FtW:RFM69:write register, reg=0x3d, value=16
                                mysgw: FtW:RFM69:write register, reg=0x11, value=87
                                mysgw: RFM69:PTX:LEVEL=5 dBm
                                mysgw: FtW:RFM69:read register, reg=0x02, value=0
                                mysgw: FtW:RFM69:read register, reg=0x03, value=2
                                mysgw: FtW:RFM69:read register, reg=0x04, value=64
                                mysgw: FtW:RFM69:read register, reg=0x05, value=3
                                mysgw: FtW:RFM69:read register, reg=0x06, value=51
                                mysgw: FtW:RFM69:read register, reg=0x30, value=101
                                mysgw: FTW attachInterrupt: gpioPin=25 mode=3
                                mysgw: TSM:INIT:TSP OK
                                mysgw: TSM:INIT:GW MODE
                                mysgw: FtW:RFM69:write register, reg=0x39, value=0
                                mysgw: TSM:READY:ID=0,PAR=0,DIS=0
                                mysgw: MCO:REG:NOT NEEDED
                                mysgw: FtW:RFM69:write register, reg=0x25, value=64
                                mysgw: FtW:RFM69:write register, reg=0x13, value=26
                                mysgw: FtW:RFM69:write register, reg=0x5a, value=85
                                mysgw: FtW:RFM69:write register, reg=0x5c, value=112
                                mysgw: FtW:RFM69:read register, reg=0x3d, value=16
                                mysgw: FtW:RFM69:write register, reg=0x3d, value=20
                                mysgw: FtW:RFM69:write register, reg=0x01, value=16
                                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: gatewayTransportAvailable
                                mysgw: Client 0: 0;0;3;0;2;Get Version
                                mysgw: gatewayTransportAvailable
                                mysgw: Client 0: 0;0;3;0;18;PING
                                mysgw: gatewayTransportAvailable
                                mysgw: Client 0: 0;0;3;0;18;PING
                                mysgw: gatewayTransportAvailable
                                mysgw: Client 0: 0;0;3;0;18;PING
                                
                                1 Reply Last reply
                                0
                                • F Offline
                                  F Offline
                                  ftw64
                                  wrote on last edited by
                                  #432

                                  Can't get the RFM69HW to work on RPI. I tried the following:

                                  1. I installed on an old RPI1 (clean Rasbian install). Same results as on my Domoticz RPI-3.
                                  2. Setup the original RPI3 as a node, using the 2.2.0-beta code. I verified that in this case the RFM69HW actually transmits (I can hear it burst on 868.000 MHz). However, it is unable to connect to an existing Arduino 2.1.1 gateway.
                                  3. I built an Arduino 2.2.0-beta serial gateway. Even then, the RPI as a node fails to connect to the 2.2.0-beta serial gateway.
                                  4. I built an Arduino 2.2.0-beta node. This node is able to connect to the above gateway.

                                  There seems to be something different in the radio network between the RFM69HW on the RPI and the RFM69HW on the Arduino. But I'm unable to find out what the difference is :-(.

                                  The RPI RFM69HW will not communicate with the Arduino RFM69HW. When the RPI is a gateway, the RFM69HW will not physically interrupt when another node is trying to connect. When the RPI is a node, the RFM69HW on the ARduino does not interrupt either.

                                  Did anyone get the RFM69HW working on the RPI? I'd really like to get this beautiful piece of code working!

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

                                    I have to ask a stupid question : did you use a logic converter between rpi and rfm69 radio?

                                    F 1 Reply Last reply
                                    0
                                    • gohanG gohan

                                      I have to ask a stupid question : did you use a logic converter between rpi and rfm69 radio?

                                      F Offline
                                      F Offline
                                      ftw64
                                      wrote on last edited by
                                      #434

                                      @gohan There are no stupid questions, right :-)? But perhaps a stupid answer: no, I did not use any logic convertors. The RFM69 is 3.3V and as far as I know, so are the GPIO pins on the RPI. But I might be mistaken, of course... Should I use logic convertors?

                                      At the moment I have no idea where it fails. Perhaps I need to give it a rest for a couple of days to think it over...

                                      I followed the steps as given on the web site (git branch development). Connected the RFM radio (7 wires: Vcc, GND, MOSI, MISO, SCK, NSS, DI00). Only modified MyConfig.h with regard to the NETWORKID (100 --> 101; my 'production' MySensors runs at 100) and enabling "MY_DEBUG_VERBOSE_RFM69". I configured with:

                                      % ./configure --my-debug=enable --my-config-file=/usr/local/etc/mysensors.dat --my-gateway=ethernet --my-transport=rfm69 --my-rfm69-frequency=868 --my-is-rfm69hw
                                      % make -j 4
                                      % sudo bin/mysgw -d
                                      
                                      mfalkviddM 1 Reply Last reply
                                      0
                                      • mfalkviddM Offline
                                        mfalkviddM Offline
                                        mfalkvidd
                                        Mod
                                        wrote on last edited by
                                        #435

                                        The gpio pins on raspberry pi are 3.3V. https://raspberrypi.stackexchange.com/questions/3209/what-are-the-min-max-voltage-current-values-the-gpio-pins-can-handle

                                        1 Reply Last reply
                                        0
                                        • F ftw64

                                          @gohan There are no stupid questions, right :-)? But perhaps a stupid answer: no, I did not use any logic convertors. The RFM69 is 3.3V and as far as I know, so are the GPIO pins on the RPI. But I might be mistaken, of course... Should I use logic convertors?

                                          At the moment I have no idea where it fails. Perhaps I need to give it a rest for a couple of days to think it over...

                                          I followed the steps as given on the web site (git branch development). Connected the RFM radio (7 wires: Vcc, GND, MOSI, MISO, SCK, NSS, DI00). Only modified MyConfig.h with regard to the NETWORKID (100 --> 101; my 'production' MySensors runs at 100) and enabling "MY_DEBUG_VERBOSE_RFM69". I configured with:

                                          % ./configure --my-debug=enable --my-config-file=/usr/local/etc/mysensors.dat --my-gateway=ethernet --my-transport=rfm69 --my-rfm69-frequency=868 --my-is-rfm69hw
                                          % make -j 4
                                          % sudo bin/mysgw -d
                                          
                                          mfalkviddM Offline
                                          mfalkviddM Offline
                                          mfalkvidd
                                          Mod
                                          wrote on last edited by mfalkvidd
                                          #436

                                          @ftw64 that configure command looks like an ethernet gateway. Could you post the configure command for your "RPI as a node" as well?

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