FRAME EXCHANGE Comandos AT: Configurar tu propio XBee Para configurar el valor del XBee se debe conectar el modulo directamente a un dispositivo inteligente (microcontrolador o PC), vía el serial de interface y usar los parámetros y comandos AT. Estos son los mismos parámetros y comandos AT que están disponibles en modo comando/transparente, pero incluidos en un frame comando AT (0x08). La respuesta de la operación se reenvía de vuelta en un frame comando respuesta AT (0x88). La imagen muestra el frame exchange API que ocurre en el serial de interface cuando se envía un comando AT (0x08) o un comando de solicitud AT (0x09) (Queue Parameter Value). Durante un API Frame Exchange ocurre el siguiente proceso: 1. Un frame comando AT (0x08) es enviado al módulo via el puerto serial input. Contiene instrucciones de configuración o busca parámetros en el mismo XBee. 2. El XBee procesa el comando y envía de vuelta un comando respuesta AT (0x08) a través de su puerto serial output. Si el frame ID del frame comando AT es ‘0’, la respuesta no es enviada. Transmisión y Recepción de Data Inalámbrico: Transmit Request/Receive Packet Un frame Transmit Request encapsula el data con su destino y algunas opciones de transmisión. El data inalámbrico recibido por el XBee es incluido en un Frame Receive Packet junto con la transmisión y las opciones de confirmación. Adicionalmente a estos frames, existen otros dos que utilizan Explicit Adressing. Para que ellos sean definidos, requieren de la capa de aplicación ZigBee (endpoints, cluster ID, profile ID). La siguiente imagen muestra el intercambio API que ocurre en el puerto serial cuando ocurre transferencia de data inalámbricaa otro dispositivo XBee. 1. El dispositivo inteligente envía un Transmit Request (0x10) o un Explicit Adressing Command Frame (0x11) a un XBee A a través del puerto serial input a un XBee B. 2. El XBee A inalámbricamente transmite el data en el frame a el modulo configurado como destinatario en el mismo frame. En este caso, el destinatario es el XBee B. 3. El XBee B recibe el data inalámbrico y envía a través del puerto serial output un Receive Packet (0x90) o un Explicit Rx Indicator (0x91), dependiendo de la configuración del valor API. Estos frames contienen el data recibido en el aire y la información de la fuente del XBee que lo transmitió, en este caso el Xbee A. 4. El Xbee B transmite un paquete de confirmación inalámbrico con el estado al remitente, Xbee A. 5. El remitente XBee A envía un Transmit Status (0x8B) a través del puerto serial output con el estado de la transmisión al XBee B. El Frame del Estado de Transmision (0x8b) es siempre enviado al final de una transmisión de data a menos que el Frame ID sea configurado como ‘0’ en la transmisión solicitada. Si el paquete no de puede entregar al destinatario, el frame del estado de transmisión indicará la razón de la falla. Para enviar data utilizando Explicit Frame: - La fuente y el destino tienen que ser E8. - El cluster ID debe ser 0011. - El profile ID debe ser C105. Para recibir un explicit frame, el parámetro modo output API (AO), debe ser configurado como Explicit [1]. Si esta configuración es Native [0], un Receive Packet (0x90) será recibido en vez de un Explicit Rx Indicator (0x91). Remote AT Commands: Remotely configure an XBee El modo API también permite la configuración inalámbrica de los dispositivos XBee. Cualquier comando o parámetro AT que puede ser emitido localmente también puede ser enviado inalámbricamente para su ejecución en un XBee. La siguiente imagen muestra el Frame de Intercambio API que sucede en el serial de interface cuando se envía un Command Remote Request AT para que se lea o configure un parámetro XBee. 1. El dispositivo inteligente envía un Remote AT Command Request a el XBee A, a través del puerto serial input para configurar el XBee B. 2. El XBee A inalámbricamente transmite el comando AT en el frame al modulo configurado como el destinatario en el mismo frame, en este caso, es el XBee B. 3. Xbee B recibe el comando AT, lo procesa para luego inalámbricamente también devolver el resultado. 4. El XBee A envía un Remote AT Command Response a través del puerto serial output con el resultado del comando AT procesadi por el XBee B. Si el frame ID del Remote AT Command frame es ‘0’, entonces la respuesta no es enviada. Source Routing Los XBees también nos dan la posibilidad de crear y obtener una ruta de la fuente en el modulo. Una ruta de la fuente especifica la ruta completa que un paquete debiera recorrer desde la fuente al destino. En este caso, antes de enviar el data (un transmit request o un explicit addressing command frame), se debe enviar un Create Source Route con la ruta del paquete siguiente. La siguiente imagen muestra el intercambio API que se lleva a cabo en el serial interface cuando se envía un Create Source Route frame. 1. El dispositivo inteligente envía un Create Source Route al XBee A a través del puerto serial input para especificar la ruta del siguiente data a XBee B. 2. El dispositivo inteligente envía un Transmit Request o un Explicit Addressing Command Frame al XBee A a través del puerto serial input para transmitir el data a XBee B. 3. El XBee B recibe data inalámbricamente y envía a través del serial output un Receive Packet o un Explicit Rx Indicator. Este frame contiene el data recibido y la dirección de aquel que lo envió (XBee A). 4. El XBee B transmite un registro de ruta al XBee A. 5. El emisor XBee A envía un Route Record Indicator a través de su puerto serial output con las 16-bit direcciones de los nodos recibidas con el registro de ruta. 6. El emisor XBee A envía un Transmit Status a través de su puerto serial output con el estatus de la transmisión.