WiSP 是 Potomac Photonics、Potomac Mesosystems 和 Gray Technologies 之间的合作项目。
Potomac Mesosystems 和 Gray Technologies 在 Potomac Photonics 的指导和共同资助下,正在合作开展一个名为“无线传感器项目 (WiSP)”的项目。该项目的目标是创建一个无线传感器节点网络,该网络可与移动设备(智能手机和平板电脑)通信,以发送和接收传感器数据。Potomac Mesosystems 的创始人 Paul Christensen 博士负责该项目,项目完成后将使传感器节点的电子元件小型化。Gray Technologies 的创始人 Mark Gray 和我本人 Aidan Gray 负责软件组件,包括编写传感器节点代码和开发 iOS 应用程序。我是马里兰大学巴尔的摩分校 (UMBC) 物理学专业的本科生。这是我 2013 年暑期的实习职位。
该项目分为几个阶段。第 1 阶段和第 2 阶段在我实习期间完成。第 1 阶段的目标是定义组成无线传感器节点的组件的要求,并对现有的无线传感器开发平台进行比较分析,重点关注软件开发工具和工具的易用性。第 2 阶段的目标是使用和比较第 1 阶段确定的不同平台,然后选择一个并在该平台上开发演示。
在第 1 阶段,我们确定了组成无线传感器节点的四个功能组件:无线通信模块、微控制器模块、传感器模块和电源模块,如图 1 所示。对于电源,部署的传感器节点的理想电源是 3 伏锂币大小的电池;但是,对于微控制器开发板上的开发,通过 USB 连接供电很常见。低功耗要求是推动无线传感器节点设计的最大因素,而节点中最大的耗电设备是通信模块。低功耗蓝牙 (BLE),以“蓝牙智能”为市场定位,正在迅速被移动设备采用,包括最新的 iOS 和 Android 智能手机和平板电脑。推动我们设计的第二个最重要的因素是为传感器节点和它将与之通信的移动设备开发软件的便利性。第三个最重要的因素是电子设备的尺寸以及以尽可能小的外形尺寸重新封装它们的能力,因此高度集成的片上系统组件是微控制器和传感器模块的首选。

确定这三个基本要求后,我们研究了现有的无线传感器开发平台,并决定重点关注以下三个平台:(1) Arduino 平台,配备 8 位 ATMega328 微控制器和单独的 BLE 屏蔽(子卡);(2) 德州仪器 SensorTag,配备 8 位 8051 微控制器和集成到单个芯片中的 BLE 无线电,六个传感器全部集成在一块板上;(3) 德州仪器 LaunchPad,配备 16 位 MSP430 微控制器(带片上温度传感器)和单独的 Anaren A2541 BLE 子卡。所有三个平台均满足 BLE 通信和高度集成电子元件的第一和第三个要求(SensorTag 具有最高集成度)。
我首先将 SensorTag IDE 与结合 RedBearLab 的 BLE Shield 的 Arduino IDE 进行了比较。我分析了这两个平台的功能,并得出结论:SensorTag 具有比 Arduino 平台更强大的计算能力、更大的内存,并且占用的空间和功率更少。有了这些知识,我们开始着手设计一个可以与 SensorTag 配合使用的 iOS 应用程序模型,并了解运行 BLE 软件堆栈的 8051 程序的内部工作原理。两者都很困难,而 Emmoco 的解决方案承诺可以消除这些困难,因此我们将重点转向第三个平台,即 MSP430 LaunchPad 和 Anaren A2541 BoosterPack。该平台的 Emmoco 软件允许人们绕过所有底层蓝牙进程,使整个项目变得非常简单,并且允许更轻松地复制和更改系统。Emmoco 的 IDE Em-Builder 甚至可以帮助创建在 Xcode 中创建 iOS 应用程序所需的代码。
平台之间的决定因素归结为软件开发环境的易用性,特别是能否轻松地在传感器节点和将连接到它们的移动设备之间创建 BLE 通信。第 2 阶段主要集中于联系和接触三个平台的供应商,并通过使用这些软件开发工具进行比较。尽管 Arduino 平台是业余爱好者和学术研究的常用开发环境,但 TI 平台通常用于商业和工业应用,特别是 MSP430 已经成熟并得到良好支持。最重要的是 Emmoco 为 Anaren A2541 开发的 BLE 开发环境。Emmoco 将 BLE 软件堆栈抽象为一组简单的“资源”,供用户为其应用程序定义。这些资源在数据“模式”和相关模式代码中定义,这些模式代码在传感器节点的微控制器程序和移动设备的应用程序之间共享。微控制器定期更新和检查资源值,移动应用程序定期读取和写入这些值。发现和连接是自动处理的。

此时,我们已经结束了第 2 阶段,并进行了如图 2 所示的操作演示。演示包括一个 iPhone 应用程序,该应用程序运行我们使用 Emmoco 的 Em-Builder IDE 开发的模式。该模式在 Emmoco 的 Em-Browser 应用程序上执行。该应用程序连接到我们的无线传感器节点,该节点由 MSP430 LaunchPad 和插入 LaunchPad 的 Anaren A2541 BoosterPack 组成。在 MSP430 上运行的是我们开发的温度传感器程序,该程序编译了相同的模式,用于与 Em-Broswer 应用程序通信。启动时,MSP430 作为 BLE 外围设备运行,向可能想要连接到它的 BLE 中央设备进行广告宣传。在 iPhone 上运行的 Em-Browser 应用程序作为 BLE 中央设备运行。它发现并列出 MSP430 外围设备,用户从列表中选择一个,然后应用程序连接到它。连接后,资源将呈现给用户。我们有一个计时时钟资源,用户可以将其重置为 0,我们还有一个温度传感器资源,用户可以随时读取该资源,并且该值显示在 iPhone 上。
我使用 Apple 的 Xcode IDE 开发了一个初始模型 Potomac 温度传感器演示 iOS 应用程序。图 3 显示了该应用程序的标题屏幕。此应用程序将取代 iPhone 上的 Emmoco Em-Browser 应用程序。在我完成实习时,Em-Builder 开发环境并不完全支持将架构和相关代码集成到我的 iOS 应用程序中。iOS 应用程序完成后,Potomac iOS 应用程序和 Potomac 传感器应用程序将一起形成一个端到端示例,Potomac 客户可以使用和修改该示例,以用于在 Potomac 微型无线传感器节点上运行的传感器应用程序。

目前,Emmoco 正在努力将最新更新版本 13 发布到其开发平台上。一旦他们发布此更新,我们就可以通过演示 iOS 设备通过低功耗蓝牙无线连接到一组由 MSP430 LaunchPad 和 Anaren A2541 BoosterPack 组成的传感器节点以显示从节点发送的温度读数来完成无线传感器项目。从这里开始,Potomac Mesosystems 将添加传感器选项并在客户驱动的基础上缩小硬件体积。
