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
    #1

    I'm trying to install the NRF24l01+ to my gpio pins from the raspberry with https://github.com/mysensors/Raspberry

    But when i run 'make' i get this error:

    root@pimatic:/home/pi/Raspberry# make
    g++ -o PiGateway MyGateway.o MySensor.o MyMessage.o PiEEPROM.o PiGateway.o -Wall -Ofast -mfpu=vfp -lpthread -g -D__Raspberry_Pi -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -I. -Ilibrf24-bcm/ -lrf24-bcm
    /usr/bin/ld: cannot find -lrf24-bcm
    collect2: ld returned 1 exit status
    
    1 Reply Last reply
    0
    • S Offline
      S Offline
      sharath krishna
      wrote on last edited by
      #2

      @Wiebe-Nieuwenhuis said:

      -lrf24-bcm

      install the -lrf24-bcm library first and den run make here... u have a dir for lrf24 bcm install it before and u should not have this erro

      1 Reply Last reply
      0
      • 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 Online
                              hekH Online
                              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
                                          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