WiSP ist eine Zusammenarbeit zwischen Potomac Photonics, Potomac Mesosystems und Gray Technologies.
Potomac Mesosystems und Gray Technologies arbeiten unter der Leitung und mit finanzieller Unterstützung von Potomac Photonics gemeinsam an einem Projekt, das sie Wireless Sensor Project (WiSP) nennen. Ziel dieser Arbeit ist die Schaffung eines Netzwerks aus drahtlosen Sensorknoten, die mit mobilen Geräten (Smartphones und Tablets) kommunizieren, um Sensordaten zu senden und zu empfangen. Dr. Paul Christensen, Gründer von Potomac Mesosystems, leitet das Projekt und wird nach Fertigstellung die elektronischen Komponenten des Sensorknotens miniaturisieren. Mark Gray, der Gründer von Gray Technologies, und ich, Aidan Gray, kümmern uns um die Softwarekomponenten, einschließlich der Erstellung des Codes für den Sensorknoten und der Entwicklung einer iOS-App. Ich bin Student im Hauptfach Physik an der University of Maryland Baltimore County (UMBC). Dies war ein Praktikum für mich im Sommer 2013.
Das Projekt war in Phasen unterteilt. Die Phasen 1 und 2 wurden während meines Praktikums abgeschlossen. Die Ziele von Phase 1 bestanden darin, die Anforderungen an die Komponenten eines drahtlosen Sensorknotens zu definieren und eine vergleichende Analyse bestehender Entwicklungsplattformen für drahtlose Sensoren durchzuführen, wobei der Schwerpunkt auf den Softwareentwicklungswerkzeugen und der Benutzerfreundlichkeit der Werkzeuge lag. Die Ziele von Phase 2 waren die Nutzung und der Vergleich der verschiedenen in Phase 1 identifizierten Plattformen, die Auswahl einer Plattform und die Entwicklung einer Demonstration auf dieser Plattform.
In Phase 1 haben wir vier funktionale Komponenten identifiziert, aus denen ein drahtloser Sensorknoten besteht: ein drahtloses Kommunikationsmodul, ein Mikrocontrollermodul, ein Sensormodul und ein Stromversorgungsmodul, wie in Abbildung 1 dargestellt. Als Stromquelle für einen Sensorknoten sollte idealerweise eine 3-Volt-Lithium-Münzbatterie verwendet werden; für die Entwicklung auf einem Mikrocontroller-Entwicklungsboard ist jedoch die Stromversorgung über eine USB-Verbindung üblich. Die Forderung nach geringem Stromverbrauch ist der wichtigste Faktor bei der Entwicklung drahtloser Sensorknoten, und der größte Stromverbraucher im Knoten ist das Kommunikationsmodul. Bluetooth Low Energy (BLE), vermarktet als "Bluetooth Smart", wird in mobilen Geräten, einschließlich der neuesten iOS- und Android-Smartphones und -Tablets, immer häufiger eingesetzt. Der zweitwichtigste Faktor für unser Design ist die einfache Entwicklung von Software für den Sensorknoten und die mobilen Geräte, mit denen er kommunizieren wird. Der drittwichtigste Faktor ist die Größe der Elektronik und die Möglichkeit, sie in den kleinstmöglichen Formfaktor zu verpacken. Daher werden hochintegrierte System-on-Chip-Komponenten für den Mikrocontroller und die Sensormodule bevorzugt.

