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. Raspberry GPIO NRF24l01+ make error

Raspberry GPIO NRF24l01+ make error

Scheduled Pinned Locked Moved Controllers
21 Posts 8 Posters 11.4k Views 2 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.
  • SweebeeS Offline
    SweebeeS Offline
    Sweebee
    wrote on last edited by
    #3

    Thanks, working now. With PiGateway i can run the gateway, is there a wat to daemonize it and start at boot?

    1 Reply Last reply
    0
    • sj44kS Offline
      sj44kS Offline
      sj44k
      wrote on last edited by
      #4

      Could you please share where you found the information how to connect the Radio to your Raspberry ?
      I am trying to get this to work for several day's but I am lost in all the different Information / Libraries and usage of different SPI ? GPIO pins.

      If you could give me a pointer it would be highly appreciated.

      1 Reply Last reply
      0
      • Vladut GrecuV Offline
        Vladut GrecuV Offline
        Vladut Grecu
        wrote on last edited by
        #5

        @sj44k -> https://github.com/mysensors/Raspberry

        Download that. First compile the librf24-bcm folder. Then compile the Raspberry one.

        From https://github.com/mysensors/Raspberry/tree/master/librf24-bcm

        PIN	NRF24L01	RPI	RPi -P1 Connector
        1	  GND			rpi-gnd	(25)
        2	  VCC			rpi-3v3	(17)
        3	  CE			rpi-gpio22	(15)
        4	  CSN			rpi-gpio8	(24)
        5	  SCK			rpi-sckl	(23)
        6	  MOSI			rpi-mosi	(19)
        7  	  MISO			rpi-miso	(21)
        8  	  IRQ			-Not connected
        
        

        The numbering for rpi is:

        1 2
        3 4
        5 6
        7 8
        9 10
        etc
        

        Don`t forget to enable the SPI from the raspbian config.

        To test your connection, simply open your program ./PiGatewaySerial
        It should print you something like this:

        root@raspberrypi:/home/pi/Raspberry# ./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 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     = 0xe7e7e7e7e7 0xc2c2c2c2c2
        RX_ADDR_P2-5     = 0xff 0xc4 0xc5 0xc6
        TX_ADDR          = 0xe7e7e7e7e7
        RX_PW_P0-6       = 0x00 0x00 0x20 0x00 0x00 0x00
        EN_AA            = 0x3b
        EN_RXADDR        = 0x07
        RF_CH            = 0x10
        RF_SETUP         = 0x23
        CONFIG           = 0x0e
        DYNPD/FEATURE    = 0x3f 0x06
        Data Rate        = 250KBPS
        Model            = nRF24L01+
        CRC Length       = 16 bits
        PA Power         = PA_LOW
        
        
        1 Reply Last reply
        0
        • sj44kS Offline
          sj44kS Offline
          sj44k
          wrote on last edited by
          #6

          Thank you ! Will try this tonight, what kind of input could I expect when I do a test on my Aruino ? I have a Arduino Mega as a test board at this moment.
          Would a " Cat /dev/ttyMySensorsGateway' give me the output the Arduino is sending ?
          Arduino is set up as the mysensor temperature sensor as published on the website and seems to be working (according to the serial monitor).

          SPI is enabled, but for the sake of being sure I will start with a new and fresh Raspbian installation on the PI tonight SPI enabled.

          Again thanks for your reply ! I will post my findings.

          1 Reply Last reply
          0
          • Vladut GrecuV Offline
            Vladut GrecuV Offline
            Vladut Grecu
            wrote on last edited by
            #7

            You have to setup your arduino with a static node id. Something like

            gw.begin(incomingMessage, 10, false);
            or
            gw.begin(null, 10, false);
            or
            gw.begin(null, 10);
            

            10 is the node id.
            From my knowledge the raspi lib for nrf does not support the automatic node id. (or is just pimatic)
            Anyways, I don't use sensors. I just command the Arduino from raspi and my way of verifying the connection is the serial monitor linked to the arduino node. If it's found by the raspi and if he found the raspi the end of each line will be

            st=ok;
            

            If you get

            st=fail;
            

            You either did not set up the right node id or you need a capacitor on the nrf.
            Before you test the lib you can test the link with a serial arduino gateway and see what is going on.

            1 Reply Last reply
            0
            • sj44kS Offline
              sj44kS Offline
              sj44k
              wrote on last edited by sj44k
              #8

              Ok Radio was allready connected correctly, and I have the 4u7 capicitors installed.

              So this is what I understood from your tips am I correct ?

               git clone https://github.com/mysensors/Raspberry
              
              
              cd Rasberry
              make
              cd librf24-bcm
              make 
              make install
              cd ..
              ./PiGatewaySerial
              
              Starting PiGatewaySerial...
              Protocol version - 1.4
              Created PTY '/dev/pts/1'
              Gateway tty: /dev/ttyMySensorsGateway
              ================ 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     = 0xe7e7e7e7e7 0xc2c2c2c2c2
              RX_ADDR_P2-5     = 0xff 0xc4 0xc5 0xc6
              TX_ADDR          = 0xe7e7e7e7e7
              RX_PW_P0-6       = 0x00 0x00 0x20 0x00 0x00 0x00
              EN_AA            = 0x3b
              EN_RXADDR        = 0x07
              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
              

              So now I want to receive my Sensor info from my Arduino on my Raspbery.
              I am using this build with a small addition on it as I am using an Arduino Mega so the pins are different :

              http://www.mysensors.org/build/temp

              I Changed :

              MySensor gw;
              

              into

              MySensor gw(48,49)
              

              No I will do the figuring out about the node ID as I the tip about the auto ID does not work makes sense, the sensor now uses 0 and if I am correct that is the id of the gateway.

              By the way to even get that part done I needed to clear the EEProm of the Arduino (found it somewhere on some forum :) )

              I got the node secret also done now
              I needed to set :+1:

              `gw.begin(NULL,10,false,11);
              

              But still no communication / output on the Raspberry

              Output on de Arduino is :

              sensor started, id 10
              send: 10-10-11-0 s=255,c=0,t=17,pt=0,l=5,st=fail:1.4.1
              send: 10-10-11-0 s=255,c=3,t=6,pt=1,l=1,st=fail:11
              send: 10-10-11-0 s=255,c=3,t=11,pt=0,l=18,st=fail:Temperature Sensor
              send: 10-10-11-0 s=255,c=3,t=12,pt=0,l=3,st=fail:1.0
              send: 10-10-11-0 s=0,c=0,t=6,pt=0,l=5,st=fail:1.4.1
              send: 10-10-11-0 s=0,c=1,t=0,pt=7,l=5,st=fail:68.7```
              1 Reply Last reply
              0
              • Vladut GrecuV Offline
                Vladut GrecuV Offline
                Vladut Grecu
                wrote on last edited by Vladut Grecu
                #9

                @sj44k
                Tell me where did you connected the CE Pin on rPi..
                Do you have another Arduino so you can burn a serial gateway into it? So we can be sure that your Mega is sending and receiving properly?
                From your Arduino output he clearly does not link with the nrf on the Raspberry.

                1 Reply Last reply
                0
                • sj44kS Offline
                  sj44kS Offline
                  sj44k
                  wrote on last edited by sj44k
                  #10

                  Checked the wires 5 times .. all looks well. CE is on pin 15
                  Arduino should also be ok, I get error messages (Check wires) when it's connected differently

                  (Heres the Arduino mega pinout as I used it
                  http://forum.mysensors.org/topic/249/arduino-mega-sensor-shield-2/2 )

                  I have an Uno ordered but at this moment I am stuck to 1 arduino
                  I do have an extra Pi which I could use ..

                  By the way, where would I receive the information on my pi in this example (in case it would work)
                  ?
                  in the screen where I started the
                  ./PiGatewaySerial

                  Or in a cat /dev/pts/1 ?

                  1 Reply Last reply
                  0
                  • Vladut GrecuV Offline
                    Vladut GrecuV Offline
                    Vladut Grecu
                    wrote on last edited by
                    #11

                    Move the pin on 22. The actual 22 pin not gpio22. Full restart the pi.

                    I think you can cat the /dev/ttyMySensorsGateway. In the way I use it(with pimatic) all the commands are logged.

                    1 Reply Last reply
                    0
                    • sj44kS Offline
                      sj44kS Offline
                      sj44k
                      wrote on last edited by sj44k
                      #12

                      Tried that too, not working. But I now see why you asked that my output when starting PiGatewaySerial shows :

                      CE Pin           = Custom GPIO25
                      

                      So that needs to be harware pin 22

                      This picture helped a lot and makes now that I am 100% sure my Rpi is hooked up correctly.

                      GPIO B+.jpg

                      :s: must be overseeing something realy simple / stupid .. :/s:

                      Guess it must be the Arduino Mega causing the issue, back to my drawingboard .. will keep you posted

                      [edit]

                      Just found an interesting SPI reference picture for my Arduino Mega
                      Mega2560_R3_Label-small-v2 (2).png

                      My Pinout seems to be ok on the SPI side, just need to check CE / SE in regard to the scketch/libraries I am using.

                      Radio 1 GND Paars Arduino GND
                      Radio 2 3v3 Blauw Arduino 3,3v
                      Radio 3 CE Groen Arduino 48
                      Radio 4 CS Geel Arduino 49
                      Radio 5 SCK Oranje Arduino 52
                      Radio 6 MOSI Rood Arduino 51
                      Radio 7 MISO Bruin Arduino 50

                      1 Reply Last reply
                      0
                      • sj44kS Offline
                        sj44kS Offline
                        sj44k
                        wrote on last edited by sj44k
                        #13

                        YEAH !
                        It works !! thanks for pointing me in the right direction !
                        Arduino needed the right scketch uploade (I messed so much with it I needed to go back which I just did)

                        As a reference for all who are trying to get this to work.

                        Use this pinout for the RPI B+
                        Radio 1 grijs GND Rpi 25
                        Radio 2 paars 3v3 Rpi 17
                        Radio 3 blauw CE Rpi 22
                        Radio 4 groen CS Rpi 24
                        Radio 5 Geel SCK Rpi 23
                        Radio 6 oranje MOSI Rpi 19
                        Radio 7 Rood MISO Rpi 21

                        Arduino Mega
                        Radio 1 GND Paars Arduino GND
                        Radio 2 3v3 Blauw Arduino 3,3v
                        Radio 3 CE Groen Arduino 48
                        Radio 4 CS Geel Arduino 49
                        Radio 5 SCK Oranje Arduino 52
                        Radio 6 MOSI Rood Arduino 51
                        Radio 7 MISO Bruin Arduino 50

                        I used the Libs mentioned in the post above by Vladut Grecu :
                        https://github.com/mysensors/Raspberry

                        I used this Temperature sketch :
                        http://www.mysensors.org/build/temp

                        Before I did got the Temp sketch operational I needed to clear my EEprom :
                        http://arduino.cc/en/Tutorial/EEPROMClear

                        /*
                         * EEPROM Clear
                         *
                         * Sets all of the bytes of the EEPROM to 0.
                         * This example code is in the public domain.
                        
                         */
                        
                        #include <EEPROM.h>
                        
                        void setup()
                        {
                          // write a 0 to all 512 bytes of the EEPROM
                          for (int i = 0; i < 512; i++)
                            EEPROM.write(i, 0);
                           
                          // turn the LED on when we're done
                          digitalWrite(13, HIGH);
                        }
                        
                        void loop()
                        {
                        }
                        

                        Than we need to edit the sketch a bit due to the fact that the Rpi gateway DOES NOT hand out the Node ID's automaticly, and the Sketch is not Arduino Mega compatible so :

                        Set the Node ID manualy add

                        gw.begin(NULL,10,false);
                        

                        Make sure the sketch is compatible with the Arduino MEGA pins (as published abover here)
                        Change Line 12 in the sketch :

                        MySensor gw;
                        

                        into

                        MySensor gw(48,49)
                        

                        Than compile and hook everything up and upload the compiled sketch and start the Rpi (SPI enabled) and start
                        ./PiGatewaySerial

                        Output should show on your Pi when you
                        Cat /dev/ttyMySensorsGateway

                        Big Thank you to @Vladut-Grecu !

                        1 Reply Last reply
                        2
                        • hekH Offline
                          hekH Offline
                          hek
                          Admin
                          wrote on last edited by hek
                          #14

                          Just received a great pull request for the Rapsberry created by @Holger-Meyers .

                          https://github.com/mysensors/Raspberry

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

                            I had it finally working on my Pi2, but its very unstable. sometimes weird values, crashes and fails.

                            switched to a usb serial arduino and that works great.

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

                              The original code on github is a bit buggy. Thats right. But the actual code after Holger has reworked it is running well.
                              I am using it for nearly a month now. Nothing has crashed after Holger has looked after the reason why.

                              Currently I am happy with the stability.

                              Sander TeunissenS 1 Reply Last reply
                              0
                              • A Andreas Maurer

                                The original code on github is a bit buggy. Thats right. But the actual code after Holger has reworked it is running well.
                                I am using it for nearly a month now. Nothing has crashed after Holger has looked after the reason why.

                                Currently I am happy with the stability.

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

                                @Andreas-Maurer Could you tell me which controller you are using for your setup ?

                                Thanks !

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

                                  I am using fhem on the same PI. connected over the pseudo serial port.

                                  1 Reply Last reply
                                  0
                                  • B Offline
                                    B Offline
                                    blksun813
                                    wrote on last edited by
                                    #19

                                    What is the CPU usage of PiGatewaySerial when you look at top? Mine is using 97%.

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

                                      It isn´t on the list :)

                                      05-04-2015 09-00-21.jpg

                                      1 Reply Last reply
                                      0
                                      • B Offline
                                        B Offline
                                        blksun813
                                        wrote on last edited by
                                        #21

                                        Thanks.. Looked again today and it has calmed down.. Maybe it's just at start-up before there are any messages received or maybe something reading the Serial Port.

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


                                        9

                                        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