Está en la página 1de 2

XBEE Y ARDUINO

Introduccin

08

Durante la presente capsula se vern los conceptos fundamentales del protocolo Zigbee especificamente usando los mdulos Xbee de Digi junto a la placa de desarrollo Arduino. Para realizar el tutorial se necesitar disponer de la mochila Xbee de Libelium.

Objetivos
Obtener un conocimiento general del protolo Zigbee implementado a travs de los mdulos Xbee Aprender a con gurar una red sensorial usando Xbee series 1 Como modi car el rmware de los modulos usando X-CTU y comandos AT Diferentes modos de con guracin de la electronica para uso en diferentes aplicaciones.

Hardware
Esquema de la mochila que se deber de conectar a la placa Arduino:

Modulo Xbee

Xbee es un modulo de Digi para comunicacin inalmbrica basado en protocolo Zigbee. Podemos usar dos modulos. Series 1 (punto a multipunto) y Series 2 ZB (red mess)

Descripcin de hardware: La mochila permite conectar un modulo Xbee estandard y a su vez deja libre varios puertos de Arduino para uso de senores, etc... Pines del modulo Xbee Accesibles externamente Jumpers de con guracion Modo USB/Xbee (con o sin AtMega)

Pines del modulo Xbee

Conexiones y funcionalidades: - Xbee funciona a 3.3V y se comunica por un puerto serie con Arduino. - 3 modelos de antenas: integrada, wire o externa. - Puertos integrados de entrada y salida digitales y analogicos

Circuito Basico

Aplicaciones Redes de comuniacion punto a punto, punto a multipunto o peer to peer. Tiene dos series de modulos disponibles. Los modulos series 2 permiten hacer redes Mesh, la serie 1 no.

Hangar Interaction Lab: Lu - Vi / 9h 14h Ju / 18 - 21h Ph: 93 30840 41 ex 28 Alex Posada (electronics): alex@hangar.org / Lluis Gomez (software): lluisgomez@hangar.org

Software
Introduccin Zigbee es un protocolo de comunicaciones inalmbrico basado en el estndar de comunicaciones para redes inalmbricas IEEE_802.15.4. Se realiza en banda libre de 2.4Ghz. La velocidad de transmisin es de hasta 256 Kbps y los modulos normales tienen un alcance entre 30m en interiores y 100m exteriores. Elementos de una red: - Coordinador: Es el nodo de la red que tiene la nica funcin de formar una red. - Routers: Es un nodo que crea y mantiene informacin sobre la red para determinar la mejor ruta para transmitir un paquete de informacin. - End devices: Los dispositivos finales no tienen capacidad de enrutar paquetes. MODO API Transmitir informacion a multiples destinatarios, Recibir estado de exito/falla de cada paquete RF transmitido. Identificar la direccion de origen de cada paquete recibido. Modos de operacion: Modo Modo Modo Modo transparente: Enlace serie entre dos modulos bajo consumo: Sleep mode para apagar por Pin. de comandos: Comandos AT de modem API: Modo mas complejo pero preciso al estilo TCP

COMANDOS AT
AT ASCII + + prefijo command espacio + Parametro + retorno carro

Ejemplo de uso: (cambio de red y grabado del parametro) +++ ATID<enter> ATWR<enter> OK<CR> 3332<CR> OK<CR>

Comandos comunes:
ID CH MY DH / DL BD WR Id de la red Canal del modulo Xbee Direccin de 16 bits Direccin de modulo destino Velocidad de comuniacion serie Grabacin de los parametros

XCTU X-CTU es una aplicacion para windows que permite programar el firmware del Xbee de una manera natural, facil y sencilla. PC-SETTINGS -> configuracin de puerto y velocidad serie RANGE TEST -> Envio de cadena de datos para test TERMINAL -> Emulacin de un terminal serie tipo hyperterminal MODEM -> Permite ver y grabar nueva configuracin del modem

XCTU Inter cie


Modelo Xbee Firmware version Config red

A TENER EN CUENTA - Hay 16 canales disponibles, sin embargo, los valores se asignan desde el 11 hasta el 26 - La eleccion del canal debe ser cuidadosa, ya que otras tecnologias como WI-FI o Bluetooth utilizan el mismo espectro de frecuencias.

Ejemplos
codigo par transmisor
int count = 0; void setup() { Serial.begin(19200); } void loop() { Serial.print('A'); Serial.print(count); Serial.println(); delay(1000); Serial.print('B'); Serial.print(1024 - count); Serial.println(); delay(1000); count++; if (count == 1024) count = 0; } } int data = 0; int ledPin1 = 9; int ledPin2 = 7; void setup() { Serial.begin(19200); pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); } void loop() { if (Serial.available()) { data = Serial.read(); if(data == 'A') analogWrite(ledPin1, data/4); else if(data = 'B') analogWrite(ledPin2, data/4); }

codigo para receptor

Hangar Interaction Lab: Lu - Vi / 9h 14h Ju / 18 - 21h Ph: 93 30840 41 ex 28 Alex Posada (electronics): alex@hangar.org / Lluis Gomez (software): lluisgomez@hangar.org

También podría gustarte