Practica: XBEE. Comunicaciones Inalámbricas. Ayudantes: Diego Mendoza y Francisco Pérez FCHE2013 Objetivo: Que el alumno conozca el dispositivo XBEE, y se familiarice con dispositivos comerciales. Experimento1. Conexión y configuración. Experimento 2. Configurar cada modulo. Experimento 3. Conexión entre dos arduinos/xbee. Introducción Arduino es una un elemento con el cual se puede realizar un control sobre casi cualquier elemento eléctrico o electrónico, así como una gran variedad de integrados comerciales. E este caso el integrado que se tiene en cuestión son los módulos Xbee que trabajan con un estándar 802.15.4/ZIGBEE, que se encarga de generalizar las redes de comunicación de diferente s elementos. Los módulos Xbee se dividen en dos categorías, por lado se tienen los Serie 1 que son elementos oque funcionan para redes punto a punto, los cuales son incompatibles con la otra categoría llamada Serie 2, los cuales pueden entablar una conexión multipunto, de esta manera se pueden crear diferentes tipos de redes de datos. En este caso se trabajo con módulos de la Seria 2 estableciendo una comunicación punto a punto.
Para que Xbee pueda funcionar a trabajar se requiere de una Xbee Shield la cual ayudara a configurarlo y controlar con Arduino. El siguiente reporte se presenta en forma de tutorial, mostrando la metodología para realizar una conexión exitosa, por lo cual los problemas que siguieron a lo largo del auto aprendizaje se muestran como pequeñas notas implícitas que se muestran como detalles u observaciones importantes. Desarrollo Para que se pueda entablar una conexión de cualquier tipo se deben de tener primero una serie de configuraciones, para que los dispositivos sepan a quine enviar sus datos, en el caso de Xbee no es la excepción. En el caso de estos elementos la configuración debe de ser a través de una paquetería llama X-UTC. La razón de utilizar esta paquetería y no el ambiente de Arduino como alternativa, radica en que Xbee no esta diseñado para Arduino precisamente, de tal forma que configurarlo desde el ambiente de programación de Arduino es imposible, ya que ni siquiera está diseñado para eso. Así que el X-CTU funciona como una Interfaz para poder configurar Xbee a través de Arduino. Para esta configuración se requiere preferentemente de dos computadoras, con X-CTU y en cada una un Arduino con su respectivo Xbee, esto es para facilitar la comprobación de la conexión en tiempo real y poder hacer modificaciones de una manera más sencilla. En la configuración de dará nombre a cada modulo y también un ID que comparte ambos dispositivos. Experimento1. Conexión y configuración. Los pasos para realizar la conexión se presentan a continuación: Para 2 los módulos se debe de realizar los siguientes 4 puntos en el cual se establesera un COORDINATOR y un ROUTER. 1- Se debe de cargar a la placa Arduino el siguiente programa: Void setup() { Void loop() { Esto dado que se del modulo Xbee utiliza el puerto serial para comunicarse, si se utiliza en algún programa impedirá la conexión efectiva, así que con esto se busca tener libre el puerto serial para las configuraciones. 2- Una vez cargado se cierra el interfaz de programación de Arduino y se habre el programa X-CTU, en el cual aparesera el nombre del dispositivo dando referencia al puerto el cual será de la forma COM3 donde COM es el tipo de puerto y el numero a que puerto esta conectado Arduino con Xbee, esto es importante ya que en ocasiones no se puede tener conxion satisfactoria ya que no encuentra dicho modulo. Es importante recalar que la placa Xbee Shield tiene unos pines que tienen escrito USB y del otro lado esta escrito Xbee, esto abilita para donde va conectado el modulo. Se pondrn en podo USBantes de conectar a X-CTU de esta manera quedara listo para configurar. Una vez hecho esto se da clic en el botón Test/Query, al terminar la pruba debe salir un mensaje que diga Comunication whit modem.ok seguido del modelo de Xbee por ejemplo Modem type = XB24-B y finalmente Modem firmware vertion = 22A0 los datos deben variar para cada tipo
de modulo sin embargo los encabezados deben ser los mismos, de esta manera X-CTU nos dice que a logrado comunicarse exitosamente con Xbee. 3- A continuación se da clic en la pestaña Modem configuration y luego en Read, esto mostrara la configuración que tiene guardad el dispositivo. Una vez que termina de leer mostrara carpetas como Networking y Addressing en las cuales se realizaran configurasiones y se dara clic en Funtion Set (para el caso del Cordinator se dara en la opción ZNET 2.5 COORDINATOR AT y para el ROUTER la siguiente ZNET 2.5 ROUTER/EN DEVICE AT ) 4- Cuando muestre las carpetas el lo que se deberá hacer es ir a Networking y dar clic en PANID, mostrara una línea de escritura, ahí se debe de escribir un código el cual será común para ambos elementos, por ejemplo: 2360, 1234. 5- Configurar cada modulo Experimento 2. Configurar cada modulo. Para COORDINATOR a) Se debe de dar clic en Addressing y después en DH Destination Address High y se coloca el Serial Number High del ROUTER b) A continuación se da clic en DL Destination Address LOW y se coloca el Serial Number LOW del ROUTER c) SH Serial Number High y SL Serial Number LOW del COORDINATOR no se modifican. Para ROUTER a) DH Destination Address High y colocar el Serial Number High del ROUTER deberán de estar en vacios. b) Como se observo en el inciso anterior el SH Serial Number High y SL Serial Number LOW del ROUTER se colocaran en DH Destination Address High y DL Destination Address LOW del COORDINATOR, por lo cual si se modifica SH Serial Number High y SL Serial Number LOW se deberá de modificar también el DH Destination Address High y DL Destination Address LOW del COORDINATOR, ambos deben de coincidir en el numero asignado. 6- Una vez que se configuro COORDINATOR y ROUTER se da clic en Always update firware y finalmente dar clic en el botón Write con esto quedara guardada la configuración en ambos módulos XBee. 7- Finalmente para comprobar la conexión se da clic en la pestaña Terminal y se escribe alguna frase, la cual debe de verse en la terminal de la otra computadora y viceversa, con esto concluye la configuración de los módulos Xbee. Experimento 3. Conexión entre dos arduinos/xbee. Para realizar una conexión entre dos Arduinos se realiza lo siguiente: Se controlara un LED mediante una conexión inalámbrica, por lo tanto para el Arduino configurado como ROUTER se graba en el programa PhysicalPixel el cual se encuentra en Archivo/Ejemplos/Comunicación/PhysicalPixel del entorno de programación Arduino. const int ledpin = 13; // the pin that the LED is attached to
int incomingbyte; // a variable to read incoming serial data into void setup() { // initialize serial communication: Serial.begin(9600); // initialize the LED pin as an output: pinmode(ledpin, OUTPUT); void loop() { // see if there's incoming serial data: if (Serial.available() > 0) { // read the oldest byte in the serial buffer: incomingbyte = Serial.read(); // if it's a capital H (ASCII 72), turn on the LED: if (incomingbyte == 'H') { digitalwrite(ledpin, HIGH); // if it's an L (ASCII 76) turn off the LED: if (incomingbyte == 'L') { digitalwrite(ledpin, LOW); Es muy importante notar que cuando se grabe un programa se deben de quitar los pines de USB/XBEE, deben de retirarse completamente. De manera similar en el otro Arduino con la configuración COORDINATOR se carga el siguiente programa: void setup() { Serial.begin(9600); void loop() { Serial.print('H'); delay(1000); Serial.print('L'); delay(1000);
Por supuesto también se retiran los pines USB/XBEE por completo. Una vez cardos ambos programas ene su respetivo Arduino se ponen de nuevo los pines pero ahora en la posición XBEE. Al momento se puede observar como el LED en el pin 13 o el LED integrado en al microcontrolador comienza a parpadear. Con esto queda completada la conexión y con la posibilidad de implementar cualquier aplicación entre ambos Arduinos.