WiSP es una colaboración entre Potomac Photonics, Potomac Mesosystems y Gray Technologies.
Potomac Mesosystems y Gray Technologies, bajo la dirección y cofinanciación de Potomac Photonics, están colaborando en un proyecto que llaman Wireless Sensor Project (WiSP). El objetivo de este trabajo es crear una red de nodos de sensores inalámbricos que se comuniquen con dispositivos móviles (teléfonos inteligentes y tabletas) para enviar y recibir datos de sensores. El Dr. Paul Christensen, fundador de Potomac Mesosystems, está liderando el proyecto y, una vez completado, miniaturizará los componentes electrónicos del nodo de sensores. Mark Gray, fundador de Gray Technologies, y yo, Aidan Gray, estamos manejando los componentes de software, incluida la escritura del código del nodo de sensores y el desarrollo de una aplicación para iOS. Soy un estudiante de grado que se especializa en Física en la Universidad de Maryland Baltimore County (UMBC). Esta fue una pasantía para mí durante el verano de 2013.
El proyecto se organizó en fases. Las fases 1 y 2 se completaron durante mi pasantía. Los objetivos de la fase 1 fueron definir los requisitos de los componentes que componen un nodo de sensor inalámbrico y realizar un análisis comparativo de las plataformas de desarrollo de sensores inalámbricos existentes, centrándose específicamente en las herramientas de desarrollo de software y la facilidad de uso de las herramientas. Los objetivos de la fase 2 fueron utilizar y comparar las diferentes plataformas identificadas en la fase 1 y elegir una y desarrollar una demostración en esa plataforma.
En la Fase 1, identificamos cuatro componentes funcionales que comprenden un nodo sensor inalámbrico: un módulo de comunicación inalámbrica, un módulo de microcontrolador, un módulo sensor y un módulo de energía, como se muestra en la Figura 1. Para la energía, la fuente de energía ideal para un nodo sensor implementado es una batería de litio de 3 voltios del tamaño de una moneda; sin embargo, para el desarrollo en una placa de desarrollo de microcontrolador, la energía a través de una conexión USB es común. El requisito de baja energía es el factor más importante que impulsa el diseño del nodo sensor inalámbrico y el mayor consumidor de energía en el nodo es el módulo de comunicación. Bluetooth Low Energy (BLE), comercializado como "Bluetooth Smart", se está adoptando rápidamente en dispositivos móviles, incluidos los últimos teléfonos inteligentes y tabletas iOS y Android. El segundo factor más importante que impulsa nuestro diseño es la facilidad de desarrollo de software para el nodo sensor y los dispositivos móviles con los que se comunicará. El tercer factor más importante es el tamaño de la electrónica y la capacidad de reempaquetarla en el factor de forma más pequeño posible y, por lo tanto, se prefieren componentes de sistema en chip altamente integrados para los módulos de microcontrolador y sensor.

