Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Module Nfr24L01+ : lire l'adresse d'un message du buffer RX.
#1
Bonjour

j' utilise des modules NRF24L01+ pour faire dialoguer une PI et trois arduinos. Tout se passe dans problème mais il reste une question en suspend concernant la lecture des messages reçu.

J'utilise la bibliothèque RF24 et avec la fonction radio.read() je récupere bien les données qui sont dans le buffer de mon nrf24L01+, cependant je n'en connais pas la provenance.

Hors d'après la documentation de chez nordic il semble que le paquet transmis soit d'un longueur de 40 bits,
  • le premier étant le statut,
  • les suivants l'adresse
  • le packet control
  • les données
  • enfin le CRC

Alors comment récupérer cette adresse.

Merci par avance

Cordialement
Répondre
#2
As-tu un lien vers la documentation ? Et en quel langage développes-tu ?

Et quand tu dis qu'il y a l'adresse dans le paquet, c'est l'adresse de l'émetteur ou du récepteur ?
Répondre
#3
Bonjour

j'ai relu la doc, et au final il me semble que l'adresse ne serve que pour la puce dans sa gestion des échanges. Du coup après réception des données dans la pile, il n'y a que le statut et les données.

La doc est ici :

http://www.nordicsemi.com/eng/Products/2...F/nRF24L01

je développe en C sur la PI.
Répondre
#4
Il faudrait peut-être que tu envoies un identifiant dans ton message alors ?
Répondre
#5
Non je ne peux pas, en fait le problème est que quand il y a un message en provenance d'une des sources dans le buffer, la fonction

radio.available() est vrai.

puis
radio.read() renvoi le contenu du buffer mais sans que l'on sache qui envoi.

J'ai contourné le problème, mais je pensais pourvoir l'éviter.

Le contournement consiste a mettre le numéro du module qui émet dans le message !

Merci
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)

A propos de Communauté francophone RPi

Communauté francophone RPi est un forum d'aide et de partage autour du Raspberry Pi et des micro-ordinateurs.