WiSP è una collaborazione tra Potomac Photonics, Potomac Mesosystems e Gray Technologies.
Potomac Mesosystems e Gray Technologies, sotto la direzione e il cofinanziamento di Potomac Photonics, stanno collaborando a un progetto che chiamano Wireless Sensor Project (WiSP). L'obiettivo di questo lavoro è creare una rete di nodi sensore wireless che comunichino con dispositivi mobili (smartphone e tablet) per inviare e ricevere dati del sensore. Il dott. Paul Christensen, fondatore di Potomac Mesosystems, sta guidando il progetto e, una volta completato, miniaturizzerà i componenti elettronici del nodo sensore. Mark Gray, fondatore di Gray Technologies, e io, Aidan Gray, stiamo gestendo i componenti software, tra cui la scrittura del codice del nodo sensore e lo sviluppo di un'app iOS. Sono uno studente universitario con specializzazione in fisica presso l'Università del Maryland Baltimore County (UMBC). Questa è stata una posizione di tirocinio per me durante l'estate del 2013.
Il progetto è stato organizzato in fasi. Le fasi 1 e 2 sono state completate durante il mio tirocinio. Gli obiettivi della fase 1 erano definire i requisiti dei componenti che comprendono un nodo sensore wireless e di eseguire un'analisi comparativa delle piattaforme di sviluppo di sensori wireless esistenti, concentrandosi specificamente sugli strumenti di sviluppo software e sulla facilità d'uso degli strumenti. Gli obiettivi della fase 2 erano di utilizzare e confrontare le diverse piattaforme identificate nella fase 1 e di sceglierne una e sviluppare una dimostrazione su quella piattaforma.
Nella Fase 1 abbiamo identificato quattro componenti funzionali che comprendono un nodo sensore wireless: un modulo di comunicazione wireless, un modulo microcontrollore, un modulo sensore e un modulo di alimentazione come mostrato nella Figura 1. Per l'alimentazione, idealmente la fonte di alimentazione per un nodo sensore distribuito è una batteria al litio da 3 volt delle dimensioni di una moneta; tuttavia, per lo sviluppo su una scheda di sviluppo del microcontrollore, l'alimentazione tramite una connessione USB è comune. Il requisito di bassa potenza è il fattore più importante che guida la progettazione del nodo sensore wireless e il più grande consumatore di energia nel nodo è il modulo di comunicazione. Bluetooth Low Energy (BLE), commercializzato come "Bluetooth Smart", sta rapidamente venendo adottato nei dispositivi mobili, inclusi gli ultimi smartphone e tablet iOS e Android. Il secondo fattore più importante che guida la nostra progettazione è la facilità di sviluppo del software per il nodo sensore e i dispositivi mobili con cui comunicherà. Il terzo fattore più importante è la dimensione dell'elettronica e la capacità di riconfezionarla nel più piccolo fattore di forma possibile e quindi i componenti system-on-chip altamente integrati sono preferiti per i moduli microcontrollore e sensore.

