监控世界的无线传感器
撰文/David E. Culler和Hans Mulder
如今我们对计算机可谓娇宠有加。它们脆弱又昂贵,因此一般说来都有主人能照顾它。一旦需要把许多这种计算机组成单独一个系统,我们就需要请专家花费大量时间和金钱来完成这个任务。目前,受保护的计算机网络世界与鸟类、树木、船只和桥梁等构成的真实世界之间的联系还非常少。
在这两个世界相联系的地方,人们往往需要仔细调整任务目标和实现方法,以便于计算机应用。商店需要在它们销售或运送的所有货物上贴条码。仓库管理员要往托盘上贴无线射频识别(RFID)标签。这些贴上标签的货物随后要通过几个扫描器,这样计算机才能完成记帐工作。
一种新型微电子装置使我们能更方便地把计算机融入到日常生活中。我们在加州大学伯克利分校、Intel公司的研究小组以及其他大学和新兴公司,共同研究出了一种简化的计算机,我们把这种由射频收发器和传感器组成的小型自主节点称为“微尘”(mote)。运行于名为TinyOS的操作系统之下,每个“微尘”一开启,就和它的近邻相连接。尽管这些智能传感器的电能和处理能力有限,它们数以百计地集合在一起,自发组合成一个散布于真实世界中的感知网络,能完成的任务可不是普通计算机系统能做到的。
这些无线小玩意价格并不贵,而且灵敏度足够高。例如,把数十个这样的装置绑在红杉树干上,就组成了一种新科学仪器,也许我们可以称它为“显微镜”,它能够记录森林中不同区域内某一棵树周围从上到下的微气候。这些电池供电的“微尘”个头足够小,在今年夏天,生物学家在海鸟鸟巢的里里外外放置了150个“微尘”,来帮助生态学家搞清楚这些鸟儿为什么在这里孵蛋。除了收集和处理数据之外,无线节点还能推断如何在彼此间传输信息,可以有效地把数据传送到某个有Internet连接的基站处。这种能力使Inter开始设想在制造工厂中放置数千个这种传感器节点,来监控关键生产设备,避免代价高昂的故障。
很容易想到,随着其他半导体技术的进步,这些“微尘”的造价会日渐降低,性能逐步提升。这种新装置具有极其广阔的应用前景:提高生产力,开创全新的科研方法,找到预防和应对紧急情况、环境问题以及军事战争的创新方法。但我们也没有低估实现这些潜力的工程难题。一个“微尘”并非一台微型计算机,这个系统的各个方面,从程序运行的方式到数据通信的方式,都要最优化来节约能量、空间和成本。根据经验,对于长寿命的应用,无论是“微尘”本身还是通信协议的设计,每个“微尘”在99%的时间内都应在休眠,剩下1%的时间内能进行那些耗电工作。
野外计算
自然界对计算机可不友好。要在工业环境下和室外正常工作,就必须给计算机加上外壳来“强化”,使电子仪器免遭气候、土壤、野生动物以及震动的影响。但是传感器必须曝露在它们监控的环境之中。“微尘”具有低廉的小型外壳,并且用过量放置来提高其可靠性。
“微尘”设计得足够廉价,可以大量布放以获得与环境有关的详细信息。它们组成的网络足够密集,当部分网络失效时仍能接收信息;足够智能,整个网络能克服这部分损失并维持运行。失效以及自然界的不确定性给设计带来了新挑战,但这样保证了感知网络的经济性、轻便性及隐蔽性。
在设计系列“微尘”及其组网容量时,我们开展了一些小规模试验项目,以确定这项技术如何发展才能在各种应用中发挥最大功能。例如,几年前我们和生物学家一起研究大约有1.8万只海燕的鸟群。它们生活在海上,但每年夏天都飞向内陆,在缅因州海岸边的一座无人小岛——巨鸭岛上产卵,并哺育雏鸟。岛上一些特殊地区的周围聚集着地下洞穴,这些鸟就在其中筑巢。弄清它们为何选择那里抚育后代,有利于改进海岸野生动物保护政策。
从生物学和生态学的很多方面来看,真正起决定作用的因素是局部环境条件。海燕选择在哪里挖洞筑巢,并非是因为整个海岛的平均气温和风速,而是筑巢地点的温度和风速怎样。还有其他多种因素可能也比较重要,所以生物学家还希望能在每个洞穴内部及洞穴附近测量湿度及光照度。研究人员希望在整个筑巢季节都能观测这些数据,这样他们就能够搞清楚这些因素与亲鸟的习性和产蛋量之间的关系。
从2002年开始我们使用“微尘”来研究海燕的筑巢行为。生物学家可对这项技术要求挺高的:要适用干这种以及其他许多类似的应用,每个“微尘”必须具有一套传感器。这个例子中用温度、气压和湿度传感器记录小环境状况,用被动式的红外传感器探测鸟儿及鸟蛋的温度来获知其存在。然而,这个装置的尺寸不能超过数厘米,这样它们才不会干扰到亲鸟和雏鸟。显然,它们还必须是无线的,因为在大片筑巢地上布网线和电线不现实。因而,该装置要自带电源,电量足够在每年筑巢季节里供电。同时,它还要在无人干预的情况下持续运行,通过网络中的其他节点把记录数据传送出去。
此系统设计上的许多限制都集中在能耗上。圣诞树装饰灯串上的一个灯泡的功耗约为0.5瓦。但对“微尘”而言,无论使用电池、太阳能电池或者像自动上弦手表上能自动从振动中获取能量的装置,其平均功耗都不能超过0.5瓦的1/10000。
在阳光充足的情况下,大小为1平方厘米的太阳能电池的发电功率为10毫瓦,但太阳能电池在室内工作效率很差,在洞穴里面则干脆不能用。一枚普通的纽扣电池蓄电量约为3瓦时。微型控制器的能耗约为10毫瓦,低功率射频收发器的能耗约为20毫瓦,许多实用传感器的耗电量大致都如此。然而,即使工作在30毫瓦的能耗水平下,这样的电池也支撑不到5天。
这就是为什么“微尘”在99%的时间里在待命状态“睡觉”的原因,此时,它的功耗下降到千分之几毫瓦。该装置每秒数次迅速打开射频收发器,查看有无信息传入,如果没有的话,它就会在数毫秒内关断射频收发器。类似的,“微尘”通常每数分钟一次读取温度、光照等信息。
大部分节能技术都利用设备内部的只能来进行本地处理,减少不必要的资源损耗。通常,我们会用一个简单的低功耗传感器,按照预先编程的激励响应来打开其他传感器。例如,当鸟儿进入巢后,温度迅速上升。一套热敏电路可以每分钟读取一次温度,一旦巢穴温度迅速上升,它就可以打开照相机或“微尘”上其他高能耗传感器。
内置处理器提供了节能的其他方法。射频收发器传送1比特信息所耗能量相当于处理器执行大约1000条指令所需能量。微尘把记录数据存储、收集在一起,而不是立刻发送出去,这样能够节约能量。在信息被发送前,处理器可以对数据进行压缩;如果具体细节不那么关键,可以通过平均值或最髙最低值来概括传感器日志。节点能够彼此交换数据,确认重要的观测结果,随后以简单的描述发送给用户。节点之间不存在某种特定的网络协议对话,但是这些信息可以一直保存到有测量数据时再发送,随后将它们填充到像那些数据包一样的“信封”中去。
巨鸭岛上的这一项目,成功验证了组建类似这等最大规模无线传感器网络的想法。单以2002年繁殖季节而言,这个“显微镜”就进行了多达100万次的测量,生物学家对于海燕生命周期关键时期的描绘细节大大增加了。同样重要的是,这项技术使科学家能够在不干扰鸟儿的情况下对其进行观察。
铺在树枝上的网络
与一台掌上电脑相比,单个“微尘”的计算能力弱得多[参见55页框图L每个“微尘”的微控制器每秒可以处理400万到1000万条指令,而一台掌上电脑(PDA)能飞快处理每秒4亿条指令。和PDA不同,“微尘”们能以专门网络的形式联合,构成一个系统,它的计算能力比其组成部分要强得多。
四月份,我们在加州北部Sonoma的小树林里组建了一个系统,它由捆绑在红杉树枝和主干上的120个塑料封装的“微尘”组成。目标是描绘出详细的情景,来说明这些树木周围的微气候如何变化,以及它们怎样通过树荫、呼吸作用以及水的输送来影响当地环境的。就这个项目而言,成本决定了测量的密集度,而电力则决定了项目的生命周期。使用AA型锂电池,网络将能运行数周。这个项目中更大的挑战在于:如何收集高处“微尘”的数据,它们太髙了以至于超出了地面无线联系的范围;以及为了验证森林和环境之间关系的假设,需要改编“微尘”的程序。
这些“微尘”中的低功率硅微芯片射频收发器收发数据的速率,可以和拨号调制解调器相媲美,但是它们的传输距离却限于30米以内,有时候还近的多。在森林里,潮湿的树木和针叶会削弱信号。绑在树干上的“微尘”往往无法和树干对面的相邻节点直接联系,即使它们相距只有一两米远。为了克服这些限制,“微尘”可以把它的传感器读数发送给高处枝条上的另一个“微尘”。数据包从这里能够传输到树顶的节点,随后继续从一个节点传到下一个节点,沿着树干另一面向下传送,一棵树一棵树传递,直到小树林的边缘。最后这些数据被传送到一台强大的计算机中,以便存储和分析。Sonoma的这个传感器网络放大镜,是设计把红杉测量数据中继到地面上类似PDA的蜂窝设备中,随后通过Internet将数据传送到70千米外伯克利的服务器中。
如果某个应用涉及数以百计的“微尘”,要由它们组成多跳网络的话,我们在办公室或蜂窝网络中常用的逐一配置的方法就不现实了。在很多感知网络的应用中,例如在工厂或农场中监控设备、原材料以及产品,“微尘”的分布情况始终在变化。因此这些“微尘”必须能够自主组网。在任一时刻,每个传感器节点中运行的特殊算法都能计算出该节点和服务器之间的跳数,并判断出哪一个相邻节点能在任何特定时间提供到数据集合点的最经济路由[参见56〜57页框图]。
“微尘”到“微尘”的通信由每个“微尘”上运行的操作系统以及能分布式运行在网络中不同节点上的应用程序来协调。对这些微小装置而言,像Windows或Unix的标准操作系统实在是太庞大了,对处理器的要求也太髙了。这就是为何伯克利的Culler小组要开发TinyOS的原因。TinyOS是极为紧凑,以网络功能为中心的操作系统。它现在“开放源代码”,由一群工作中使用TinyOS的程序员维护。
TinyOS对于能耗吝啬异常。除了出现某些需要做出反应的特定事件,它强迫“微尘”停止程序的运行。同时这个操作系统也是高度模块化的,如果某个程序只需要用到TinyOS的某些特定功能,那么其他无关部分就会从该“微尘”中删除。这种模块化的方法保证程序占用的内存空间尽可能的小,而给传感器读取的数据留下更多的存储空间。通过限制软件中不同部分的交互方式,摸块同时还增强了设备的鲁棒性。
指挥计算军队也许对感知网络而言,最具挑战性的长期问题就是:我们如何才能最有效可靠的对可能共存于一个系统中多达数千的智能节点编程。这种规模可不是闲来遐想:Intel公司已经开始在俄勒冈州Hillsboro的Jones Farm工厂内的泵和其他机器上安装名为iMotes的节点原型。在这样的工厂里,大约4000处需要监控磨损和故障的情况。数量太多,使工程师们目前只能在每1到3个月内挑选一些来检测。这种频率显然不够。不久前,在Intel的一个工厂里,一台设备在两次振动检测之间出现故障,导致整个系统的运行中断,代价高昂。现在,由4000个iMotes组成的系统可以为工厂的设备健康提供每小时的更新,其成本低于100万美元,且无需巡检的工程师们。但我们还需要仔细考虑如何对该网络进行编程和调试,使得当网络扩大到包含数千传感器节点时,还能维持其可管理性。
在Internet或办公室局域网内,每台计算机都有自己的名字和地址,大部分信息都是从一台机器发到某台特定的接收机;而感知网络则由于受到功耗和处理器速度的严格限制,其运行机制就完全不同。在传感器网络中,通常一个节点都是向多个其他节点传播信息,而目标接收者会通过物理地址或传感器值的范围等参数来判断是否接收。
最近,Intel和伯克利的一个联合小组开发出一款名为TinyDB的软件,运行在该软件上的感知网络就像一个数据库。用户可以用一条指令即时“查询”所有节点,比如说,查询频率在40Hz〜120Hz之间,强度超过某一特定值的所有振动。这条指令从网络的“根”节点进入,随后向其近邻发送拷贝,如此直至网络中所有节点都收到该命令。
那些没有振动传感器的“微尘”将忽略这条消息;那些在睡眠状态的节点将开启它们的传感器;另有一些则根据存储的数据进行一系列计算,抽取出符合查询条件的读数,然后把这些信息传送回到“根”节点收集起来。用户看到的是一份电子数据表格似的列表,其中包含相关的测量数据及其发生的位置。随后,运行在一台高性能服务器上的软件能对这些线索进行更进一步的分析,以决定哪些机器需要维护。
在红树林应用中,生物学家最感兴趣的是变化剧烈的温度和湿度的锋面,它们每天朝向树木凸起凹下,产生的强大梯度足以驱动营养物质的流动。为了跟踪这些锋面,“微尘”必须收集数据并搜索空间图样。科学家和工程师们根据宏观观测中获得的信息,定期更改网络所需完成的任务。
为了升级“微尘”的软件,我们从互联网病毒和蠕虫身上得到了启发。新程序被打包成某种特定形式,传送到“根”节点,在那里安装该程序后就开始“感染”其相邻节点。软件的升级版本就像传染病一样在整个网络里传播。但与传染病相比,该传播过程会受到更多控制,以避免冗余的通信,并适应节点在空间的分布状况。
这一程序改写模式立刻引发了传感器网络设计中的一个难题:如何保证它们不受黑客、病毒及窃听者的攻击。TinyOS建立的算法可以鉴别“微尘”的身份,但为了使整个系统运行良好,密钥必须以一种可靠而不复杂的方式分发给众多小节点。犯罪分子攻击感知网络使用的策略和互联网上常见的有很大不同。一种有前途的系统保卫方法是把攻击后果看成本质上是有噪音的传感数据,这样即使有一小部分节点被攻陷了,整个感知网络还能工作。但是和其他所有计算机安全问题一样,对“微尘”系统的保护也是一场长期的智力较量。
随着对这一新型工具经验的增加,我们发现它出现故障的方式也不同寻常。一个传感器网络不太可能完全崩溃,但是有些节点会损坏,而另外一些节点的观测数据有噪音或者干脆就是错误的,这时整个系统的测量就会出现偏差或者自相矛盾。为解决这一问题,我们和其他电脑专家正在研究一种技术,以某种可控的方式扰乱感知系统,然后观察传感器如何反应。
在未来十年左右,无线传感器节点和感知网络有可能会发展到更模糊、更不可见的形式。这些装置会逐步从它们的小盒子里解放出来,直接嵌入到不同材料和物体中。许多装置能够从它们所处的环境中直接获取能量。那时这种类型的计算机将渗人家庭、车间、农场、运输总站以及购物场所中,它将能感知个体的存在、运动,甚至物理状态,这将会引起对隐私问题的强烈关注。实际上,关于此类技术的讨论已经围绕着安静的RFID标签[参见“RF1D:万能自动化之路”,科学,2003年3月]的使用而展开。对许多有价值的应用而言,例如泵的振动情况、梁柱的疲劳度或者森林微气候的监测,隐私并不是问题;但是在其他领域,必须仔细权衡,确保这项技术能合理地为人所用。
通过适当的讨论,这些问题无疑会被解决,“微尘”技术太有用了,我们无法放弃它。它以前所未有的方式把我们和现实世界联系在一起,在科学探索以及制造业、农业、建筑和运输等领域大有可为。
[何毓嵩/译杨光/校]
请 登录 发表评论