传感器网络的应用层技术

  传感器节点功能的根本目的是感知、探测与传感,传感器节点和在传感器网络的通信与组网技术合起来就构成了一个完整的传感器网络。但是针对具体的应用来说,还需要有应用层的基础性技术来支撑传感器网络完成任务,主要包括时间同步技术、定位技术、数据融合技术、能量管理技术。

  1.时间同步技术

  首先我们要清楚为什么需要时间同步技术。举个例子,比如要测试小车的速度,可以设置2个传感器在公路上,根据这2个传感器的距离与小车经过这2个传感器的时间差可以计算出小车的速度。这个地方距离是固定的,误差主要体现在时间差,也就是说当小车经过第一个节点时第二个节点应该与第一个节点有相同的时间。除此之外还有许多复杂的应用需要多个传感器协调合作完成。现有网络的时间同步技术往往希望把时间误差缩小到极致,但是在传感器网络中由于电能限制很难完成很精确的时间同步技术,只需要在误差可接受范围就行。目前有一类比较成熟的传感器网络时间同步技术TPSN(Timing-sync Protocol for Sensor Networks),它仍然是采用分层的思想一步一步将时间同步给全网内所有节点。TPSN需要有一个根节点,这个根节点可以与外界获得通信得到外界的精确时间,它可以装配比如GPS这样的复杂硬件以及其他方面更好的配置。根节点在传感器网络中充当着时钟源的角色,我们将根节点划分为第0层。接下来会给一部分节点设置为第1层,另一部分设置为第2层,然后还可以划分第3或第4层,具体情况具体划分。这样TPSN将整个网络划分为层次结构。我们称划分层次为层次发现阶段,网络部署后根节点会广播级别发现分组包,级别发现分组包含发送节点的ID和级别,ID是每个节点的一个标识。根节点的邻居节点收到发现分组包后将自己的级别设置为数据包里的级别加1,这样就建立了第1级。第1级的节点继续广播新的发现分组包给它的邻居节点,注意这个地方一旦节点确定级别后就会忽略任何其它级别的发现分组。接下来是第二阶段称为同步阶段,现在根节点就开始广播时间同步分组。第1级节点收到同步分组包后各自分别等待一段随机时间,这段时间节点会与根节点交换同步消息以达到和根节点的同步。第二级节点侦听到第1级节点的交换消息后,等待一段时间也就是让第1级节点完成时间同步后,便开始和第1级节点进行消息交换完成同步。最后每个节点与层次结构中最靠近的上一级节点完成同步从而实现整个网络的同步。看文字可能看得有点晕,下面是我画的一个时间同步图。当然这些知识都是课本上的理论知识,不知道实际的开发或应用是什么样子的,也不知道实际通信会出现哪些问题。

  

 

  为了提高时间精度,TPSN协议会在MAC层消息发送出去前才给同步消息加上时间字段。TPSN协议的同步误差与跳数成距离成正比,很明显每一级节点与下一级节点之间存在一个时间误差,下一级节点与更下一级节点之间又会存在一个误差。TPSN协议实现全网范围内节点的时间同步,不过这样是一个短时间的同步,因为传感器网络受环境因素影响会动态变化,所以如果需要长时间同步的话可以周期性的广播。我感觉从中可以看到传感器网络中很常见的两个思想,一个是分离,将所有节点进行分层或分区域;还有一个是周期性。

  2.定位技术

  传感器节点的定位重要性不言而喻,当传感器检测到信息时大部分是希望这个信息发生在什么地方。先来看2个概念,传感器节点可分为锚点和未知节点,锚点有时也称为信标节点,它在网络节点中所占的比例很小,可以配置GPS定位来获得自身的精确位置。锚点是其他未知节点实现定位的参考点;第二个概念是我们一直说邻居节点,它指的是传感器节点通信半径范围以内的所有其他节点。在无线局域网定位中是以AP作为已知坐标的参考点,移动终端接收来自AP的探测信息并根据这个信号的强度推测出距离。而且还要清楚传感器网络其实还是很苦逼的,它们所处的环境具有很多不确定性,而且还要一个最头疼的问题是电能,因此关于传感器网络的相关技术都要求低功耗、容错性好能够自动纠正错误、克服外界的干扰因素。在这些基础上对于定位系统需要考虑的有2点,一点是定位的精确度,一点是良好的刷新速度。传感器网络定位技术主要分为基于测距的定位技术与无需测距的定位技术,下面分别进行介绍。