WiSP est une collaboration entre Potomac Photonics, Potomac Mesosystems et Gray Technologies.
Potomac Mesosystems et Gray Technologies, sous la direction et le cofinancement de Potomac Photonics, collaborent sur un projet qu'ils appellent le Wireless Sensor Project (WiSP). L'objectif de ce travail est de créer un réseau de nœuds de capteurs sans fil qui communiquent avec des appareils mobiles (smartphones et tablettes) pour envoyer et recevoir des données de capteurs. Le Dr Paul Christensen, fondateur de Potomac Mesosystems, dirige le projet et, une fois terminé, miniaturisera les composants électroniques du nœud de capteur. Mark Gray, fondateur de Gray Technologies, et moi-même, Aidan Gray, gérons les composants logiciels, notamment l'écriture du code du nœud de capteur et le développement d'une application iOS. Je suis un étudiant de premier cycle spécialisé en physique à l'Université du Maryland Baltimore County (UMBC). Il s'agissait d'un stage pour moi pendant l'été 2013.
Le projet a été organisé en phases. Les phases 1 et 2 ont été réalisées lors de mon stage. Les objectifs de la phase 1 étaient de définir les exigences des composants constituant un nœud de capteur sans fil et de réaliser une analyse comparative des plateformes de développement de capteurs sans fil existantes en se concentrant spécifiquement sur les outils de développement logiciel et la facilité d'utilisation des outils. Les objectifs de la phase 2 étaient d'utiliser et de comparer les différentes plateformes identifiées dans la phase 1 et d'en choisir une et de développer une démonstration sur cette plateforme.
Dans la phase 1, nous avons identifié quatre composants fonctionnels comprenant un nœud de capteur sans fil : un module de communication sans fil, un module de microcontrôleur, un module de capteur et un module d'alimentation, comme illustré dans la figure 1. Pour l'alimentation, la source d'alimentation idéale pour un nœud de capteur déployé est une pile au lithium de 3 volts de la taille d'une pièce de monnaie ; cependant, pour le développement sur une carte de développement de microcontrôleur, l'alimentation via une connexion USB est courante. L'exigence de faible puissance est le facteur le plus important qui motive la conception du nœud de capteur sans fil et le plus grand consommateur d'énergie dans le nœud est le module de communication. Bluetooth Low Energy (BLE), commercialisé sous le nom de « Bluetooth Smart », est rapidement adopté dans les appareils mobiles, y compris les derniers smartphones et tablettes iOS et Android. Le deuxième facteur le plus important qui motive notre conception est la facilité de développement du logiciel pour le nœud de capteur et les appareils mobiles avec lesquels il communiquera. Le troisième facteur le plus important est la taille de l'électronique et la capacité de les reconditionner dans le plus petit format possible. Par conséquent, des composants système sur puce hautement intégrés sont préférés pour le microcontrôleur et les modules de capteur.

