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. Controllers
  3. [Tutorial] Raspberry Pi NRF24l01 direct connection

[Tutorial] Raspberry Pi NRF24l01 direct connection

Scheduled Pinned Locked Moved Controllers
raspberry pinrf24l01
56 Posts 32 Posters 85.9k Views 24 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 Andreas Maurer

    ? Are you using the code that is available on github now?

    This behavior was Change by Holger a month ago. You can configure the Groups in the makefile:


    The standard configuration will build the Serial Gateway with a tty name of
    '/dev/ttyMySensorsGateway' and PTS group ownership of 'tty' the PTS will be group read
    and write. The default install location will be /usr/local/sbin. If you want to change
    that edit the variables in the head of the Makefile.


    Sander TeunissenS Offline
    Sander TeunissenS Offline
    Sander Teunissen
    wrote on last edited by
    #12

    @Andreas-Maurer

    to run the gateway:
    sudo ./PiGatewaySerial (without sudo I get the error below)

    Could not create a symlink '/dev/ttyMySensorsGateway' to PTY! (13) Permission denied
    

    running:
    ls -l ttyMySensorsGateway

    gives the following:

    lrwxrwxrwx 1 root root 10 May  7 17:27 ttyMySensorsGateway -> /dev/pts/2
    

    I checked the makefile and it says

    TTY_GROUPNAME := tty

    But it doesn't seem to do anything...Any ideas ?

    1 Reply Last reply
    0
    • A Offline
      A Offline
      Andreas Maurer
      wrote on last edited by
      #13

      The symlink alwayshas 777. Everyone can use it.
      Please have a look at /dev/pts/2 This device should have the configured groups.

      Ok?

      Sander TeunissenS 1 Reply Last reply
      0
      • A Andreas Maurer

        The symlink alwayshas 777. Everyone can use it.
        Please have a look at /dev/pts/2 This device should have the configured groups.

        Ok?

        Sander TeunissenS Offline
        Sander TeunissenS Offline
        Sander Teunissen
        wrote on last edited by
        #14

        @Andreas-Maurer said:

        The symlink alwayshas 777. Everyone can use it.
        Please have a look at /dev/pts/2 This device should have the configured groups.

        Ok?

        Yes. Ok!
        It works.
        Thanks !

        1 Reply Last reply
        0
        • SweebeeS Offline
          SweebeeS Offline
          Sweebee
          wrote on last edited by
          #15

          I tested it on my Rpi B+ its working fine, but the cpu load is always 100%. Is this normal?

          joaoabsJ 1 Reply Last reply
          0
          • Roberto BrunialtiR Offline
            Roberto BrunialtiR Offline
            Roberto Brunialti
            wrote on last edited by
            #16

            An other silly question: can I install a controller into the same raspberry pi (the one with this gateway and nrf )? Are all controllers suitable for such a configuration ?
            Thanks!

            1 Reply Last reply
            0
            • A Offline
              A Offline
              Andreas Maurer
              wrote on last edited by
              #17

              For my Point of view, every Controller which is able to use the Serial Gateway.

              1 Reply Last reply
              0
              • SweebeeS Sweebee

                I tested it on my Rpi B+ its working fine, but the cpu load is always 100%. Is this normal?

                joaoabsJ Offline
                joaoabsJ Offline
                joaoabs
                wrote on last edited by
                #18

                @Sweebee

                Same here. I'm afraid that with the PI at 100% there is no much use of this code becasue we can't do anything else...

                Strange that the PI that is much powerfull than an arduino gets so high CPU for something that an arduino nano can do...

                Could it be something that could be improved?

                Cheers,
                Joaoabs

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  Andreas Maurer
                  wrote on last edited by
                  #19

                  I have no problem with it. fhem as controler and mysql as DB is running on the same PI.
                  The Gateway is not even listed in "top"

                  joaoabsJ 1 Reply Last reply
                  0
                  • A Andreas Maurer

                    I have no problem with it. fhem as controler and mysql as DB is running on the same PI.
                    The Gateway is not even listed in "top"

                    joaoabsJ Offline
                    joaoabsJ Offline
                    joaoabs
                    wrote on last edited by
                    #20

                    @Andreas-Maurer

                    Do you mean you don't have any problems with the fact the CPU is at 100% or you simply don't have the same sympthom?

                    Thanks for replying,
                    Joaoabs

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      hawk_2050
                      wrote on last edited by
                      #21

                      Hi,

                      I think the problem with the PiGatewaySerial showing as consuming 100% is not a real problem. I also see the CPU consuming 100% using the top utility, however as soon as you run another process, for example a user python script, on the Pi, you will notice that top will suddenly report that PiGatewaySerial is using only a few percent of the CPU.

                      Cheers
                      Richard

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        markusand
                        wrote on last edited by
                        #22

                        Hi! I want to use RPi as a controller, with direct radio connection and pimatic. I've followed both posts but not sure how to make it work together. I know @Vladut-Grecu is using the same configuration, could you please point me to the right direction?

                        1 Reply Last reply
                        0
                        • Roberto BrunialtiR Offline
                          Roberto BrunialtiR Offline
                          Roberto Brunialti
                          wrote on last edited by Roberto Brunialti
                          #23

                          Ok. It seems the gateway is working as i get the same final screen when I run it. But... does it has a verbose mode? How can I know If it is working? I tried with a test node, unfortunately it seems not working ... or simply it does'nt give any feedback...

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            minscof
                            wrote on last edited by minscof
                            #24

                            I used this gateway on a wheezy debian (RPI2) for several months and everything was ok. I upgraded my raspbian to jessie, and then the CPU load was always 100%. So I try to revert to wheezy, but i have now the same problem : CPU stays at 100 % .

                            So there must be a system configuration somewhere to improve this gateway and prevent it to use all the CPU.

                            Do you have an idea ?

                            Thanks

                            **Solved **: see this post

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              davy39
                              wrote on last edited by
                              #25

                              Hi,
                              I'm trying to setup a direct connection between domoticz and /dev/ttyMySensorsGateway
                              Waiting for my hardware (no NRF24l01 attached yet), I'm actually playing around with the software part.
                              I did install Domoticz and MySensorsGateway on the Pi and I'm getting a /dev/ttyMySensorsGateway symlink at boot time.

                              The problem is that I can't see it on domoticz interface when trying to choose a serial port on "Mysensors gateway USB" device : only /dev/ttyAMA0 ....

                              Is that because no NRF24 is connected or there is a specific configuration to make /dev/ttyMySensorsGateway appearing as a serial port (chown, udev ....)

                              Thanks for your help

                              1 Reply Last reply
                              0
                              • fetsF Offline
                                fetsF Offline
                                fets
                                wrote on last edited by
                                #26

                                Hi everybody,
                                I'm new in mysensors world and I would like to use my pi2 with direct connection to nrf24l01.
                                There is a new release of the arduino library but I can't find the raspberry one.
                                Somebody knows if it exists and where to find it ?

                                I also tried to find an example of using raspberry as mqtt gateway without success, any ideabut was not able to find an example

                                1 Reply Last reply
                                0
                                • hekH Offline
                                  hekH Offline
                                  hek
                                  Admin
                                  wrote on last edited by
                                  #27

                                  You could probably run the old one.

                                  Ideally I would like to have the same code-base for RPi but someone needs to help implement the HW-implementation-class.

                                  1 Reply Last reply
                                  0
                                  • fetsF Offline
                                    fetsF Offline
                                    fets
                                    wrote on last edited by
                                    #28

                                    Thanks hek, i'll try to use old code but I didn't find anything about raspberry as mqtt client gateway.
                                    If I succeed, and if not too late, i'll try to implement the new library

                                    1 Reply Last reply
                                    0
                                    • hekH Offline
                                      hekH Offline
                                      hek
                                      Admin
                                      wrote on last edited by
                                      #29

                                      If you do want to help out, have a look at the gateway-refactoring-branch. Opening up for different protocols over there (where MQTT should be one of them).

                                      https://github.com/mysensors/Arduino/tree/gateway-refactoring

                                      1 Reply Last reply
                                      0
                                      • Fernando ArconadaF Offline
                                        Fernando ArconadaF Offline
                                        Fernando Arconada
                                        wrote on last edited by
                                        #30

                                        hi everybody
                                        @hek are you going to support Rpi + rf24 direct connection? I were playing with https://github.com/mysensors/Raspberry a bit and works (I opened a pair of tickets) but needs to be updated.
                                        I also think that PiGateway should support MQTT I have created PiGatewayMQTT (It's just a prototype).
                                        What will be the future of https://github.com/mysensors/Raspberry repo? abandoned in favor of any kind of gateway-refactoring-branch ?

                                        thanks

                                        1 Reply Last reply
                                        0
                                        • J Offline
                                          J Offline
                                          jelluz
                                          wrote on last edited by jelluz
                                          #31

                                          (solved)
                                          Hi. Thanks a lot for this implentation and the helpful posts here!

                                          I've got the gateway working with a tmp75 temperature sensor on an arduino. The nrf24 is sitting on the raspberry directly (CE pin 22), as a controller i'm using PiMatic. It works very nicely!

                                          There is one small problem however. The PiGatewaySerial will only work if i have called PiGateway before (and closed it again). With working I mean picking up radio transmissions from my sensor node. Everything else seems normal (/dev/ttyPiGatewaySerial and radio details printout).

                                          The details of both configurations might give a clue:

                                          pi@raspberrypi ~/mysensors_rpi $ sudo ./PiGateway
                                          Starting Gateway...
                                          ================ SPI Configuration ================
                                          CSN Pin          = CE0 (PI Hardware Driven)
                                          CE Pin           = Custom GPIO25
                                          Clock Speed      = 8 Mhz
                                          ================ NRF Configuration ================
                                          STATUS           = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
                                          RX_ADDR_P0-1     = 0xa8a8e1fc00 0xa8a8e1fc00
                                          RX_ADDR_P2-5     = 0xff 0xc4 0xc5 0xc6
                                          TX_ADDR          = 0xe7e7e7e7e7
                                          RX_PW_P0-6       = 0x20 0x20 0x20 0x00 0x00 0x00
                                          EN_AA            = 0x3b
                                          EN_RXADDR        = 0x06
                                          RF_CH            = 0x4c
                                          RF_SETUP         = 0x23
                                          CONFIG           = 0x0e
                                          DYNPD/FEATURE    = 0x3f 0x06
                                          Data Rate        = 250KBPS
                                          Model            = nRF24L01+
                                          CRC Length       = 16 bits
                                          PA Power         = PA_LOW
                                          [CALLBACK]0;0;3;0;14;Gateway startup complete.
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.9
                                          [CALLBACK]4;0;1;0;0;22.9
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.9
                                          

                                          after closing PiGateway and opening PiGatewaySerial i get this:

                                          pi@raspberrypi ~/mysensors_rpi $ sudo ./PiGatewaySerial
                                          Starting PiGatewaySerial...
                                          Protocol version - 1.4
                                          Created PTY '/dev/pts/3'
                                          Gateway tty: /dev/ttyMySensorsGateway
                                          ================ SPI Configuration ================
                                          CSN Pin          = CE0 (PI Hardware Driven)
                                          CE Pin           = Custom GPIO22
                                          Clock Speed      = 8 Mhz
                                          ================ NRF Configuration ================
                                          STATUS           = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
                                          RX_ADDR_P0-1     = 0xa8a8e1fc00 0xa8a8e1fc00
                                          RX_ADDR_P2-5     = 0xff 0xc4 0xc5 0xc6
                                          TX_ADDR          = 0xe7e7e7e7e7
                                          RX_PW_P0-6       = 0x20 0x20 0x20 0x00 0x00 0x00
                                          EN_AA            = 0x3b
                                          EN_RXADDR        = 0x06
                                          RF_CH            = 0x4c
                                          RF_SETUP         = 0x23
                                          CONFIG           = 0x0e
                                          DYNPD/FEATURE    = 0x3f 0x06
                                          Data Rate        = 250KBPS
                                          Model            = nRF24L01+
                                          CRC Length       = 16 bits
                                          PA Power         = PA_LOW
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.9
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.9
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.9
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.9
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.9
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.9
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.9
                                          read: 4-4-0 s=0,c=1,t=0,pt=7,l=5:22.8
                                          

                                          Notice how the CE pins of both SPI configurations are different!

                                          I'm at the point that i want to daemonize the gateway. Which in fact i did, but the same problem persists. Before i hack the startup script to first run and close PiGateway before PiGatewaySerial, i was hoping that someone has an idea what i'm doing wrong.

                                          Thanks in advance!

                                          solved!
                                          I have two RPIs (a Pi 2 B and a Pi B+), which both worked with the pyRF24 lib of TMRh20, so when i had a look in the source of the radio initialization of PiGatewaySerial and found this:

                                          #ifdef __PI_BPLUS
                                          	gw = new MyGateway(RPI_BPLUS_GPIO_J8_15, RPI_BPLUS_GPIO_J8_24, BCM2835_SPI_SPEED_8MHZ, 1);
                                          #else
                                          	gw = new MyGateway(RPI_V2_GPIO_P1_22, BCM2835_SPI_CS0, BCM2835_SPI_SPEED_8MHZ, 1);
                                          #endif	
                                          

                                          When i changed it to:

                                          #ifdef __PI_BPLUS
                                          	gw = new MyGateway(RPI_V2_GPIO_P1_22, BCM2835_SPI_CS0, BCM2835_SPI_SPEED_8MHZ, 1);
                                          #else
                                          	gw = new MyGateway(RPI_V2_GPIO_P1_22, BCM2835_SPI_CS0, BCM2835_SPI_SPEED_8MHZ, 1);
                                          #endif	
                                          

                                          and recompiled the gateways,it all started to work. After powerup everything runs :).

                                          The Rpi that is connected now is the Pi 2 B. So i guess either i have my nrf25 wired differently then defined in this lib, or the precompiler was thinking i have a B+ connected. Or both.
                                          I will find out when i get this also working on my B+.

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


                                          18

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


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

                                          • Don't have an account? Register

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