Module NRF24L01 avec Arduino / Mise en réseau de plusieurs modules NRF24L01 / Envoi et réception de message

Envoi et réception de message


network.update();

  • Envoi d'un message

Il faut créer l’objet RF24NetworkHeader qui prend en paramètre l’adresse du module destinataire. L’envoi du message se fait

ensuite par la fonction write comme suit par

exemple : 

RF24NetworkHeader header(node01);

  const char text[] = "Hello";

  network.write(header, &text, sizeof(text));

  •         Réception d’un message
Pour recevoir un message il faut recréer l’objet RF24NetworkHeader dans le code d’envoi sans le passage
d’une adresse en paramètre. La réception se fait ensuite par la fonction read après avoir vérifié la présence du
message envoyé dans la mémoire du module par la fonction available comme suit par exemple :

while(network.available()){

    RF24NetworkHeader headern; 

char text1[32] = "";

    network.read(headern, &text1, sizeof(text1));

  • Réception de messages venant de plusieurs NRF

Il faut créer l’objet RF24NetworkHeader dans le code de réception sans le passage d’une adresse en paramètre. La réception se fait par la fonction read après avoir vérifié la présence du message envoyé dans la mémoire du module par la fonction available toujours de la manière suivante :

NB : char et text1 sont respectivement le type et le nom de la variable choisie ici.

Ensuite vérifier à chaque fois la provenance du message avec l’instruction suivante :

If(headern.from_node==address){

Instruction

NB : address est l’adresse  du module émettant le message en format décimal.