Transmission de données avec Xbee

Bonsoir à tous,

J'utilise 2 Arduino+XBeeShield comme télécommande et récepteur. Sur le principe, tout fonctionne bien, la connexion se fait correctement, les messages sont bien envoyés et reçus ... mais ... ils restent parfois suspendus dans un buffer quelque part et n'arrivent que quelque secondes plus tard.

Ce qui est bizarre c'est que je peux envoyer 7 commandes où tout se passe bien, puis la 8ème et les suivantes restent scotchées quelques temps avant de réapparaitre. J'ai mis le TX d'un TTL->RS232 sur la pin 1 de mon Arduino (avec le Xbee shield) et les données sont envoyées au bon moment. C'est du côté du Xbee qu'il y a un problème et pas du côté de l'Arduino ou du software.

Dans un premier temps, je m'étais mis en ZigBee, mais c'était pire, j'avais des pertes de données en plus des délais. Maintenant, je suis en ZNET 2.5 AT et je n'ai 'que' le problème du délai. J'ai tenté de jouer sur le paramètre de Packetization Timeout, mais en le baissant trop, c'était catastrophique, les charactères disparaissaient. En tentant des valeurs plus grandes, ca ne changeait pas grand-chose.

Ce qui semble bizarre, c'est que je n'ai ce phénomène que dans un sens Emetteur->Recepteur, dans le sens contraire tout se passe bien.

Quelqu'un aurait-il une suggestion ?

Merci d'avance,

Rebonjour à tous,

Après quelques essais supplémentaires, je confirme que le problème est présent uniquement quand le Xbee coordinator envoie des messages au Router/End device. Dans le sens contraire, ça marche beaucoup mieux ... j'ai échangé mes deux Xbee et le comportement est effectivement différent.

Mais quoi qu'il en soit, j'ai quand même besoin d'envoyer des messages dans les deux sens. Faudrait-il que je passe dans le mode XBee API et envoyer les messages uniquement au poste concerné? Bien que pour le moment je n'ai que deux XBee, je compte en avoir plus que cela plus tard ... Je rame un peu la ...

Merci d'avance ...

J'ai enfin trouvé la source du problème : J'utilisais comme destination address 0x00000000FFFF qui est l'addresse de broadcast du PAN. Mais il semblerait que le fait d'utiliser cette destination cause des sérieux problèmes de bufferisation des données.
J'utilise maintenant une adresse unique et les performances sont nettement meilleures.

++