Intro
This is awesome! Finally got my RPi2 talking to an Arduino using the nRF24L01 radios!
Config the Raspberry Pi 2 (Model B v1.1)
- connect radio
NRF24L01 Pin | NRF24L01 | RPi2 | RPi2 – Connector Pin |
---|---|---|---|
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 | – | – |
- config pi to turn on SPI
sudo raspi-config
-> Select Advanced and enable the SPI kernel module
- download drivers
wget http://tmrh20.github.io/RF24Installer/RPi/install.sh
chmod +x install.sh
./install.sh
- test
cd rf24libs/RF24/examples_RPi
cp gettingstarted.cpp mytest.cpp
sudo nano mytest.cpp
change the pipe address
// Radio pipe addresses for the 2 nodes to communicate.
//const uint8_t pipes[][6] = {"1Node","2Node"};
//my address
const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };
build the program
sudo g++ -Ofast -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -Wall -I../ -lrf24-bcm mytest.cpp -o mytest
run
sudo ./mytest
Config the Arduino (UNO, Pro Mini….)
- connect radio
- download and install RF24 libraries
https://github.com/maniacbug/RF24 - load sketch
File->Examples->RF24->GettingStarted - test
Putting it all together
Finally, set the role on the RPi2 to ping_out.