Después de identificar estos tres requisitos fundamentales, analizamos las plataformas de desarrollo de sensores inalámbricos existentes y decidimos centrarnos en tres plataformas: (1) la plataforma Arduino con un microcontrolador ATMega328 de 8 bits y una placa de protección BLE independiente (tarjeta hija); (2) el Texas Instruments SensorTag con un microcontrolador 8051 de 8 bits y una radio BLE integrada en un solo chip con seis sensores, todos integrados en una placa; y (3) el Texas Instruments LaunchPad con un microcontrolador MSP430 de 16 bits con un sensor de temperatura en el chip y una tarjeta hija BLE Anaren A2541 independiente. Las tres plataformas cumplen el primer y el tercer requisito para comunicaciones BLE y componentes electrónicos altamente integrados (el SensorTag tiene el mayor nivel de integración).
Primero comparé el IDE de SensorTag con el IDE de Arduino combinado con el BLE Shield de RedBearLab. Analicé las capacidades de ambas plataformas y llegué a la conclusión de que SensorTag tiene más potencia de procesamiento, más memoria y ocupa menos espacio y energía que la plataforma Arduino. Con este conocimiento, pasamos a iniciar una maqueta de una aplicación iOS que funcionaría con SensorTag y a aprender el funcionamiento interno del programa 8051 que ejecuta la pila de software BLE. Ambos resultaron difíciles y la solución de Emmoco prometió eliminar esas dificultades, por lo que centramos nuestra atención en la tercera plataforma, el MSP430 LaunchPad y el Anaren A2541 BoosterPack. El software de Emmoco para esta plataforma permite omitir todos los procesos subyacentes de Bluetooth, lo que hace que todo el proyecto sea significativamente más fácil y permite que el sistema se replique y altere mucho más fácilmente. El IDE de Emmoco, Em-Builder, incluso ayuda a crear el código necesario para la creación de la aplicación iOS en Xcode.
El factor decisivo entre las plataformas se redujo a la facilidad de uso del entorno de desarrollo de software y, específicamente, la capacidad de crear fácilmente comunicaciones BLE entre el nodo sensor y los dispositivos móviles que se conectarán a ellos. La fase 2 se centró principalmente en contactar e involucrar a los proveedores de las tres plataformas y comparar, a través del uso, las herramientas de desarrollo de software. Si bien la plataforma Arduino es un entorno de desarrollo común para la investigación académica y de aficionados, las plataformas TI se emplean comúnmente en aplicaciones comerciales e industriales y, específicamente, el MSP430 es maduro y tiene un buen soporte. En la cima de eso está el entorno de desarrollo BLE que Emmoco ha desarrollado para el Anaren A2541. Emmoco ha abstraído la pila de software BLE en un conjunto simple de "recursos" que uno define para su aplicación. Estos recursos se definen en un "esquema" de datos y un código de esquema asociado que se comparten entre el programa del microcontrolador del nodo sensor y la aplicación del dispositivo móvil. El microcontrolador actualiza e inspecciona periódicamente los valores de los recursos y la aplicación móvil lee y escribe periódicamente estos valores. El descubrimiento y la conexión se manejan automáticamente.

En este punto, hemos finalizado la Fase 2 y tenemos una demostración operativa como se ilustra en la Figura 2. La demostración consiste en una aplicación de iPhone que ejecuta un esquema que desarrollamos utilizando el IDE Em-Builder de Emmoco. El esquema se ejecuta en la aplicación Em-Browser de Emmoco. La aplicación se conecta a nuestro nodo de sensor inalámbrico que consta de un LaunchPad MSP430 y un BoosterPack Anaren A2541 que se conecta al LaunchPad. En el MSP430 se ejecuta un programa de sensor de temperatura que desarrollamos y que tiene el mismo esquema compilado para comunicarse con la aplicación Em-Broswer. Al iniciarse, el MSP430 funciona como un dispositivo periférico BLE que anuncia a las centrales BLE que pueden querer conectarse a él. La aplicación Em-Browser que se ejecuta en el iPhone funciona como un dispositivo central BLE. Descubre y enumera los dispositivos periféricos MSP430 donde el usuario selecciona uno de una lista y la aplicación se conecta a él. Después de la conexión, los recursos se presentan al usuario. Tenemos un recurso de tictac de tiempo que cuenta y el usuario puede restablecerlo a 0 y tenemos un recurso de sensor de temperatura que el usuario puede leer en cualquier momento y el valor se muestra en el iPhone.
Desarrollé una maqueta inicial de la aplicación de demostración del sensor de temperatura Potomac para iOS utilizando el IDE Xcode de Apple. La Figura 3 muestra la pantalla de título de la aplicación. Esta aplicación reemplazará a la aplicación Em-Browser de Emmoco en el iPhone. El entorno de desarrollo Em-Builder no admitía por completo la integración del esquema y el código relacionado en mi aplicación iOS en el momento en que completé mi pasantía. Una vez que la aplicación iOS esté completa, juntas, la aplicación Potomac para iOS y la aplicación del sensor Potomac formarán un ejemplo de extremo a extremo que los clientes de Potomac pueden usar y modificar para sus aplicaciones de sensores que se ejecutan en nodos de sensores inalámbricos miniaturizados de Potomac.

Actualmente, Emmoco está trabajando en el lanzamiento de su última actualización, la versión 13, para su plataforma de desarrollo. Una vez que hayan lanzado esta actualización, podremos completar el Proyecto de Sensor Inalámbrico demostrando un dispositivo iOS que se conecta de forma inalámbrica a través de Bluetooth Low Energy a un conjunto de nodos de sensores compuestos por el MSP430 LaunchPad y el Anaren A2541 BoosterPack para mostrar las lecturas de temperatura enviadas desde los nodos. A partir de aquí, Potomac Mesosystems agregará opciones de sensores y miniaturizará el hardware según las necesidades del cliente.
