基于物联网的照明控制系统—ARM客户端软件设计
基于物联网的照明控制系统以ZigBee、单片机、传感器、C#和PHP程序设计为主要技术手段,包括照明控制单元、ZigBee无线传输层(含网关)、PC展示及控制层3个层次的现场控制单元、CC2430无线传输网络、ARM网关硬件单元、ARM网关客户端软件、基于C#的服务端软件、基于PHP的展示软件等6个子系统,用于实现一套模拟城市照明控制系统。 本课题首先规划了WSN协调器与ARM网关的串口通讯协议及ARM客户端与PC服务端的TCP/IP通讯协议.然后基于Windows CE 6.0操作系统,运用C#编程语言开发了ARM的客户端软件。经测试,客户端软件实现了按规划的协议将协调器上传数据发往服务端和将服务端下发数据发往协调器的功能,性能稳定,具有一定的实用价值。 1 需求分析 1.1 物联网照明控制系统的组成及工作过程 1.1.1 系统组成 物联网照明控制系统由感知层子系统、传输层子系统、应用层子系统三个部分组成,如图1所示。其中,感知层子系统由开关量照明控制节点组成。传输层子系统包括基于CC2430的ZigBee无线传输网和基于TCP/IP的局域网传输网。应用层子程序系统由运行于服务器上的服务端软件及其它展示软件组成,本系统包括Web展示软件和服务器Server软件。如图1所示。 1.1.2 系统运行过程 在物联网照明控制系统中,所有感知层节点的控制指令均由应用层子系统通过服务端下发给传输层ARM网关客户端,然后由ARM处理器通过串口下发给CC2430协调器,再由后者通过ZigBee无线网络下发给CC2430终端节点。执行的操作指令主要包括注册网络、获取网络参数、下发控制指令等3个方面。 1)注册网络 系统启动后,CC2430协调器首先建立无线网络,路由器和终端节点在发现网络后,会主动加入网络,并上传网络参数(物理地址、网络地址、节点类型等)。 2)获取网络参数 系统运行中,为及时发现掉线节点,系统会周期性去询问节点,要求返回网络参数。获取网络参数的流程。 3)下发控制指令 当需要改变各被控对象的运行状态时,系统就需要下发各类控制指令。 1.2 ARM客户端软件的功能需求分析 ARM网关是传输层子系统的核心设备,主要完成数据转发、协议转换、命令代理和映射、本地存储等功能,支持无线传感器网络内部数据协同和汇聚,支持ZigBee接入、TCP /IP网络接入,从而桥接无线传感器网络与互联网。 ARM客户端软件主要用于实现接收ZigBee无线传感网络协调器上传的数据,然后发送到服务器。同时,对于服务器下发的一些控制命令进行解析,并通过串口传输到无线网络的协调器。 ARM网关整体上采用分层设计方案,体系结构如图1所示。硬件部分主要包括ZigBee通信节点、S3C2440 ARM主控模块、USB及网络等外设模块。软件部分包括软件支持层、应用层。图2中,软件支持层由硬件驱动、Windows CE操作系统以及支持Z—Stack的协议栈等构成。应用层由地址适配层、应用协议层、业务逻辑应用程序三部分构成,地址适配层用于Zigbee地址和以太网IP地址与应用层地址的映射,应用协议层是用于规范节点通信的数据帧格式,二者相互配合可实现节点间数据的透明传输。 本课题所需开发的是软件部分的应用层软件,涉及协议转换、数据转发、人机交互等功能,宜采用软件设计中的三层架构进行软件开发。所谓三层架构,是指数据访问层、业务逻辑层以及窗体表示层。本课题主要涉及业务逻辑层和窗体表示层的设计与功能实现。 2 通信协议规划 2.1 通信协议规划原则 1)透明传输,将控制与传输分离。协议的规划不宜采用按功能方式规划,而应采用分层方式实施,以便明确边界。对于本系统而言,整个协议从下自上为分三层,如图3所示。 2)本系统WSN类型节点由协调器、路由器、传感器节点三种组成,拓扑结构有树状形、星形网络等。由于本系统控制点不多、分布范围较窄,故采用星形网络拓扑结构。支持 ZigBee无线网广播、点对点通信。 2.2 ARM网关通讯协议详细帧格式规划 ARM网关通讯协议详细帧格式规划包括注册网络、获取网络参数、返回网络参数、下发操作指令、上传操作结果等协议的规划。 1)注册网络通讯协议 注册网络是指当终端节点或路由器新加入网络后,主动向上级节点发送源节点网络参数的过程。从信息流向来看,注册网络的信息是由CC2430终端节点出发,经协调器转发至PC。 2)获取网络参数通讯协议 获取网络参数是PC根据人机交互需要,通过WSN协调器下发获取网络参数指令,终端节点或路由器收到指令后,向上级节点返回源节点的网络参数。本系统中只有当节点自动注册网络失败时,才从服务器手动发送指令获取节点网络参数。从信息流向来看获取网络参数包括从PC到客户端,再由客户端发往协调器,最终到路由器和终端节点的下行发送指令,以及上行返回网络参数两个方面。 3)返回网络参数通讯协议 当节点收到由客户端转发来自服务端的获取网络指令后,自动向客户端返回节点的网络参数,再由客户端向服务端返回数据。 4)下发操作指令通讯协议 本系统中PC下发控制指令,是通过WSN协调器下发开灯或关灯指令,终端节点或路由器收到指令后,向上级节点返回源节点的执行结果。从信号流向来看,指令是由PC发出,经串口发送到客户端,再由客户端经串口将指令送入WSN协调器,然后下发到终端节点。 5)上传操作结果通讯协议 本系统中控制上传控制指令,是通过WSN协调器上传到PC下发选择开灯或关灯指令,终端节点或路由器收到指令后,向上级节点返回源节点的执行结果(包括提取到的温度、湿度以及灯光亮度参数)。从信号流向来看,指令是由PC发出,经串口送入WSN协调器,然后下发到终端节点,再经串口传输到单片机。 |