Après avoir identifié ces trois exigences fondamentales, nous avons ensuite examiné les plateformes de développement de capteurs sans fil existantes et avons décidé de nous concentrer sur trois plateformes : (1) la plateforme Arduino avec un microcontrôleur ATMega328 8 bits et un shield BLE séparé (carte fille) ; (2) le Texas Instruments SensorTag avec un microcontrôleur 8051 8 bits et une radio BLE intégrée dans une seule puce avec six capteurs tous intégrés sur une seule carte ; et (3) le Texas Instruments LaunchPad avec un microcontrôleur MSP430 16 bits avec capteur de température sur puce et une carte fille BLE Anaren A2541 séparée. Les trois plateformes répondent aux première et troisième exigences pour les communications BLE et les composants électroniques hautement intégrés (le SensorTag ayant le niveau d'intégration le plus élevé).
J'ai d'abord comparé l'IDE SensorTag avec l'IDE Arduino combiné avec le BLE Shield de RedBearLab. J'ai analysé les capacités des deux plateformes et suis arrivé à la conclusion que le SensorTag a plus de puissance de calcul, plus de mémoire et prend moins de place et d'énergie que la plateforme Arduino. Forts de ces connaissances, nous sommes passés à la création d'une maquette d'une application iOS qui fonctionnerait avec le SensorTag et à l'apprentissage du fonctionnement interne du programme 8051 qui exécute la pile logicielle BLE. Les deux se sont avérés difficiles et la solution d'Emmoco promettait de supprimer ces difficultés, nous avons donc tourné notre attention vers la troisième plateforme, le MSP430 LaunchPad et l'Anaren A2541 BoosterPack. Le logiciel Emmoco pour cette plateforme permet de contourner tous les processus Bluetooth sous-jacents, ce qui simplifie considérablement l'ensemble du projet et permet de répliquer et de modifier le système beaucoup plus facilement. L'IDE d'Emmoco, Em-Builder, aide même à créer le code nécessaire à la création de l'application iOS dans Xcode.
Le facteur décisif entre les plateformes s'est réduit à la facilité d'utilisation de l'environnement de développement logiciel et en particulier à la capacité de créer facilement des communications BLE entre le nœud de capteur et les appareils mobiles qui s'y connecteront. La phase 2 était principalement centrée sur la prise de contact et l'engagement des fournisseurs des trois plateformes et sur la comparaison, par l'utilisation, des outils de développement logiciel. Bien que la plateforme Arduino soit un environnement de développement courant pour la recherche amateur et universitaire, les plateformes TI sont couramment utilisées dans les applications commerciales et industrielles et le MSP430 en particulier est mature et bien pris en charge. Le sommet est l'environnement de développement BLE qu'Emmoco a développé pour l'Anaren A2541. Emmoco a abstrait la pile logicielle BLE dans un simple ensemble de « ressources » que l'on définit pour son application. Ces ressources sont définies dans un « schéma » de données et un code de schéma associé qui sont partagés entre le programme du microcontrôleur du nœud de capteur et l'application de l'appareil mobile. Le microcontrôleur met à jour et inspecte périodiquement les valeurs des ressources et l'application mobile lit et écrit périodiquement ces valeurs. La découverte et la connexion sont gérées automatiquement.

À ce stade, nous avons terminé la phase 2 et avons une démonstration opérationnelle comme illustrée dans la figure 2. La démonstration consiste en une application iPhone exécutant un schéma que nous avons développé à l'aide de l'IDE Em-Builder d'Emmoco. Le schéma s'exécute sur l'application Em-Browser d'Emmoco. L'application se connecte à notre nœud de capteur sans fil composé d'un LaunchPad MSP430 et d'un BoosterPack Anaren A2541 qui se branche sur le LaunchPad. Un programme de capteur de température que nous avons développé et qui contient le même schéma compilé pour communiquer avec l'application Em-Broswer s'exécute sur le MSP430. Au démarrage, le MSP430 fonctionne comme un périphérique BLE faisant de la publicité auprès des centrales BLE qui pourraient vouloir s'y connecter. L'application Em-Browser exécutée sur l'iPhone fonctionne comme un périphérique central BLE. Elle découvre et répertorie les périphériques MSP430 où l'utilisateur en sélectionne un dans une liste et l'application s'y connecte. Après la connexion, les ressources sont présentées à l'utilisateur. Nous avons une ressource timetick qui compte et l'utilisateur peut la remettre à 0 et nous avons une ressource de capteur de température que l'utilisateur peut lire à tout moment et la valeur est affichée sur l'iPhone.
J'ai développé une première maquette d'application iOS Potomac Temperature Sensor Demo à l'aide de l'IDE Xcode d'Apple. La figure 3 montre l'écran de titre de l'application. Cette application remplacera l'application Emmoco Em-Browser sur l'iPhone. L'environnement de développement Em-Builder ne prenait pas entièrement en charge l'intégration du schéma et du code associé dans mon application iOS au moment où j'ai terminé mon stage. Une fois l'application iOS terminée, l'application iOS Potomac et l'application de capteur Potomac formeront ensemble un exemple de bout en bout que les clients Potomac pourront utiliser et modifier pour leurs applications de capteur exécutées sur des nœuds de capteurs sans fil miniaturisés Potomac.

Actuellement, Emmoco travaille à la publication de sa dernière mise à jour, la version 13, sur sa plateforme de développement. Une fois cette mise à jour publiée, nous pourrons achever le projet de capteur sans fil en démontrant qu'un appareil iOS se connecte sans fil via Bluetooth Low Energy à un ensemble de nœuds de capteurs constitués du MSP430 LaunchPad et de l'Anaren A2541 BoosterPack pour afficher les relevés de température envoyés par les nœuds. À partir de là, Potomac Mesosystems ajoutera des options de capteurs et miniaturisera le matériel en fonction des besoins du client.
