1 week ago.
NRF24L01P pipe / address for nework
I'm trying to etablish a RF network composed of: PRX - STM32F746Disovery with NRF24L01+ (the gateway) PTX1- NucleoL053 with NRF24L01+ (the Node1) PTX2- NucleoF401 with NRF24L01+ (The Node2)
Actually I can communicate between a PRX and PTX only through Pipe0 with the default adress Tx and Rx (0xE7E7E7E7EE) on all board. This is successfull by using NRF24L01P Hello Word example.
But I woud like to communicate with more than 2 devices. I'm testing the PRX will send data to each PTX and use Pipe0, Pipe1 and Pipe2 with the following setup:
PRX: RX_ADDR_P0: 0x7878787878 RX_ADDR_P1: 0xB3B4B5B6F1 RX_ADDR_P2: 0xB3B4B5B6CD
PTX1: TX_ADDR: 0xB3 B4 B5 B6 F1 RX_ADDR_P0: 0xB3 B4 B5 B6 F1
PTX2: TX_ADDR: 0xB3 B4 B5 B6 CD RX_ADDR_P0: 0xB3B4B5B6CD
Does this setup is correct ? Because I'am not able communicate by this way.
Thank you for any suggestion.
6 days, 22 hours ago.
The datasheet says: "An nRF24L01 configured as primary RX (PRX) will be able to receive data trough 6 different data pipes. A data pipe will have a unique address but share the same frequency channel. This means that up to 6 different nRF24L01 configured as primary TX (PTX) can communicate with one nRF24L01 configured as PRX, and the nRF24L01 configured as PRX will be able to distinguish between them."
So PRX is a server (or slave) and PTXs are clients (or masters). But only a client (or master) can initialize the communication with a server (or slave) - It means send data to the server (or slave). The server (PRX), after receiving data, can respond (either acknowledge or acknowledge + send back some data). Such setup is suitable for a situation when the PRX (server) is collecting (receiving) data from up to 6 remote sensors (clients).
However, to achieve your plan you should rather configure one nRF24L01 as primary transmitter - PTX (client) and the other nRF24L01s as primary receivers - PRXs (servers). Then each PRX (server) will wait for the PTX (client) to send it some data. It means that each PRX (server) shall have a unique address and the PTX (client) can send data to the addressed PRX over pipe 0.
To post an answer, please log in.