Ambos Xbee se configura en modo end point o nodo, es decir, ninguno es concentrador, lo que permite una comunicación bidireccional y sin esperas.
ATMY -> Es el valor individual para cada nodo.
ATDL -> Indica el número de nodo destino.
ATCE -> Tiene valor 1 o 0, dependiendo de si es concentrador o no.
ATRE -> Restaura valores de fábrica.
ATWR -> Almacena los valores de configuración en la memoria no volátil.
ATCN -> Sale del modo configuración.
ATBD -> Tasa de transmisión, por defecto 3= 9600.
ATAP -> API Mode. (Enable: 1, Disable: 0)
Ejecutar en un terminal la aplicación GtkTerm y configurar las siguientes opciones como muestra la figura seleccionando el ttyUSBx que corresponda:
Una vez configurado, introducir +++ y obtener OK de parte del XBee, configurar el Xbee con los siguientes parámetros:
Para establecer comunicación, ejecutar la aplicación GtkTerm abriendo una consola al USB de uno de los XBee, y en otra terminal poner a escuchar al otro XBee con el comando cat:
Y otra opción es transmitir datos con el comando tee y escuchar con el comando cat:
En caso de configurar uno de los XBee como concentrador, la transmisión solo se transmitirá, en principio, del end point al concentrador. Aunque dependerá del estado del ATSM
try:
Comandos AT:
ATID -> Corresponde al PanId o el número que engloba todos los dispositivos XBee de una misma red.ATMY -> Es el valor individual para cada nodo.
ATDL -> Indica el número de nodo destino.
ATCE -> Tiene valor 1 o 0, dependiendo de si es concentrador o no.
ATRE -> Restaura valores de fábrica.
ATWR -> Almacena los valores de configuración en la memoria no volátil.
ATCN -> Sale del modo configuración.
ATBD -> Tasa de transmisión, por defecto 3= 9600.
ATAP -> API Mode. (Enable: 1, Disable: 0)
Ejecutar en un terminal la aplicación GtkTerm y configurar las siguientes opciones como muestra la figura seleccionando el ttyUSBx que corresponda:
Una vez configurado, introducir +++ y obtener OK de parte del XBee, configurar el Xbee con los siguientes parámetros:
| ATID | ATMY | ATDH | ATDL | ATCE | ||
| XBee1 | 2 | 0 | 0 | 4 | 0 | |
| XBee2 | 2 | 4 | 0 | 0 | 0 |
Para establecer comunicación, ejecutar la aplicación GtkTerm abriendo una consola al USB de uno de los XBee, y en otra terminal poner a escuchar al otro XBee con el comando cat:
Y otra opción es transmitir datos con el comando tee y escuchar con el comando cat:
En caso de configurar uno de los XBee como concentrador, la transmisión solo se transmitirá, en principio, del end point al concentrador. Aunque dependerá del estado del ATSM
Cambiar parámetros AT en el XBee mediante código python
Este ejemplo permite cambiar el valor del parámetro MY almacenado en una variable. De esta manera, se podrá cambiar cualquier otro parámetro de configuración desde python. Serán necesarias las librerías XBee-2.1.0 y, por supuesto, pySerial.
#! /usr/bin/python
from xbee import XBee
import serial
def main():
try:
sn= '6'
ser = serial.Serial('/dev/ttyUSB0', 9600)
xbee = XBee(ser)
xbee.send('at', frame_id='A', command='MY', parameter= chr(int('0x%s' %sn, 16)))
response = xbee.wait_read_frame()
print response
#xbee.send('at', frame_id='D', command='CE', parameter= '\x00\x00') # m.nodo
#xbee.send('at', frame_id='D', command='CE', parameter= '\x00\x01') # m.concentrador
#xbee.send('at', frame_id='D', command='CE', parameter= '\x00\x01') # m.concentrador
#response = xbee.wait_read_frame()
#print response
xbee.send('at', frame_id='B', command='RW')
except KeyboardInterrupt:
pass
finally:
ser.close()
if __name__ == '__main__':
main()



Comentarios