树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (一) 配置与测试
引脚连接说明
与树莓派的连线
NRF24L01 => 树莓派
GND => GND
VCC => 3.3V
CE => GPIO25 即22管脚
CSN => CE0(GPIO8) 即 24管脚
SCK => SCLK(GPIO11)即23管脚
MOSI => MOSI(GPIO10)即19管脚
MISO => MISO(GPIO9)即21管脚
IRQ => GPIO18即12管脚
nRF24L01硬件连接
此模块是使用SPI方式连接,在标准SPI口基础增加CE和CSN引脚: nRF24L01 Arduino Leonardo
VCC <-> 3.3V
GND <-> GND
CE <-> D9
CSN <-> D10
MOSI <-> ICSP MOSI
MISO <-> ICSP MISO
SCK <-> ICSP SCK
IRQ <-> 不接
配置说明
树莓派
将RF24库复制到树莓派(或通过git直接获取),https://github.com/TMRh20/RF24.git。进入RF24目录后执行如下命令,进行编译和安装(选择SPI方式)
./configure --driver=SPIDEV sudo make install -B
修改/etc/modprobe.d/raspi-blacklist.conf,如果其中存在
blacklist spi-bcm2708,将其注释。
修改/etc/modules文件,在其中追加一行,开启SPI。
spidev
reboot重启树莓派后,/dev下会新增spidev0.0和spidev0.1两个设备文件。
修改RF24/example_linux/GettingStarted.cpp文件,
同上面的Arduino一样,发送端不必修改,
接收端将radioNumber从默认的0修改为1。
在当前目录下执行make后,生成GettingStarted的二进制文件。
使用sudo ./ GettingStarted执行,并输入0进入接收模式。
如Arduino的发送端配置、运行正常,则正常发送回应包:
如果上面图片中的参数为0x00或者0xff,可能连接存在问题。
Arduino
从https://github.com/TMRh20/RF24.git下载RF24后,将其复制到Arduino安装目录下的libraries目录下,启动ArduinoIDE后,从例子中选择RF24->GettingStarted。
发送端不必修改,直接编译上传即可。
接收端将代码中的radioNumber从默认的0修改为1。
如上述配置接线正常,可在Serial Monitor中看到发送方和接收方的输出,大致如下:
可能由于接线问题导致程序无法正确传输数据,此时可以采用下面方法测试arduino是否正确连接nrf24l01:
去https://github.com/tmirun/Arduino-nrf24l01-learn 下载测试代码下载解压后你可以在里面找到一个叫 rf24_hardware_test 的文件夹, 打开里面的 rf24_hardware_test.ino 文件,
烧到arduino里面。然后打开串口调试窗口,在arduino加载完代码后 5 秒后会出现类似下面的内容 证明线全部好了, 如果全部出现 0xff 或 0x00请重新查看下链接是否正确。*注意 串口要调到 57600否则会出现乱码。
- 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (三) 全双工通信
- 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (四) 树莓派单子节点查询
- 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (五) 树莓派单子节点发送数据
- 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (二) 发送自定义数据
- 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (六) 树莓派查询子节点温湿度数据
- 基于JUnit使用PowerMock的Mockito扩展在Maven测试项目中的配置说明
- 基于Jenkins使用Calabash配置iOS功能测试
- 树莓派配置Arduino及其与ROS的通信
- 基于TestNG使用PowerMock的Mockito扩展在Maven测试项目中的配置说明
- 树莓派配置Arduino及其与ROS的通信
- Google Protocol Buffers之Visual Studio 2005安装配置及其测试步骤[基于C++]
- WCF开发-使用证书文件配置基于自定义X509证书验证的消息安全模式
- 使用Packet Tracert简单配置两个路由器间的通信
- win2k环境下基于JBOSS的J2EE开发实践-----之二、数据库连接池的配置与测试
- 使用Apworks开发基于CQRS架构的应用程序(八):应用程序的配置与编译
- 关于二级指针的使用测试小例子,仅供测试--参数传递的时候用指针最好,因为压栈的时候指针,只是压入一个地址的值,最多4个字节(32位机上),提供的3个测试例子,基于VC6.0的环境。
- 【转】解压缩版tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
- 使用 Telnet 端口 25 测试 SMTP 通信
- WCF开发-使用证书文件配置基于自定义X509证书