数据中转器通过串口向汇聚节点发送的休眠设置命令的数据帧格式如表1所列。
Sleeping_Time表示节点要休眠的时间;Collecting_Time表示节点在休眠过程中的采集时间间隔;Current_Time是当前的校准时间;Sensor_Flag表示传感器开关的标志。休眠过程中到达采集时刻,进行环境数据的采集、采样和存储。向采集节点发送当前的校准时间,保证节点采集时刻精确和时间的同步。同时,传感器的开关标志位可以控制打开或关闭哪几路传感器,采集用户感兴趣的环境数据。到达休眠时刻,节点醒来,连接网络。
3.5 充 电
为保证镍氢电池对节点长期供电,节点硬件电路设计了1个充电控制电路对其进行充电管理。CC2430专门提供1个I/O口对供电电压进行A/D采样。当供电的电源电压不足时(即低于设定的值),在软件上会通过切换先让另一组电源对节点进行供电,再打开太阳能的充电电路对电源充电。节点在通信和采集数据时功耗很大,因此在每一次通信和采集数据完成之后都会检测当前供电电压值和当前的充电电压值,根据2个电压值决定要不要进行电源切换、是否对电源进行供电以及充电是否完成。
3.6 异常处理
网络中节点在工作时可能出现一些异常,因此要对这些异常作纠错处理,以保证节点的正常工作。
(1)新加入节点的异步
在全网节点处于休眠状态时,若有新的节点加入网络,为保证其网络状态和其他节点同步,新加入的节点在搜索不到网络时会按照默认的休眠设置进行休眠。休眠醒来继续搜索网络。以此循环直到搜索到网络。
(2)数据出错
数据中转器通过串口获得的数据都要进行校验处理,若校验出错,则抛弃该数据包,命令汇聚节点重发数据。
(3)无应答
汇聚节点对某一采集节点发送上传数据的请求命令,若该节点在规定时间内没有作出响应,汇聚节点会默认该节点被抛弃,它将向下一个节点发送上传数据的请求。
(4)无确认
汇聚节点收到采集节点的数据后都会向该节点发送一个确认的消息,表示数据已经收到。而采集节点会根据有没有接收到确认消息决定数据要不要重发。
结 语
无线传感器网络节点的软件设计很大程度上决定了整个系统的稳定性和长久性。任务调度机制和异常处理决定系统在工作时处于稳定的状态,而节点的充电管理系统保证了节点长期工作的能源供应。系统可以按照用户需要,在野外大量、准确地采集数据。本设计可用于在无人值守情况下长期监测某一区域的环境信息,有着广阔的应用前景。
上一页 [1] [2] [3] 下一页