Dopo aver identificato questi tre requisiti fondamentali, abbiamo quindi esaminato le piattaforme di sviluppo dei sensori wireless esistenti e abbiamo deciso di concentrarci su tre piattaforme: (1) la piattaforma Arduino con un microcontrollore ATMega328 a 8 bit e uno shield BLE separato (scheda figlia); (2) il Texas Instruments SensorTag con un microcontrollore 8051 a 8 bit e radio BLE integrati in un singolo chip con sei sensori tutti integrati su una scheda; e (3) il Texas Instruments LaunchPad con un microcontrollore MSP430 a 16 bit con sensore di temperatura on-chip e una scheda figlia BLE Anaren A2541 separata. Tutte e tre le piattaforme soddisfano il primo e il terzo requisito per le comunicazioni BLE e componenti elettronici altamente integrati (il SensorTag ha il più alto livello di integrazione).
Ho prima confrontato l'IDE SensorTag con l'IDE Arduino combinato con BLE Shield di RedBearLab. Ho analizzato le capacità di entrambe le piattaforme e sono giunto alla conclusione che SensorTag ha più potenza di elaborazione, più memoria e occupa meno spazio e potenza rispetto alla piattaforma Arduino. Con questa conoscenza, siamo passati a iniziare un mockup di un'app iOS che avrebbe funzionato con SensorTag e ad apprendere il funzionamento interno del programma 8051 che esegue lo stack software BLE. Entrambi si sono dimostrati difficili e la soluzione di Emmoco ha promesso di rimuovere tali difficoltà, quindi abbiamo rivolto la nostra attenzione alla terza piattaforma, MSP430 LaunchPad e Anaren A2541 BoosterPack. Il software Emmoco per questa piattaforma consente di bypassare tutti i processi Bluetooth sottostanti, rendendo l'intero progetto notevolmente più semplice e consentendo al sistema di essere replicato e modificato molto più facilmente. L'IDE di Emmoco, Em-Builder, aiuta persino a creare il codice necessario per la creazione dell'app iOS in Xcode.
Il fattore decisivo tra le piattaforme è stato la facilità d'uso dell'ambiente di sviluppo software e in particolare la capacità di creare facilmente comunicazioni BLE tra il nodo sensore e i dispositivi mobili che si collegheranno ad essi. La fase 2 è stata principalmente incentrata sul contatto e l'impegno dei fornitori delle tre piattaforme e sul confronto, attraverso l'uso, degli strumenti di sviluppo software. Sebbene la piattaforma Arduino sia un ambiente di sviluppo comune per la ricerca accademica e amatoriale, le piattaforme TI sono comunemente impiegate in applicazioni commerciali e industriali e in particolare l'MSP430 è maturo e ben supportato. In cima a tutto c'è l'ambiente di sviluppo BLE che Emmoco ha sviluppato per l'Anaren A2541. Emmoco ha astratto lo stack software BLE in un semplice set di "risorse" che si definiscono per la propria applicazione. Queste risorse sono definite in uno "schema" di dati e nel codice schema associato che sono condivisi tra il programma del microcontrollore del nodo sensore e l'app del dispositivo mobile. Il microcontrollore aggiorna e ispeziona periodicamente i valori delle risorse e l'app mobile legge e scrive periodicamente questi valori. La scoperta e la connessione vengono gestite automaticamente.

A questo punto abbiamo terminato la Fase 2 e abbiamo una dimostrazione operativa come illustrato nella Figura 2. La dimostrazione consiste in un'app per iPhone che esegue uno schema che abbiamo sviluppato utilizzando l'IDE Em-Builder di Emmoco. Lo schema viene eseguito sull'app Em-Browser di Emmoco. L'app si collega al nostro nodo sensore wireless costituito da un MSP430 LaunchPad e un Anaren A2541 BoosterPack che si collega al LaunchPad. In esecuzione sull'MSP430 c'è un programma sensore di temperatura che abbiamo sviluppato che ha lo stesso schema compilato al suo interno per comunicare con l'app Em-Broswer. All'avvio, l'MSP430 funziona come un dispositivo periferico BLE che pubblicizza ai centrali BLE che potrebbero volersi connettere ad esso. L'app Em-Browser in esecuzione sull'iPhone funziona come un dispositivo centrale BLE. Rileva ed elenca i dispositivi periferici MSP430 in cui l'utente ne seleziona uno da un elenco e l'app si connette ad esso. Dopo la connessione, le risorse vengono presentate all'utente. Abbiamo una risorsa timetick che conta e l'utente può azzerarla e abbiamo una risorsa sensore di temperatura che l'utente può leggere in qualsiasi momento e il cui valore viene visualizzato sull'iPhone.
Ho sviluppato un'app iOS di simulazione iniziale Potomac Temperature Sensor Demo utilizzando l'IDE Xcode di Apple. La Figura 3 mostra la schermata del titolo dell'app. Questa app sostituirà l'app Emmoco Em-Browser su iPhone. L'ambiente di sviluppo Em-Builder non supportava completamente l'integrazione dello schema e del codice correlato nella mia app iOS al momento in cui ho completato il mio tirocinio. Una volta completata l'app iOS, insieme, l'app iOS Potomac e l'app del sensore Potomac formeranno un esempio end-to-end che i clienti Potomac possono utilizzare e modificare per le loro applicazioni di sensori in esecuzione sui nodi di sensori wireless miniaturizzati Potomac.

Attualmente, Emmoco sta lavorando al rilascio del suo ultimo aggiornamento, la versione 13, sulla sua piattaforma di sviluppo. Una volta rilasciato questo aggiornamento, potremo completare il Wireless Sensor Project dimostrando un dispositivo iOS che si connette in modalità wireless tramite Bluetooth Low Energy a un set di nodi sensore composti da MSP430 LaunchPad e Anaren A2541 BoosterPack per visualizzare le letture della temperatura inviate dai nodi. Da qui, Potomac Mesosystems aggiungerà opzioni di sensori e miniaturizzerà l'hardware in base alle esigenze del cliente.
