Desarrollo de un uso general XBee Serie 2-API-Mode Biblioteca de Comunicación para LabVIEW Michael Schell1 Mustafa G. Guvench2 Resumen - El proyecto de diseño detallado en el presente documento se centra en el desarrollo de un conjunto de herramientas modulares para trabajar con el módulo XBee RF desde el entorno de programación de LabVIEW. La falta de bibliotecas de LabVIEW genéricos para trabajar con el módulo de radio popular serie XBee-2 RF hace que el desarrollo de software de red inalámbrica que utiliza esta tecnología engorroso y lleva mucho tiempo. El resultado de este proyecto es una biblioteca eficiente, fácil de uso general de comunicación XBee que permite a los desarrolladores de LabVIEW para incorporar el funcionamiento en modo API rica en características de los módulos de RF XBee en cualquier proyecto de la red con sólo una cantidad mínima de código por encima. Palabras clave: XBee, LabVIEW, API, Wireless, VISA
INTRODUCCIÓN En la actualidad , LabVIEW [ 1 ] proporciona ninguna biblioteca biblioteca de uso general de herramientas para trabajar con una de las soluciones de hardware disponibles disponibles en el mercado más popular para la construcción a pequeña escala , las redes inalámbricas de bajo consumo - Módulo de Digi International XBee serie - 2 RF de radio [ 2 ] . Este descubrimiento fue realizado por el autor durante el trabajo de rediseñar el hardware de red inalámbrica para un sistema de pruebas basado en LabVIEW acelerómetro MEMS desarrollado desarrollado por el Dr. Mustafa Guvench y sus estudiantes en la Universidad del Sur de Maine [ 3 ] . Uno de los objetivos de este sistema nuevo diseño ha sido la sustitución del hardware de red inalámbrica USB existente con módulos XBee Serie 2B RF de bajo costo. Una búsqueda de los recursos de LabVIEW XBee disponibles en el sitio web de National Instruments Developer Zone [ 4 ] (usando " XBee " y los términos de búsqueda " API" ) devolverá sólo un puñado de instrumentos virtuales ( VIs ) creado para trabajar con los módulos XBee RF. Todos los disponibles voluntarias son demasiado específica de la aplicación para hacer factible la reutilización de código y / o diseñados para funcionar sólo con el XBee característica limitada AT mode. La creación de software de control y medición diseñado para funcionar con redes inalámbricas específicas del hardware es una tarea muy apropiada para el entorno de desarrollo orientada al hardware de (NI ) Suite de programación de LabVIEW de National Instruments . Por lo tanto , el hecho de encontrar bibliotecas adecuadas para este sistema de prueba rediseño impulsó al autor aut or a desarrollar una biblioteca de VIs de LabVIEW para facilitar el trabajo con módulos de RF XBee . Aunque el desarrollo de estos VIs se llevó a cabo con una solicitud de proyecto específico en mente , la intención desde el principio fue el diseño para máxima reutilización de código y generalidad. En este trabajo se describe el diseño y desarrollo de esta biblioteca.
PANORAMA GENERAL DE TECNOLOGÍA Las siguientes secciones proporcionan una breve reseña de los aspectos relevantes de la tecnología de Digi International XBee RF inalámbrico módulo y suite de desarrollo de LabVIEW de National Instruments. Modo XBee API Operación [5] Cada módulo de radio XBee Series-2 puede funcionar en uno de dos modos de interfaz - AT o en modo API. Estos modos determinan cómo el módulo XBee RF se comunica con el hardware local a través de la UART a bordo. El modo AT (también llamado modo transparente) es un modo de función limitada que simplifica la interfaz entre la radio XBee y el dispositivo de hardware a expensas de algún control nivel local. En este modo, el XBee UART transmite y recibe todo el tráfico como un flujo de bytes en serie sencilla. Caracteres de escape se pueden utilizar para ejecutar comandos básicos, pero el soporte para la funcionalidad adicional como direccionamiento direccionamiento múltiple radio, I / O-pin toma de muestras y la configuración remota es discapacitados. discapacitados. Para habilitar estas funciones un módulo XBee debe estar funcionando en modo API. En el modo API, todos los datos y comandos transmitidos y recibidos a través de la UART XBee se empaquetan como como los marcos de la API. Cada cuadro API XBee sigue un formato básico y contiene, como mínimo, un delimitador de inicio, un tipo de trama, un tamaño de trama, una suma de comprobación de 1 byte y la carga útil del bastidor (los datos). Este formato de trama básica se muestra en la Figura 1.configuration es
Figura 1: Estructura básica del marco API XBee [1]
La especificación del marco API XBee actualmente soporta 19 tipos de tramas distintas. Estos tipos de tramas identificar los datos específicos contenidos en la sección de carga útil de una trama. Los tipos de tramas comunes son de transmisión en serie y recibir marcos, marcos de muestreo I / Opin , comando marcos de solicitud de locales y remotas , y los marcos de comandos de reconocimiento . Debido a que el modo de API permite el control y la configuración de la red inalámbrica desde un solo módulo XBee completo , este modo se utiliza típicamente con una radio coordinador XBee . Cada red XBee debe contener una radio designado como coordinador . La radio coordinador
actúa como concentrador de red , la gestión de todos los nodos de radio y el tráfico de red . Esta radio está normalmente conectado a un PC mediante un puerto serie o USB. El Estándar de LabVIEW VISA [ 6 ] Al trabajar con el hardware de PC conectados , suite de software LabVIEW de National Instruments es una opción popular para los desarrolladores. El entorno de LabVIEW ofrece a los desarrolladores un lenguaje de programación de flujo de datos orientada gráfica diseñada específicamente específicamente para aplicaciones de control de hardware y medición. Las aplicaciones se construyen utilizando un enfoque de diagrama , con bloques funcionales interconectados por software "cables" . A- interfaz gráfica de usuario para cada aplicación se puede crear con un editor WYSIWYG, donde varios elementos elementos de la interfaz se colocan en un panel frontal y luego conectados a los bloques funcionales en el diagrama de la programación. Tomados Tomados en conjunto , el código de diagrama de bloques y la interfaz gráfica de usuar io del panel frontal forman un instrumento virtual - la unidad de código en LabVIEW ( similar a una función en lenguajes tradicionales como C ) . Entre las herramientas disponibles en LabVIEW para t rabajar con dispositivos de hardware es el Instrumento de Arquitectura de Software (VISA ) Biblioteca Virtual. La norma NI- VISA facilita la comunicación con una gran variedad de dispositivos de hardware a través de la abstracción de alto nivel. Esta norma presenta los desarrolladores de aplicaciones con una interfaz común de programación de hardware , independientemente independientemente de la interfaz de hardware subyacente (USB, GPIB , serial , etc.) Desde UART del módulo XBee RF se puede conectar a la PC a través de una variedad de interfaces de hardware , la norma NI- VISA es wellsuited al desarrollo de aplicaciones de red basadas en XBee . Esta flexibilidad interfaz de hardware fue un factor de motivación en la selección del entorno de diseño de LabVIEW para este proyecto. La naturaleza del desarrollo rápido de aplicaciones de LabVIEW IDE fue otro factor importante. Estos factores hacen que la utilidad de un uso fácil de uso u so general de la biblioteca de comunicación LabVIEW XBee obvio. DESARROLLO DE LA BIBLIOTECA DE COMUNICACIÓN XBEE La Comunicación de la Biblioteca XBee desarrollado en este proyecto está formado por un un conjunto de 22 instrumentos virtuales . Dos de VI, el TX de serie y el procesador RX Frame Serie VI , proporcionan la mayor parte de la funcionalidad de la biblioteca. Diecinueve XBee- API - marco específico VIs se proporcionan como bibliotecas suplementarios para ayudar a las aplicaciones de LabVIEW de alto nivel en el construcción y tratamiento de los datos de trama específica. A VI final, el XBee Connection Manager VI , se ofrece como una aplicación opcional . Este VI se puede utilizar para simplificar la configuración de las redes XBee genéricos. El diseño y la función de cada uno de estos VIs se detallan en los apartados siguientes. El procesador de serie Frame TX / RX VIs
La funcionalidad básica de la biblioteca API XBee está contenida dentro de sólo dos de las iniciativas voluntarias de la biblioteca: la serie de recepción (RX) de procesador de trama y el de serie del procesador trama de transmisión (TX). Estos VIs están diseñados para funcionar en paralelo, tanto entre sí y con la aplicación de usuario de nivel superior. Un diagrama básico del flujo de datos para estos compromisos compromisos es se muestra en la Figura 2.
Figura 2: XBee Comunicación Biblioteca - estructura y flujo de datos
Los procesadores de marco TX / RX de serie manejar todo el tráfico de la trama entre la aplicación de usuario y la radio r adio coordinador XBee. Estos dos VIs están diseñados para ser utilizados junto con uno o más de los lectores-marco específico y constructor VIs proporcionado para su uso dentro de las aplicaciones de usuario de alto nivel - estos VIs simplificar el proceso de creación y lectura de los marcos específicos de API utilizadas por el XBee estándar (véase la sección siguiente). Como se muestra en el diagrama de la Figura 2, el procesador de serie RX marco VI intercepta todo el tráfico entrante de serie de la radio coordinador XBee (a través de un puerto de hardware de PC). El propósito de este VI es para escanear la secuencia de datos de entrada en serie para las estructuras de trama de la API, el procesamiento de estos marcos como se encuentran y luego añadiendo a la cola del marco de RX. Tanto el procesador Frame Serie TX y RX VIs están diseñados en torno a una arquitectura de bucle paralelo productor / consumidor. El código código de diagrama de bloques de LabVIEW para el procesador RX marco de serie se muestra en la Figura 3.
Figura 3: diagrama de bloques para el procesador RX Frame Serie VI Para el procesador RX VI , el bucle productor ( la parte superior de la figura 3 ) se encarga de todo t odo el tráfico entrante de serie mediante el sondeo del puerto serie y poner en cola todos los datos disponibles en una cola de recepción de datos . El bucle del consumidor ( parte inferior de la figura 3 ) se ejecuta en paralelo , a la espera de datos para ser colocados en la cola de recepción de datos por el bucle de productor . Como recibir datos estén disponibles para el bucle de los consumidores , los datos se analizan en busca de marcos API XBee comienzan delimitadores ( 0x7E ) . Una vez que un delimitador de trama de inicio se encuentra y verificado , los datos de trama se transfiere t ransfiere a una variable de clúster de LabVIEW ( similar a la estructura tipo de datos personalizado en C ) . Esta variable de aglomeración se define utilizando una estructura equivalente a la de la FrameLayout básica API XBee se muestra en la Figura 1 , que contiene un campo para el tamaño de trama , un campo para el tipo de trama , una matriz de bytes que contiene la carga útil marco , y un campo booleano que indica la condiciones de paso de suma de comprobación / fallo . Después de cada una de estas agrupaciones marco ha sido construido por el bucle de los consumidores que se añade a la cola de Frame RX . Aparte de las salidas de error de caudal, la cola Frame RX es la única salida se expone a la aplicación de usuario de nivel superior. El beneficio principal de esta estructura estru ctura de bucle paralelo productor-consumidor es que permite el procesamiento de datos de la trama que se produzca a una velocidad más lenta que la de recepción serie tarifa para un corto período de tiempo . Esto puede ser una importante en redes grandes , donde es posible para muchos marcos de API para llegar al puerto de hardware casi simultáneamente . En tal situación , el procesamiento oportuno de la serie de datos disponible es necesario para garantizar que no se produce desbordamiento en la memoria intermedia de puerto de hardware . Al utilizar el bucle Producer para poner en cola los datos en serie entrantes en una cola de byte simple, el bucle consumidor puede procesar los datos del marco de esta cola utilizando más código que requiere mucho tiempo (por ejemplo, el cálculo de suma de control ) .
En muchas aplicaciones de la actividad de red XBee ocurrirá en ráfagas . Idealmente, esto debería permitir que el bucle Consumer vaciar finalmente la cola de recepción de datos durante los períodos de actividad de la red de baja . Este tampón, combinado con el almacenamiento almacenamiento en búfer típico que ya existe en el nivel de sistema operativo en hardware, debería ser suficiente para la mayoría de las aplicaciones de red XBee . Si se requiere más (o menos ) buffering , los usuarios pueden ajustar el tamaño predeterminado del procesador procesador RX Frame Serie del VI interna cola de recepción de datos para satisfacer las necesidades de la aplicación específica. La serie TX Procesador marco VI es funcionalmente similar al procesador recibir VI , excepto el flujo de datos se invierte ( desde la aplicación al puerto serie - consulte el diagrama de flujo de la Figura 2 ) . Al igual que con el procesador de recibir , se emplea una estructura de bucle productorconsumidor para desacoplar desacoplar el procesamiento de los datos de trama básica de la transmisión de datos en serie . Aquí, sin embargo , una Cola Frame TX se expone a la aplicación de usuario de nivel superior. Como grupos trama a transmitir la radio coordinador XBee se colocan en la cola de Frame TX por la aplicación de usuario que se alisan en matrices de bytes y ponen en cola en una cola de transmisión de datos por el bucle Producer . El bucle del consumidor a continuación, transmite estos bytes al puerto de hardware a medida que estén disponibles . Al igual que con el procesador de RX Frame Serie, esta arquitectura en paralelo permite un desajuste de procesamiento de tramas y las tasas de transmisión de hardware que se produzca ; sin embargo, esta situación no es tan común en el lado de transmisión como un solo dispositivo está enviando tramas a través de UART de la radio coordinador XBee . Con tanto de los procesadores de marco TX y RX , las rutinas de procesamiento de datos de puerto serie y montaje del marco están totalmente encapsulados . Sólo las colas de tramas RX y TX se exponen a la aplicación de usuario de nivel superior. Después de que el usuario haya suministrado el procesador marco del VI con una referencia de puerto hardware válido ( es decir, un puerto conectado a la radio coordinador), el Procesador de Marco VIs gestionará todo el tráfico desde y hacia ese puerto. Para transmitir una trama de la aplicación de usuario no hace sino aumentar el cúmulo marco a la cola de Frame TX . Del mismo modo , para leer un fotograma de la red el usuario simplemente monitoriza la cola del marco de RX para los nuevos grupos de bastidor . Según lo detallado anteriormente, todos los marcos colocados colocados en las colas de tramas TX y RX son grupos de LabVIEW basados en las estructuras de trama genéricas API XBee - contiene sólo los campos de tipo de trama , tamaño , estado de suma de comprobación, y una matriz de bytes de datos del marco de primas. Procesamiento detallado de los tipos de tramas API específicas no se maneja por el procesador Frame TX y RX VIs . En la mayoría de las aplicaciones de XBee , sólo un puñado de los 19 tipos de trama definidos en la actualidad se utilizan con regularidad; transmitir y recibir tramas de datos , cuadros de mando locales y r emotas, los marcos de muestreo I / O- pines y tramas de respuesta de comandos son los tipos de tramas API XBee más utilizados . Al procesar sólo los elementos esenciales de cada cuadro API XBee entrante - es decir, la longitud , el tipo y la suma de comprobación - y dejando los datos de carga útil del marco en su forma cruda , sin procesar , el RX Procesador Frame VI puede permanecer pequeño, rápido y eficiente. Cuan do la
aplicación de usuario consulta el campo de tipo de trama de un racimo marco actual en la cola de Frame RX una decisión puede entonces decidir si es necesario desechar el marco o procesar su carga útil de datos ( para extraer los datos específicos del marco de interés para la aplicación particular ) . Por razones similares , el TX Procesador Frame VI asume que todos los fotogramas de la cola Frame TX se formatean como racimos de marco genérico - es decir, que cada cuadro se ha embalado antes de ser añadido a la cola. Esto permite que el VI manejar cada fotograma de forma idéntica sin el procesamiento procesamiento de casos específicos . La siguiente sección detalla cómo las aplicaciones de nivel superior pueden utilizar el XBee Comunicación Biblioteca de VIs complementario complementario para manejar el procesamiento de cargas útiles marco específicos. Frame Constructor VIs & Frame Reader VIs Para ayudar a los usuarios en el trabajo con los tipos de trama específicos, un conjunto de Constructores suplementarios Frame VIs y Frame Reader también se desarrollaron las iniciativas voluntarias en el marco de la Comunicación de la Biblioteca XBee . Constructor Frame VIs se utilizan para generar los distintos tipos de trama de transmisión (por ejemplo, las solicitudes solicitudes de comandos remotos , datos de TX de serie, etc ) , mientras Reader Frame VIs se utilizan para extraer los datos de los distintos tipos de trama recibir (por ejemplo, reconocimientos de mando, I/O- muestras de pin , datos RX de serie, etc.) Estos Est os VIs se utilizan en conjunto con las colas de tramas TX / RX expuestos a la aplicación de nivel superior por el procesador de serie Frame TX / RX VIs . Cuando una aplicación de usuario encuentra un marco de interés en el marco de RX en cola el clúster marco puede extraerse de la cola y se pasa a un lector de marco VI . Estos lector VIswill desempaquetar los datos de carga útil para un tipo de cuadro dado y crea cada elemento disponible en el formato de datos adecuado, en los terminales de salida del VI . Frame Constructor VIs función de la manera opuesta - aquí la aplicación de usuario proporciona terminales de entrada del VI con todos los elementos de datos individuales necesarios para un tipo de trama particular. El VI entonces embalar los elementos en el formato de carga útil para el tipo de trama específico , generar la cabecera de la trama y la suma de control y hacer que el racimo marco genérico disponible disponible en el terminal de salida del VI . Este cúmulo marco se puede añadir a la cola de Frame TX para la transmisión automática de la radio coordinador XBee . El código del diagrama de bloques de LabVIEW en un simple constructor Marco VI se muestra en la Figura 4 . Este Est e constructor Marco específica VI construye Comando marcos Solicitar locales ( tipo de trama API 0x08 ) . La aplicación de usuario de nivel superior proporciona los terminales de entrada de esta VI (parte izquierda del diagrama) con un ID de marco, una cadena de comandos AT ( dos caracteres op - code) , y un valor de parámetro para el comando AT. El Constructor Frame VI embala estos insumos en un racimo de trama según la especificación Frame API XBee para este tipo de trama y calcula la suma de comprobación para este marco generado. El terminal de salida de esta VI ( parte derecha del diagrama) proporcionará proporcionará el cluster marco ensamblado de la aplicación de nivel superior. Este cúmulo marco se puede añadir directamente a la cola de Frame TX (para transmitir ) .
Figura 4: diagrama de bloques de un VI Constructor Frame (0x08 - Marco Comando Local)
XBee Serie Connection Manager VI La parte final del XBee Biblioteca de Comunicación es el XBee Serie Connection Manager VI. Este VI es un componente opcional diseñado para ayudar a las aplicaciones de usuario en el establecimiento de una red XBee desde LabVIEW. Este VI es también el único componente de la biblioteca para utilizar un panel frontal gráfica de interfaz de usuario (GUI). La interfaz gráfica de usuario para este VI se muestra en la Figura 5.
Panel Frontal - XBee Serie Connection Manager: Figura 5
Figura 6: Diagrama de flujo para XBee Connection Manager
El administrador de conexión se encarga de cinco tareas de conexión de red , que se ilustra en la Figura 6 y que se detallan a continuación. 1 Hardware Puerto inicialización - . Uso de la información de conexión de serie proporcionado por el usuario ( en el panel frontal ) el VI intenta abrir una conexión en serie VISA al puerto de hardware especificado usando los parámetros de conexión de serie proporcionado. proporcionado. . 2 Comience Procesadores Frame TX y RX - Con una u na conexión de puerto de hardware establecido, el administrador de conexión pasa a la referencia del hardware VISA para el Procesador de Marco TX y RX VI para que las colas de tramas XBee TX / RX y comenzar el monitoreo y procesamiento de tráfico de los puertos de hardware.
. 3 Coordinador de Radio Reset y Verificación - Después de abrir con éxito el puerto serie y el inicio de los procesadores de marco TX / RX de serie , el VI envía una trama de comando local ( 0x08 ) que contiene el Software XBee comando Reinicio ( " FR" ) al puerto serie y espera a que reajuste el reconocimiento reconocimiento de la radio coordinador XBee . 4 de ping radios de red - . Después de que el coordinador ha restablecido correctamente correctamente , un segundo marco AT Comando Local se envía contiene el comando de descubrimiento de nodos ( "ND" ) . Este comando solicita una respuesta identificador de cada radio en la red XBee incluido el coordinador . Una vez que el comando Nodo Discovery ha sido emitido , el administrador de conexión funciona en marcha lenta . La aplicación sigue supervisando el flujo en serie de entrada para los marcos de identificador de radio ( tipo de trama 0x88 ) . Medida que se recibe cada cuadro identificador, se añade información de radio a una matriz de lista de redes. . 5 Control Hand- off de la aplicación de usuario - Cuando el usuario pulsa el botón " Iniciar aplicación " del administrador de conexión pasa el control a la especificada VI usuario. Junto con el control de ejecución del administrador de conexión pasa una referencia VISA para la conexión del puerto de hardware y las referencias a las colas de tramas TX / RX . También pasó una gran variedad de información de radio de la red, que contiene el nombre, tipo y dirección de todas las radios que se encuentran en la red. Aunque el XBee serie Connection Manager VI contiene una interfaz gráfica de usuario que puede ser utilizado como punto de partida para cualquier aplicación de usuario , todos los controles del panel frontal necesarios e indicadores para esta VI también están conectados a los terminales de entrada y de salida para el bloque de función del VI . Esto permite a los usuarios invocan el administrador de conexión de una aplicación de nivel superior sin mostrar la interfaz gráfica de usuario - en lugar de utilizar los terminales de entrada para pasar los valores de control del panel frontal (por ejemplo, para la instalación automatizada aut omatizada de red). EJEMPLO DE APLICACIÓN DE LA BIBLIOTECA DE COMUNICACIÓN XBEE En esta sección , se proporcionan dos ejemplos de bloques de LabVIEW código diagrama simplificado simplificado para ilustrar las formas en que la Comunicación de la Biblioteca XBee se puede integrar en una aplicación de usuario de nivel superior. El primer ejemplo se da una estructura típica para trabajar con marcos API XBee recibidos. El segundo ejemplo se da una estructura típica para transmitir tramas API XBee . Ejemplo 1 - Trabajando con Frames API XBee Recibidas La figura 7 muestra una estructura simplificada de LabVIEW para trabajar con marcos de API recibidas utilizando la Biblioteca de Comunicación XBee .
Figura 7: Ejemplo 1 - diagrama de bloques simplificado de una típica estructura de la trama recibir A la izquierda de la estructura, estructur a, mientras que en bucle en el diagrama , el RX de serie del procesador del marco VI ha sido proporcionado con dos entradas - una referencia a la cola del marco de RX y una referencia r eferencia válida al puerto de hardware de la radio coordinador XBee . Esto es todo lo que se requiere de la aplicación de usuario para comenzar a recibir tramas de la red XBee . Tenga en cuenta que el procesador de RX Frame serie no se coloca en línea con la línea de datos de cola de Frame XBee RX . Esto asegura que el procesador de marco VI se ejecutará en paralelo con la aplicación de usuario ( prevención de bloqueo debido al formato de ejecución de flujo de datos de LabVIEW ) . La estructura de bucle , mientras que se utiliza para crear un simple oyente marco . En este bucle se sondea la cola Frame RX . Si no hay ningún marco está presente en la cola de Frame RX del módulo de función Dequeue que expire después de 500 milisegundos y el bucle se repetirá . Si un cluster marco se quita de la cola con éxito de la cola Frame RX campo tipo de trama del grupo está marcada por una estructura de caso. En el código de ejemplo anterior, se muestra el código para el caso 0x88 - Este tipo de trama corresponde a una trama de respuesta del sistema. Cuando un tipo de marco a juego se encuentra en la cola de marco RX el código para este caso se ejecutará . Aquí, un lector de Frame VI ( tipo de trama 0x88 ) se utiliza para romper la trama de respuesta del sistema en sus partes constituyentes (ID Frame, comandos AT , etc ) En un ejemplo práctico de estos elementos del marco se traten posteriormente de acuerdo a la función específica de la aplicación . Casos adicionales para otros tipos de tramas se pueden añadir a la estructura de la caja , así , permitir que la estructura de la caja para procesar individualmente cualquier cualquier y todos reciben los tipos de tramas de importancia para la aplicación dada . Ejemplo 2 - Trabajar con XBee Transmit API Frames La figura 8 muestra una estructura simplificada simplificada de LabVIEW para trabajar con los marcos de la API de transmisión utilizando la Biblioteca de Comunicación XBee .
Figura 8: Ejemplo 2 - simplificada de diagrama de bloques de una estructura t ípica trama de transmisión
En este ejemplo , la configuración para el procesador Frame TX Serie VI es idéntica a la configuración del procesador procesador de serie Frame RX - Entradas para el procesador TX Serie VI son una referencia a la cola de Frame TX y una referencia válida a puerto de hardware de la radio coordinador XBee . Esto es todo lo que se requiere de la aplicación de usuario para iniciar la transmisión de tramas con el coordinador XBee . Al igual que con el procesador de RX , el Procesador de Marco TX de serie no se coloca en línea con la línea de datos de cola de Frame XBee TX . Una vez que se ha iniciado el procesador de serie TX se hará un seguimiento de la cola de Frame TX para clústeres marco y transmitirlos al puerto de hardware (es decir, de la red) a medida que se añaden a la cola . Para este ejemplo, una solicitud de Trama de comando local ( 0x08 ) se ha construido con los datos suministrados por el usuario y el Constructor Frame VI apropiado. Este grupo de fotogramas de salida se añade a la cola de Frame TX para la transmisión. CONCLUSIÓN La Comunicación de la Biblioteca XBee desarrollado en este proyecto de diseño proporciona un fácil de usar, conjunto de propósito general de herramientas para crear aplicaciones de red basadas en API XBee utilizando el software de desarrollo de LabVIEW de NI . Al emplear el enfoque simple basado en colas TX / RX se utiliza en esta biblioteca , los desarrolladores de LabVIEW pueden agregar funcionalidad de red inalámbrica XBee a sus proyectos de control de hardware y medición sin incurrir en la sobrecarga significativa previamente requerida para integrar esta tecnología en el entorno de diseño de LabVIEW. Esto libera a los diseñadores centrarse en los detalles de su aplicación basada en XBee sin empantanarse en los detalles de la red XBee subyacente y la interconexión de software / hardware. El enfoque modular de romper Salida código de procesamiento específico marco en un conjunto de VIs apuntado también mantiene la funcionalidad principal de esta biblioteca sencilla y eficaz por lo que es adecuado para
aplicaciones donde la velocidad y la fiabilidad son una preocupación. Por último , mediante la construcción de estas herramientas dentro del propio entorno de LabVIEW , cada parte de la Biblioteca de Comunicación XBee es de fácil acceso y totalmente personalizable por el usuario para su integración en cualquier proyecto de LabVIEW basados en XBee específica aplicación. aplicación.