- Requisits de maquinari
- Configuració dels mòduls XBee mitjançant XCTU
- Diagrama de circuits per a la part del receptor
- Configureu Raspberry Pi per a la comunicació en sèrie
- Programació de Raspberry Pi per a la comunicació XBee
- Prova de la comunicació sense fils XBee mitjançant Raspberry Pi
En un tutorial anterior, vam interfacer el mòdul XBee amb Arduino Uno i els vam fer comunicar-se sense fils mitjançant el mòdul XBee. Ara farem una interfície del mòdul XBee amb Raspberry Pi, que actuarà com a receptor i el farà comunicar-se sense fils amb un altre mòdul XBee (placa XBee explorer) que està connectat en sèrie amb el portàtil.
Requisits de maquinari
- 1 x Raspberry Pi amb Raspbian instal·lat
- 2 x mòduls XBee Pro S2C (es pot utilitzar qualsevol altre model)
- 1 x tauler explorador XBee (opcional)
- 1 x tauler Xbee Breakout (opcional)
- Cables USB
- LEDs
Se suposa que el vostre Raspberry Pi ja està llampat amb un sistema operatiu. Si no, seguiu el tutorial Introducció a Raspberry Pi abans de continuar. Aquí estem utilitzant Rasbian Jessie instal·lat Raspberry Pi 3.
Aquí el monitor extern que utilitza un cable HDMI s’utilitza com a pantalla per connectar-se amb Raspberry Pi. Si no teniu monitor, podeu utilitzar el client SSH (Putty) o el servidor VNC per connectar-vos a Raspberry pi mitjançant un ordinador portàtil o un ordinador. Obteniu més informació sobre com configurar Raspberry Pi sense cap cap aquí.
Configuració dels mòduls XBee mitjançant XCTU
Com hem après en un tutorial anterior de ZigBee Introduction, el mòdul XBee pot actuar com a coordinador, enrutador o dispositiu final, però cal configurar-lo per funcionar en el mode desitjat. Per tant, abans d’utilitzar els mòduls XBee amb Raspberry Pi, hem de configurar aquests mòduls mitjançant el programari XCTU.
Per connectar el mòdul XBee amb el portàtil, s’utilitza un convertidor USB a sèrie o una placa exploradora dissenyada específicament. Simplement connecteu el mòdul XBee a la placa Explorer i connecteu-lo a l'ordinador portàtil mitjançant un cable USB.
Si no teniu cap convertidor ni cap placa exploradora, es pot utilitzar una placa Arduino com a dispositiu USB a sèrie que es pugui comunicar fàcilment amb el XBee i el portàtil. Simplement pengeu un esbós en blanc a la placa Arduino i ara es pot comportar com un convertidor USB a sèrie.
Configuració dels mòduls XBee:
Aquí, en aquest tutorial, s’utilitza una placa Explorer per configurar els mòduls XBee.
Baixeu-vos el programari XCTU des d’aquest enllaç i instal·leu-lo. Després de descarregar i instal·lar el programari XCTU, obriu-lo i assegureu-vos que el mòdul XBee està connectat correctament. Comproveu el port COM de la placa Arduino al gestor de dispositius.
1. Ara feu clic al botó de cerca. Això us mostrarà tots els dispositius RF connectats amb el vostre ordinador portàtil. En el nostre cas, només mostrarà un mòdul XBee.

2. Seleccioneu el port sèrie de la placa Explorer / Arduino i feu clic a Següent.

3. A la finestra següent, configureu els paràmetres del port USB tal com es mostra a continuació i feu clic a Finalitza.

4. Seleccioneu el dispositiu descobert i feu clic a Afegeix el dispositiu seleccionat . Aquest procés afegirà el vostre mòdul XBee al tauler de control XCTU.

5. Ara podeu configurar el mòdul XBee en aquesta finestra. Podeu utilitzar comandes AT o posar les dades manualment. Com podeu veure, hi ha R que apareix al tauler esquerre, cosa que significa que XBee està en mode enrutador. Hem de convertir-lo en coordinador de la part del transmissor.
Primer, actualitzeu el firmware fent clic a Actualitza el firmware.

6. Trieu la família de productes del dispositiu que estarà disponible a la part posterior del mòdul XBee. Seleccioneu el conjunt de funcions i la versió del firmware tal com es ressalta a continuació i feu clic a Actualitza.

7. Ara, heu de proporcionar dades d'identificació, MY i DL per establir connexió amb altres XBee. L'ID continua sent el mateix per als dos mòduls. Només l'intercanvi de dades MY i DL és a dir, MY per al receptor XBee es converteix en DL del transmissor XBee (coordinador) i DL per al receptor XBee es converteix en MY del transmissor XBee. Feu CE com a coordinador i, a continuació, premeu el botó Escriu. Com es mostra a continuació.

