系统的温湿度检测采用瑞士SENSIRION公司推出的基于CMOSens技术的新型数字式温湿度传感器SHT71。它是一款将温湿度传感器、信号放大调整器、模/数转换器和总线接口全部集成在一个芯片上的单片全校准数字输出传感器,可以提供-40~120范围内分辨率为14 b的温度测量以及0~100%范围内分辨率为12 b的湿度测量。SHT71采用串行接口与微处理器相连,它的串行时钟输入线SCK和串行数据线DATA直接与微处理器CC2430的通用/输出口线相连,电路原理图如图1所示。串行时钟输入线SCK与微处理器保持通信同步,串行数据线DATA收发通信协议命令和数据。其控制流程如下:微处理器用1组“启动传输”时序表示数据传输的初始化,接着发送1组测量命令后,释放DATA数据线,等待SHT71下拉DATA数据线至低电平,表示测量结束,微处理器读出测量值后,可根据式(1)、式(2)计算出相对湿度和温度值:
式(1)是相对湿度的计算公式,是微处理器读到的湿度值,参数的值如表1所示。
式(2)是温度的计算公式,是微处理器读到的温度值,参数的值如表2所示。
2.2 软件设计
软件设计基于T1公司推出的ZigBee协议栈的最新版本Z-Stack 1.4.2。ZigBee网络设备根据功能的不同可以分为协调器、路由器和终端节点。终端节点申请加入网络,成为协调器或者路由器的子节点后,可以主动向网络中的任何节点发送数据报,也可以询问它的父节点是否有发送给它的数据报并接收。路由器包含终端节点的所有功能,此外还可以作为父节点允许其他节点加入网络,给网络中的其他节点路由转发数据报,对逻辑网络地址进行分配,维护邻居设备表等。协调器除了包含路由器的所有功能外,还包括创建一个新网络的功能。新建网络的流程如图2所示。