Outils d'utilisateurs

Outils du Site


trucs_astuces:configurer_un_module_xbee_sous_linux

Configurer un module xbee sous linux

Comment configurer un xbee sous linux sans logiciel particulier (juste minicom qui est un émulateur de terminal série, permettant de commander le module xbee en lui envoyant des commandes AT)

Liens utiles

Installation du logiciel permettant la connexion série

  • installer minicom
  • paramétrage de minicom
    • pour parametrer minicom, lancer sudo minicom -s (avec sudo pour pouvoir écrire la config dans /etc/minicom )
    • définir les différents paramètres (echo local, line feed par exemple)
    • sauvegarder la config sous, taper un nom de profil (par exemple defaut ), il sera sauvegardé dans /etc/minicom/minirc.defaut
    • lancer ensuite minicom par minicom defaut pour utiliser ce fichier de conf
  • il est possible de définir la variable d'environnement MINICOM pour lancer éventuellement le profil ou d'autres options automatiquement
  • export MINICOM = defaut -m -c on lancera :
    • defaut : la config “defaut” enregistrée dans /etc/minicom :
    • -m = la touche <alt> à la place de <ctrl-A> pour les options
    • -c on = ecrans d'options colorés (les couleurs peuvent etre définies dans /etc/.minirc.defaut (cf. ci dessus)

Connexion du module xbee

  • connexion du module usb xbee à l'ordi
  • dmesg pour voir sur quel /dev/ttyUSBx le module est pluggué (en général /dev/ttyUSB0 ou dev/ttyUSB1 )
  • sudo minicom -D /dev/ttyUSB0 ou sudo minicom -D /dev/ttyUSB0 -b 57600
  • accès aux options de minicom ctrl-A Z (il faut lacher le ctrl avant l'appui sur Z) voir aussi ci-dessus pour paramétrage de minicomune fois pour toute
  • ctrl-A O pour configuration de minicom
    • puis “configuration du port serie” pour config du baudrate et protocole serie
      • E : baudrate ( 8N1, 57600 (en appuyant sur A ou B)) )
  • ctrl-A E : activation de l'echo local (on voit ce qu'on tape)
  • ctrl-A A : activation de l'ajout d'un retour chariot a chaque reception (plus lisible)

Première commande

  • taper +++ (sans taper sur <Entrée>)
  • le module renvoie OK
  • taper (dans les 10 secondes) : AT <entrée>
  • le module renvoit OK : le mode de commande est activé pendant 10 secondes
  • taper ensuite une commande AT

Commandes AT utiles :

  • ATBD → renvoie la config baudrate du module (3=9600, 6=57600)
  • ATBD 6 → configure le baudrate à 6 (=57600)
  • ATWR → sauvegarde la config ci-dessus sans le module xbee
  • ATID → affiche le pan Id du module xbee (par défaut : 1332) (permet de crééer un réseau de modules qui n'entendent pas les autres modules)
  • ATID 1414 → set un nouveau pan Id au module

toutes les commandes (page 128) :doc_technique_xbe.pdf

Arduino et xbee

Programme test sur arduino leonardo :

Programme permettant de tester une communication de xbee a xbee relié a 2 ordinateurs, dont au moins 1 par un arduino leonardo (l'arduino sur lequel sera le programme) L'autre xbee est relié a l'ordi par un adaptateur xbee USB le shield xbee doit être configuré en mode “xbee” (les 2 jumpers vers l'intérieur du shield). ce mode sur un arduino uno (rx/tx et usb relié) ne fonctionne que si la puce atmega n'est pas branchée. Si elle l'est, l'arduino peut dialogué avec le PC (programmation etc) mais le module xbee ne voit ni l'arduino, ni le pc. en mode “USB” (les 2 jumpers vers le bord du shield) tout ce qui passe par le port USB est envoyé par le xbee et tout ce qui arrive sur le xbee est envoyé a l'usb (console série arduino)

rappel : le rx/tx arduino (broche 0 et 1) ne sont pas reliées à l'USB (connexion PC) sur les leonardos

void setup() {
  // connexion serie USB 
  Serial.begin(9600); 
  // connexion serie Rx/tx (broche 0 et 1 arduino) 
  Serial1.begin(9600);
}
 
void loop() {
  // si reception rx ( venant du xbee donc)
  if (Serial1.available() > 0) {
      int b = Serial1.read();
      //on ecrit ça sur l'USB
      Serial.write(b);
  }
  //si reception en provenance de l'usb (envoyé par l'ordi donc)
  if (Serial.available() > 0) {
      int b = Serial.read();
      //on ecrit ça sur tx, ça va etre envoye par le xbee
      Serial1.write(b);
  }
}

arduino uno

Il est possible de configurer un xbee avec le shield arduino directement. Pour ça il faut que le programme sur l'arduino n'utilise pas l'USB ( Serial) (= D0 et D1 en sortie) En ouvrant une liaison minicom vers l'arduino, il est possible d'envoyer +++ et les commandes AT et de voir le xbee répondre. Il est possible d'uploader un programme sur l'arduino (prog qui de doit toujours pas utiliser Serial) après avoir au préalable couper la liaison serie minicom vers arduino Ce programme s'executera sur l'arduino et la liaison minicom peut etre rétablie et permettre via la console série du PC d'envoyer et recevoir avec le xbee

trucs_astuces/configurer_un_module_xbee_sous_linux.txt · Dernière modification: 2016/05/28 12:34 par bumblebee