Nachdem wir diese drei grundlegenden Anforderungen identifiziert hatten, untersuchten wir bestehende Entwicklungsplattformen für drahtlose Sensoren und beschlossen, uns auf drei Plattformen zu konzentrieren: (1) die Arduino-Plattform mit einem 8-Bit-ATMega328-Mikrocontroller und einem separaten BLE-Schild (Tochterkarte); (2) der Texas Instruments SensorTag mit einem 8-Bit-8051-Mikrocontroller und einem BLE-Funkgerät, die in einem einzigen Chip mit sechs Sensoren auf einer Platine integriert sind; und (3) das Texas Instruments LaunchPad mit einem 16-Bit-MSP430-Mikrocontroller mit On-Chip-Temperatursensor und einer separaten Anaren A2541 BLE-Tochterkarte. Alle drei Plattformen erfüllen die ersten und dritten Anforderungen an die BLE-Kommunikation und hochintegrierte elektronische Komponenten (wobei der SensorTag den höchsten Integrationsgrad aufweist).
Zunächst habe ich die SensorTag-IDE mit der Arduino-IDE in Kombination mit dem BLE-Schild von RedBearLab verglichen. Ich analysierte die Fähigkeiten beider Plattformen und kam zu dem Schluss, dass der SensorTag mehr Rechenleistung und mehr Speicher hat und weniger Platz und Energie benötigt als die Arduino-Plattform. Mit diesem Wissen machten wir uns daran, ein Mockup einer iOS-App zu erstellen, die mit dem SensorTag funktionieren würde, und das Innenleben des 8051-Programms zu lernen, das den BLE-Software-Stack ausführt. Beides erwies sich als schwierig, und die Lösung von Emmoco versprach, diese Schwierigkeiten zu beseitigen, sodass wir uns auf die dritte Plattform konzentrierten, das MSP430 LaunchPad und das Anaren A2541 BoosterPack. Die Emmoco-Software für diese Plattform ermöglicht es, alle zugrundeliegenden Bluetooth-Prozesse zu umgehen, was das gesamte Projekt erheblich vereinfacht und es ermöglicht, das System viel einfacher zu reproduzieren und zu verändern. Die IDE von Emmoco, Em-Builder, hilft sogar bei der Erstellung des Codes, der für die Erstellung der iOS-App in Xcode benötigt wird.
Ausschlaggebend für die Entscheidung zwischen den Plattformen war die Benutzerfreundlichkeit der Softwareentwicklungsumgebung und insbesondere die Möglichkeit, auf einfache Weise eine BLE-Kommunikation zwischen dem Sensorknoten und den mobilen Geräten, die sich mit ihm verbinden, herzustellen. Phase 2 konzentrierte sich in erster Linie auf die Kontaktaufnahme mit den Anbietern der drei Plattformen und den Vergleich der Software-Entwicklungstools durch deren Nutzung. Obwohl die Arduino-Plattform eine gängige Entwicklungsumgebung für Hobbybastler und akademische Forschung ist, werden die TI-Plattformen häufig in kommerziellen und industriellen Anwendungen eingesetzt, und insbesondere der MSP430 ist ausgereift und wird gut unterstützt. Noch besser ist die BLE-Entwicklungsumgebung, die Emmoco für den Anaren A2541 entwickelt hat. Emmoco hat den BLE-Software-Stack in einen einfachen Satz von "Ressourcen" abstrahiert, die man für seine Anwendung definiert. Diese Ressourcen werden in einem Daten-"Schema" und zugehörigem Schemacode definiert, die zwischen dem Mikrocontroller-Programm des Sensorknotens und der App des mobilen Geräts ausgetauscht werden. Der Mikrocontroller aktualisiert und prüft regelmäßig die Ressourcenwerte, und die mobile Anwendung liest und schreibt diese Werte regelmäßig. Erkennung und Verbindung werden automatisch gehandhabt.

An diesem Punkt haben wir Phase 2 beendet und verfügen über eine funktionsfähige Demonstration, wie in Abbildung 2 dargestellt. Die Demonstration besteht aus einer iPhone-App, die ein Schema ausführt, das wir mit der Em-Builder-IDE von Emmoco entwickelt haben. Das Schema wird in der Em-Browser-App von Emmoco ausgeführt. Die App stellt eine Verbindung zu unserem drahtlosen Sensorknoten her, der aus einem MSP430 LaunchPad und einem Anaren A2541 BoosterPack besteht, das in das LaunchPad eingesteckt wird. Auf dem MSP430 läuft ein von uns entwickeltes Temperatursensorprogramm, in das das gleiche Schema für die Kommunikation mit der Em-Broswer-App einkompiliert wurde. Beim Start arbeitet der MSP430 als BLE-Peripheriegerät, das BLE-Zentralen anzeigt, die sich mit ihm verbinden möchten. Die Em-Browser-App, die auf dem iPhone läuft, arbeitet als BLE-Zentralgerät. Sie erkennt und listet die MSP430-Peripheriegeräte auf, wobei der Benutzer eines aus einer Liste auswählt und die App eine Verbindung zu ihm herstellt. Nach der Verbindung werden dem Benutzer die Ressourcen angezeigt. Wir haben eine Timetick-Ressource, die hochzählt und die der Benutzer auf 0 zurücksetzen kann, und wir haben eine Temperatursensor-Ressource, die der Benutzer jederzeit ablesen kann, und der Wert wird auf dem iPhone angezeigt.
Ich habe ein erstes Mockup der Potomac-Temperatursensor-Demo-App für iOS mit Apples Xcode IDE entwickelt. Abbildung 3 zeigt den Titelbildschirm für die App. Diese App wird die Emmoco Em-Browser App auf dem iPhone ersetzen. Die Entwicklungsumgebung Em-Builder unterstützte die Integration des Schemas und des zugehörigen Codes in meine iOS-App zum Zeitpunkt der Beendigung meines Praktikums nicht vollständig. Sobald die iOS-App fertiggestellt ist, werden die Potomac-iOS-App und die Potomac-Sensor-App zusammen ein End-to-End-Beispiel bilden, das Potomac-Kunden für ihre Sensoranwendungen, die auf den miniaturisierten drahtlosen Sensorknoten von Potomac laufen, verwenden und anpassen können.

Derzeit arbeitet Emmoco an der Freigabe des neuesten Updates, Version 13, für seine Entwicklungsplattform. Sobald sie dieses Update veröffentlicht haben, können wir das Wireless Sensor Project abschließen, indem wir ein iOS-Gerät demonstrieren, das sich drahtlos über Bluetooth Low Energy mit einer Reihe von Sensorknoten verbindet, die aus dem MSP430 LaunchPad und dem Anaren A2541 BoosterPack bestehen, um die von den Knoten gesendeten Temperaturmesswerte anzuzeigen. Von hier aus wird Potomac Mesosystems weitere Sensoroptionen hinzufügen und die Hardware auf Kundenwunsch miniaturisieren.
