上位机可以通过该命令设置基站的RTC时间值,基站正确接收到上位机命令后,会将时间调整为相应值,然后按照格式1.5返回当前的RTC时间。 字段 包头标志1 包头标志2 包类型标志 包负载长度 包头检验码 行业编码 应用编码 应用数据类型码 RTC时间 长度 1字节 1字节 1字节 2字节 1字节 1字节 1字节 1字节 1字节 1字节 1字节 1字节 1字节 1字节 1字节 大小端 BE 备注 SOP1:0x37 SOP2:0xA9 CMD:0x01 LEN:DATA段长度 HCS:为CMD和LEN逐字节异或结果 0x06 0x01 0x04 year:年 month:月 day:日 hour:时 minute:分 second:秒 PCS:为前面除两个包头标志外所有字节异或的结果 校验码
网关返回当前RTC时间(Gateway –>PC)
基站在接收到上位机的获取或设置命令后,返回当前时间值。 字段 包头标志1 包头标志2 包类型标志 包负载长度 包头检验码 行业编码 应用编码 应用数据类型码 处理结果 RTC时间
长度 1字节 1字节 1字节 2字节 1字节 1字节 1字节 1字节 1字节 1字节 1字节 大小端 BE 备注 SOP1:0x37 SOP2:0xA9 CMD:0x01 LEN:DATA段长度 HCS:为CMD和LEN逐字节异或结果 0x06 0x01 0x05 0:失败,1:成功(可表示获取或设置时间值的结果) year:年 month:月 21
校验码 1字节 1字节 1字节 1字节 1字节 day:日 hour:时 minute:分 second:秒 PCS:为前面除两个包头标志外所有字节异或的结果
3.3.2 网关路由协议实现 配置文件GateWayC
使用的组件:MainC 主组件
GateWayP 基站组件 LedsC LED组件 StdOutC 串口组件 HplCC2430I2CBusP I2C组件 HplCC2430GeneralIOC IO口组件 HplCC2430Timer1P 定时器1组件 SimpleMacC RF组件
使用的接口:Boot 启动接口 Leds LED接口 HplCC2430Timer16 as Timer1 定时器接口
Init as Timer1Init 定时器初始化接口 StdOut 串口接口 GeneralIO as PAEnable IO接口 HplCC2430I2CBus as I2C I2C接口 SimpleMac RF接口 StdControl as SimpleMacControl RF控制接口 实现文件GateWayP
任务:task void delay() 延时5ms task void delay1() 延时50ms 事件:event void Boot.booted()
22
启动上电启动后进入该事件,该事件中完成时钟,定时器寄存器初始化,
无线发送变量的初始化,无线寄存器初始化,功放控制设置。设置了硬件地址过滤,以保证在后面建立路由和无线接收中,其他无用消息的干扰。
async event void Timer1.fired()
定时器中断程序。该服务程序中:停止定时器,发送子节点设置消息。 event packet_t *SimpleMac.receivedPacket(packet_t *packet) 无线接收中断程序。扫描无线接收消息的数据长度:
(1) Length = 节点号总字节数+9:表示收到的是回传节点号的消息。通过
串口向上位机上传节点号。
(2) Length = 10:表示收到的是节点的应答消息。由于有很多节点的回应
消息,选出其中的RSSI值最强的节点作为自己的子节点。
(3) Length = 36:表示收到的是节点上传的数据。通过串口上传给上位机。 async event void StdOut.get(uint8_t data) 串口接收中断程序:
(1) 若收到字符’s’:发送查询子节点消息,打开定时器。定时器定时时间
到,则选择最强信号的节点作为子节点。同时停止定时器。
(2) 若收到字符’t’:表示是时间字符串,把后面12位时间字符串放入时间
数组中,并向子节点发送时间设置消息。
23
3.4 上位机通信与数据分析处理
上位机监测软件是整个环境监测系统的一个部件,在无线传感网中,网关
采集到各个节点的信息,并通过通信接口和上位机通信,将数据发送给上位机,而上位机则进行相关信息的处理,并与互联网相连。
整个上位机监控系统主要由数据采集、数据处理、数据存储三大部分组成。数据库管理服务器包括数据库服务器和数据库,数据库服务器负责各个模块与数据库之间的交互,使数据库对其他模块透明,数据库用来存储数据。数据处理服务器负责将接收上来的数据进行解析,然后将其送往系统管理服务器。系统管理服务器主要负责与用户交互。使用户能根据需要配置整个系统,按需求显示监控数据,查询历史数据等。
3.4.1 上位机通信软件结构
上位机数据分析与处理软件主要功能是采集上传的原始数据,解析成应用
24
数据后存入数据库中,同时可以实时监控各节点及网关的通信、路由、数据等状态。软件结构如图10所示,其通信软件功能如下:
(1)节点/网关健康状况分析用于实时监视节点和网关的通信状态,如节点通信超时时间、最后心跳时间戳以及节点接收数据包/心跳包数量信息等。当节点或网关的通信连接发生异常,或通信超时时会出现报警提示;
(2)网络拓扑结构分析用于实时分析,显示当前传感器组网的通信路由状态,并按照拓扑层级别分组显示节点,以及每个节点的上下跳关系;
(3)即时数据显示功能用于实时显示接收的数据,分别显示心跳包与数据包的最新数据;
(4)数据存储使用多种形式,支持文件及多种数据库(使用sqlserver2005)。
图10上位机通信软件结构
25