Étape 11 : Communication point à point
La plus simple façon de communiquer en utilisant les modems XBee est point à point. Cela signifie un modem communiquant avec un autre modem. Données série va dans un XBee, sont transmises sans fil et va à l’autre et vice versa.
Si vous voulez juste une liaison sans fil - entre deux microcontrôleurs, ordinateurs, Arduinos, etc. puis démarrez ici !
Définition de l’ID de réseau
Pour ce réseau simple, nous voulons deux modems pour parler seulement les uns aux autres. Cela signifie que si vous êtes dans une école, laboratoire ou un atelier d’autrui XBee peut interagir avec les vôtres provoquant une certaine confusion majeure
Un bon moyen d’éviter cela est de définir l’ID de réseau (autrement connu comme le PAN - Personal Area Nework - ID) à une valeur unique. Par défaut tous les XBee utilise PAN ID #3332. L’ID du format hexadécimal de 4 octets et peut varier de 0000 à FFFF
Il est facile de modifier le moule. Si vous voulez faire avec X-CTU il suffit de sélectionner un nouvel ID et écrire pour le module
Si vous utilisez un terminal pour vous connecter, utilisez la commande ATID pour définir et vérifier l’ID de PAN
-> À (Cochez si xbee modem ne répond pas)
<- OK
-> ATID (obtenir PAN actuel)
<- 3332 (par défaut, ou autre chose)
-> ATID 3137 (id du nouveau jeu)
<- OK
-> ATID (vérifier de nouveau)
<- 3137
-> ATWR (écriture le changement à clignoter)
<- OK
Connexion à un Arduino ou Boarduino
Permet de définir un exemple où l’ordinateur va parler à un projet de microcontrôleur comme un Arduino ou Boarduino. Si vous êtes en utilisant un microcontrôleur différent ou communiquer entre deux microcontrôleurs, sa va être assez similaire
Commencez par mettre au préalable le PAN ID et baud taux pour les deux modems. Pour cet exemple, je vais supposer qu’ils sont mis en place pour la vitesse de transmission par défaut de 9600
Conncet un module à votre microcontrôleur. Commencez par brancher + 5V et le sol pour alimenter. Assurez-vous que LED verte du XBee clignote. Puis, connectez la ligne RX (entrée) de le XBee à la ligne TX (sortie) du microcontrôleur et vice versa. Pour l’Arduino/Boarduino sous j’utiliserai un programme « Logiciel Serial » et l’utilisation broche #2 comme le RX et la broche #3 comme le TX. Cela me permet d’utiliser le matériel par défaut USB serial port sans entrer en conflit. (Par exemple, je peux toujours télécharger un croquis)
Maintenant connecter l’autre module à un ordinateur à l’aide d’un câble FTDI ou similaire.
Ouvrir un terminal à XBee l’ordinateur et commencez à taper dedans - quelle que soit vous voulez. Vous devriez voir la LED rouge sur l’autre modem s’allument, indiquant des données sont en cours de réception. Si vous ne voyez pas la LED rouge s’allume, vérifiez que vous disposez des modules compatibles, correspondant à des vitesses de transfert et PAN IDs.
Maintenant pour installer la bibliothèque NewSoftSerial et télécharger le croquis suivant :
#include < NewSoftSerial.h >
NewSoftSerial mySerial = NewSoftSerial (2, 3) ;
void setup() {}
pinMode (13, sortie) ;
Serial.Begin(9600) ;
Serial.println ("Goodnight moon!") ;
définir le débit de données pour le port de SoftwareSerial
mySerial.begin(9600) ;
mySerial.println ("Hello, world?") ;
}
void loop() / / run maintes et maintes fois
{
Si (mySerial.available()) {}
Serial.Print((Char)mySerial.Read()) ;
}
Si (Serial.available()) {}
mySerial.print((char)Serial.read()) ;
}
Delay(100) ;
}
Cela mettra en place un point à point « tunnel » entre les deux XBees. Ce qui est tapé dans le terminal de l’ordinateur se retrouveront dans Serial Monitor de l’Arduino. L’essayer !