【发布时间】:2016-06-22 23:41:12
【问题描述】:
我正在尝试使用 nrf24l01+ 网络接收器从我的 Raspberry Pi 检索传感器数据。
我是从 Arduino nano 板上发送的。这是我的 Arduino 的设置:
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xcccccc3ccc 0xcccccc3c3c
RX_ADDR_P2-5 = 0x33 0xce 0x3e 0xe3
TX_ADDR = 0xcccccccc3c
RX_PW_P0-6 = 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA = 0x3e
EN_RXADDR = 0x3f
RF_CH = 0x5a
RF_SETUP = 0x07
CONFIG = 0x0f
DYNPD/FEATURE = 0x3f 0x04
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX
我的树莓派通过 GPIO 插入了 nrf24l01+。我使用https://github.com/TMRh20/RF24 上给出的 C++ 示例确保连接正常:
RF24 radio(RPI_BPLUS_GPIO_J8_15,RPI_BPLUS_GPIO_J8_24, BCM2835_SPI_SPEED_8MHZ);
数据正常。现在我想使用 nodeJS 程序来获取这些数据。我正在使用这个库:https://github.com/natevw/node-nrf
代码很简单,但不知何故不起作用(控制台无声):
var spiDev = "/dev/spidev0.0";
var cePin = 15; //RPI_BPLUS_GPIO_J8_15
var irqPin = null;
var channel = 0x5a; //90
var radio = require('nrf').connect(spiDev, cePin, irqPin);
radio
.channel(channel)
.dataRate('1Mbps')
.crcBytes(1)
// .autoRetransmit({count:15, delay:4000})
;
radio.begin(function () {
var rx = radio.openPipe('rx', 0xcccccccc3c);
rx.pipe(process.stdout);
});
我想知道我做错了什么。硬件还行,设置也不错,你觉得呢?
谢谢
【问题讨论】:
标签: node.js networking arduino gpio