|
ATDL |
AL MEU |
||
|
Coordinador de XBee 1 |
|||
|
Dispositiu final XBee 2 |
8. Després d’escriure les dades anteriors a la part del transmissor, endolleu-les de la placa exploradora i connecteu-hi el segon mòdul XBee. Repetiu el mateix procés que l'anterior. Els canvis només són DL, MY i CE. Com farem el segon XBee com a dispositiu final, de manera que al menú desplegable CE, seleccioneu el dispositiu final i premeu el botó Escriu.
9. Ara, els nostres mòduls XBee estan preparats per a la interfície amb el Raspberry Pi. Anem a connectar el transmissor a la XBee i el receptor portàtil XBee amb el Raspberry Pi. A continuació, doneu ordres a la part del receptor mitjançant un ordinador portàtil. ordinador portàtil.
Diagrama de circuits per a la part del receptor
Les connexions per a la interfície del mòdul ZigBee amb Raspberry PI es mostren al diagrama del circuit.

Connexions:
- Tx (pin2) de XBee -> Tx de pin Raspberry Pi
- Rx (pin3) de XBee -> Rx de pin Raspberry Pi
- Gnd (pin10) de XBee -> GND del pin Raspberry Pi
- Vcc (Pin1) de XBee -> 3,3v de pin Raspberry Pi
- El LED està connectat a GPIO 23

Configureu Raspberry Pi per a la comunicació en sèrie
Ara, configurarem el Raspberry Pi per a la comunicació en sèrie. Per defecte, el port sèrie de maquinari de Pi està desactivat. Per tant, l’hem d’habilitar abans d’iniciar la connexió.
1. Al terminal, executeu l'ordre raspi-config .

2. Aneu a l’opció 5 Opcions d’interfície i premeu la tecla Enter. Ara, seleccioneu l' opció sèrie P6 i activeu-la i deseu-la.

Sortiu del terminal i esteu a punt per establir la connexió entre Raspberry Pi i XBee. GPIO14 i 15 actuaran com Tx i Rx respectivament i estan disponibles al port / dev / ttyS0 de raspberry pi.
Ara, escriurem una seqüència de comandaments python a ON el LED cada vegada que rebem 'a' del costat del transmissor XBee.
Programació de Raspberry Pi per a la comunicació XBee
Al final es dóna un programa complet de python per a la interfície de XBee amb Raspberry Pi.
En primer lloc, hem d’importar les biblioteques de temps, sèrie i RPi.GPIO mitjançant la funció d’ importació.
temps d' importació d' importació d' importació en sèrie RPi.GPIO com a GPIO…
Ara, escriviu les propietats de la connexió sèrie, definiu el port, la velocitat de transmissió i les paritats com es mostra a continuació.
ser = serial.Serial ( port = '/ dev / ttyS0', baudrate = 9600, parity = serial.PARITY_NONE, stopbits = serial.STOPBITS_ONE, bytesize = serial.EIGHTBITS, timeout = 1 )
Escriure tot l'enviament i elements de recepció en el temps de bucle.
mentre que 1:
Podeu utilitzar la funció ser.write per enviar els missatges al costat del transmissor. Deixeu el comentari a les línies següents per enviar comptes.
# ser.write (str.encode ('Escriure comptador:% d \ n'% (comptador))) # time.sleep (1) #counter + = 1
Per rebre els missatges hem d’utilitzar la funció ser.readline () . Emmagatzemeu el missatge entrant en una variable i comproveu-ne l'estat. Si el missatge entrant és "a", activeu el LED durant 3 segons i apagueu el LED.
x = ser.readline (). strip () print (x) if x == 'a': GPIO.output (23, GPIO.HIGH) time.sleep (3)….
Al final del tutorial es proporciona un codi complet de Python amb un vídeo de demostració. Enganxeu el codi a qualsevol editor de text del Pi i deseu-lo. Executeu l'script al terminal mitjançant sudo python script_name.py O bé podeu utilitzar Python IDE i Shell per executar l'script.
Prova de la comunicació sense fils XBee mitjançant Raspberry Pi
Ara, tots ens posem a provar el nostre transmissor i receptor XBee. Per donar ordres a la part del transmissor, utilitzarem el terminal de consola de XCTU. Feu clic a la icona de la consola a prop de l'opció de configuració. A continuació, feu clic al botó Obre per connectar l'XBee al portàtil.
Introduïu "a" al registre de la consola. Veureu que el LED s’encendrà durant 3 segons i després s’apagarà.

D'aquesta manera, també podeu connectar el transmissor XBee a la placa Arduino tal com es descriu al tutorial anterior i fer que el Raspberry Pi i l'Arduino es comuniquin entre ells.
