- Exigences matérielles
- Configuration des modules XBee à l'aide de XCTU
- Schéma de circuit pour la partie récepteur
- Configurer Raspberry Pi pour la communication série
- Programmation de Raspberry Pi pour la communication XBee
- Test de la communication XBee sans fil à l'aide de Raspberry Pi
Dans le tutoriel précédent, nous avons interfacé le module XBee avec Arduino Uno et l'avons fait communiquer sans fil à l'aide du module XBee. Nous allons maintenant interfacer le module XBee avec Raspberry Pi qui agira comme un récepteur et le fera communiquer sans fil avec un autre module XBee (carte d'explorateur XBee) qui est connecté en série avec l'ordinateur portable.
Exigences matérielles
- 1 x Raspberry Pi avec Raspbian installé
- 2 x modules XBee Pro S2C (tout autre modèle peut être utilisé)
- 1 x carte d'exploration XBee (en option)
- 1 x carte de dérivation Xbee (en option)
- Câbles USB
- LED
On suppose que votre Raspberry Pi est déjà flashé avec un système d'exploitation. Sinon, suivez le didacticiel Premiers pas avec Raspberry Pi avant de continuer. Ici, nous utilisons Rasbian Jessie installé Raspberry Pi 3.
Ici, le moniteur externe utilisant un câble HDMI est utilisé comme écran pour se connecter au Raspberry Pi. Si vous n'avez pas de moniteur, vous pouvez utiliser le client SSH (Putty) ou le serveur VNC pour vous connecter à Raspberry pi à l'aide d'un ordinateur portable ou d'un ordinateur. En savoir plus sur la configuration de Raspberry Pi sans tête ici.
Configuration des modules XBee à l'aide de XCTU
Comme nous l'avons appris dans le didacticiel précédent de ZigBee Introduction, le module XBee peut agir en tant que coordinateur, routeur ou périphérique final, mais il doit être configuré pour fonctionner dans le mode souhaité. Donc, avant d'utiliser les modules XBee avec Raspberry Pi, nous devons configurer ces modules à l'aide du logiciel XCTU.
Pour connecter le module XBee à l'ordinateur portable, un convertisseur USB vers série ou une carte d'exploration spécialement conçue est utilisée. Connectez simplement le module XBee à la carte Explorer et branchez-le à l'ordinateur portable à l'aide d'un câble USB.
Si vous n'avez pas de convertisseur ou de carte d'exploration, une carte Arduino peut être utilisée comme périphérique USB vers série qui peut facilement communiquer avec le XBee et l'ordinateur portable. Il suffit de télécharger un croquis vierge sur la carte Arduino et il peut maintenant se comporter comme un convertisseur USB vers série.
Configuration des modules XBee:
Ici, dans ce tutoriel, une carte Explorer est utilisée pour configurer les modules XBee.
Téléchargez le logiciel XCTU à partir de ce lien et installez-le. Après avoir téléchargé et installé le logiciel XCTU, ouvrez-le et assurez-vous que votre module XBee est correctement connecté. Vérifiez le port COM de la carte Arduino dans le gestionnaire de périphériques.
1. Cliquez maintenant sur le bouton de recherche. Cela vous montrera tous les appareils RF connectés à votre ordinateur portable. Dans notre cas, il affichera un seul module XBee.
2. Sélectionnez le port série de la carte Explorer / Arduino et cliquez sur Suivant.
3. Dans la fenêtre suivante, définissez les paramètres du port USB comme indiqué ci-dessous et cliquez sur Terminer.
4. Sélectionnez l'appareil détecté et cliquez sur Ajouter l'appareil sélectionné . Ce processus ajoutera votre module XBee au tableau de bord XCTU.
5. Vous pouvez maintenant configurer votre module XBee dans cette fenêtre. Vous pouvez utiliser les commandes AT ou placer les données manuellement. Comme vous pouvez le voir, R apparaît sur le panneau de gauche, ce qui signifie que XBee est en mode routeur. Nous devons en faire un coordinateur pour la partie émetteur.
Tout d'abord, mettez à jour le micrologiciel en cliquant sur le bouton Mettre à jour le micrologiciel.
6. Choisissez la famille de produits de votre appareil disponible à l'arrière de votre module XBee. Sélectionnez l'ensemble de fonctions et la version du micrologiciel comme indiqué ci-dessous et cliquez sur Mettre à jour.
7. Maintenant, vous devez donner des données ID, MY et DL pour établir une connexion avec d'autres XBee. L'ID reste le même pour les deux modules. Seul l'échange de données MY et DL c'est-à-dire MY pour le récepteur XBee devient DL de l'émetteur XBee (coordinateur) et DL pour le récepteur XBee devient MY de l'émetteur XBee. Faites de CE comme coordinateur, puis appuyez sur le bouton Écrire. Comme indiqué ci-dessous.
ATDL |
À MON |
||
Coordinateur XBee 1 |
|||
Appareil d'extrémité XBee 2 |
8. Après avoir écrit les données ci-dessus sur la partie émetteur, débranchez-la de la carte d'exploration et branchez-y le deuxième module XBee. Répétez le même processus que ci-dessus, seuls les changements sont les DL, MY et CE. Comme nous allons créer le deuxième XBee en tant que périphérique final, dans le menu déroulant CE, sélectionnez le périphérique final et appuyez sur le bouton Écrire.
9. Maintenant, nos modules XBee sont prêts à s'interfacer avec le Raspberry Pi. Nous allons connecter l'émetteur XBee à l'ordinateur portable et le récepteur XBee avec le Raspberry Pi. Ensuite, donnez des commandes à la partie récepteur à l'aide d'un ordinateur portable. portable.
Schéma de circuit pour la partie récepteur
Les connexions pour l' interfaçage du module ZigBee avec Raspberry PI sont illustrées dans le schéma électrique.
Connexions:
- Tx (pin2) de XBee -> Tx de pin Raspberry Pi
- Rx (pin3) de XBee -> Rx de pin Raspberry Pi
- Gnd (pin10) de XBee -> GND de la broche Raspberry Pi
- Vcc (Pin1) de XBee -> 3.3v de broche Raspberry Pi
- La led est connectée au GPIO 23
Configurer Raspberry Pi pour la communication série
Maintenant, nous allons configurer le Raspberry Pi pour la communication série. Par défaut, le port série matériel de Pi est désactivé. Nous devons donc l'activer avant de démarrer la connexion.
1. Dans le terminal, exécutez la commande raspi-config .
2. Allez à l'option 5 Options d'interfaçage et appuyez sur Entrée. Maintenant, sélectionnez l' option P6 Serial et activez-la, puis enregistrez-la.
Quittez le terminal et vous êtes prêt à établir la connexion entre Raspberry Pi et XBee. GPIO14 et 15 agiront respectivement comme Tx et Rx et ceux-ci sont disponibles sur le port / dev / ttyS0 de raspberry pi.
Maintenant, nous allons écrire un script python sur ON la LED chaque fois que nous recevons 'a' du côté émetteur XBee.
Programmation de Raspberry Pi pour la communication XBee
Le programme python complet pour interfacer XBee avec Raspberry Pi est donné à la fin.
Tout d'abord, nous devons importer les bibliothèques de temps, de série et RPi.GPIO en utilisant la fonction d' importation.
importation heure importation série import RPi.GPIO comme GPIO …
Maintenant, écrivez les propriétés de la connexion série, définissez le port, le débit en bauds et les parités comme ci-dessous.
ser = serial.Serial ( port = '/ dev / ttyS0', baudrate = 9600, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, bytesize = serial.EIGHTBITS, timeout = 1 )
Ecrire tous les envoyer et recevoir des éléments du tout en boucle.
tandis que 1:
Vous pouvez utiliser la fonction ser.write pour envoyer les messages côté émetteur. Décommentez les lignes ci-dessous pour envoyer les comptages.
# ser.write (str.encode ('Write counter:% d \ n'% (counter))) # time.sleep (1) #counter + = 1
Pour recevoir les messages, nous devons utiliser la fonction ser.readline () . Stockez le message entrant dans une variable et vérifiez la condition. Si le message entrant est «a», allumez la LED pendant 3 secondes, puis éteignez la LED.
x = ser.readline (). strip () print (x) if x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
Le code Python complet avec une vidéo de démonstration est donné à la fin du didacticiel. Collez le code dans n'importe quel éditeur de texte du Pi et enregistrez-le. Exécutez le script dans le terminal à l'aide de sudo python nom_script.py OU vous pouvez utiliser Python IDE et Shell pour exécuter le script.
Test de la communication XBee sans fil à l'aide de Raspberry Pi
Maintenant, nous sommes tous prêts à tester notre émetteur et récepteur XBee. Pour donner la commande à la partie émetteur, nous utiliserons le terminal console de XCTU. Cliquez sur l'icône de la console à côté de l'option des paramètres. Ensuite, cliquez sur le bouton Ouvrir pour connecter le XBee à l'ordinateur portable.
Entrez «a» dans le journal de la console. Vous verrez que la LED s'allumera pendant 3 secondes, puis s'éteindra.
De cette façon, vous pouvez également connecter l'émetteur XBee à la carte Arduino comme décrit dans le tutoriel précédent, et faire communiquer le Raspberry Pi et l'Arduino entre eux.