基于6LoWPAN 的智慧路灯数据采集装置的设计
2019-12-27艾茂华
艾茂华
(湖南水利水电职业技术学院,湖南 长沙410131)
2008 年美国BIM 就提出了智慧地球的概念,而智慧城市作为智能地球的重要组成不分,已经成为当前研究的热点之一。在智慧城市理念下,传统路灯由于功能单一、控制较为简单,而且存在着严重的资源浪费问题。因此,智慧城市理念下的城市路灯就需要升级,让其具备较强的信息感知、信息传递等多项功能,以此来实现路灯的智能化控制。而城市路灯的智能化控制需要高性能的数据系统作为基础,因此,智能路灯数据采集装置的设计具有重要的意义。
1 6LoWPAN 协议简介
6LoWPAN(IPv6 over Low power WPAN)协议是IEEE 制定的一种标准,其主要功能是研究Ipv6技术,也就是实现IPV6 协议的标准化。6LoWPAN的IEEE802.15.4 标准应用在物理层与MAC 层,在传输层采用UDP 协议,从而使得6LoWPAN 协议与TP/IP 协议具备一定的相似之处。由于6LoWPAN 协议由其在MAC 加入了适配层,从而使得其能够很好的应用在低功率的传感器之中,具有较强的适应性、开放性和普及性。
2 系统功能需求与架构设计
2.1 系统需求
(1)能够满足互联网网融合,数据通过底层传感网络采集,由互联网远程传输至数据库中,因此,所设计的底层传感网络要能够与互联网融合。
(2)要能够大范围的应用。由于层数属于一个大范围的分散系统,需要海浪的数据节点,且采集节点的地址必须是唯一的,这样才能确保数据的独立性。
(3)数据体系结构完善。智慧路灯数据采集装置需要完善的体系,包括路由器、交换机以及服务器。
2.2 系统总体架构
基于6LoWPAN 的智慧路灯采集系统总体架构如图1 所示:
图1 系统总体架构
从图1 可以看出,LED 路灯的运行由STM32 嵌入式处理器的数据采集模块来控制,对路路灯的实时数据进行采集。边缘路由器、网络交换机以及基于6IoWPAN 数据传输模块来采集路灯的运行数据,最后将数据传输给服务器。
3 系统硬件设计
3.1 数据采集模块
智慧路灯数据采集模块作为系统的感知单元,其主要功能是控制路灯的庄严以及采集其运行数据。该模块采用STM32 处理器芯片,该处理器成本低、性能高,具有指令集Cortex-M3 架构,时钟速率可达到82MHz,本系统采用的芯片能够满足路灯数据采集功能需求,而且还增加了PM2.5、射频识别等功能,设置了预留接口。STM32F103 芯片通过USART 接口和智能路灯的驱动电源模块进行通信,发送控制指令以及路灯的运行数据和电压数据。
3.2 无线数据传输模块
无线传感普遍采用的组网技术由WIFI、ZigBee以及6IoWPAN。WIFI 技术所支持的节点较少,但是本文所设计的智能路灯需要在一条线路上多台路灯,因而WIFI 组网就不合适。ZigBee 与6IoWPAN技术在数据采集方面具有广泛的应用,因而本文选用6IoWPAN 组网传感器。每个6IoWPAN 节点都有为一个IP 地址,若1 个路灯与一个6IoWPAN 节点连接,就等于每一个路灯都具有一个固定的编码。6LoWPAN 核心芯片为AT86RF2121,该芯片的传输速率为880MHz。
3.3 边缘路由器
当前Ipv4 通信协议应用最为广泛,但是6LoWPAN 是基于Ipv6 协议,因此要使得6LoWPAN能够与互联网直接相连,就需要进行协议之间的转换。边缘路由器能够实现IP 协议与6LoWPAN 之间转换,做到Ipv6 与Ipv4 的互通。6LoWPAN 边缘路由器属于异构网的网关,功能是建立6LoWPAN 网络、拓扑结构的维护以及数据之间的转发。本文基于开发尽量简单的原则,采用CC2538 为主控单元,包括了电源模块、FLASH 存储器单元以及网络控制单元等,其硬件结构如图2 所示:
图2 边缘路由器硬件结构
3.4 工控板设计
数采集装置系统设计处于扩展功能的考虑,为了使得智慧路灯采集系统更容易升级,本文工控板的数据处理芯片选用Exynos442,该芯片高性能的4核处理器,32 位nm 工艺,频率可达1.5GHz,具有强大的数据处理能力。Exynos442 采用双排插针引出302 个接口。网络处理芯片应用自适应DM962,通过USB 接口使其与CPU 相连,工控板如图3 所示:
图3 工控板结构
4 软件设计
4.1 软件整体架构
本文所设计的软件整体架构基于Contiki 操作系统,如图4 所示:
图4 软件架构
Contiki 操作系统属于基于事件驱动的内核操作系统,在该操作系统上可以使得程序灵活的加载,实现了protothread 线程模型。Contiki 系统集成uIP、Rime 网络协议,采用该协议来提供API 接口。
4.2 数据采集方式
数据采集的主要功能是将数据向服务器传输,实现方式主要有数据服务查询方式、固定周期上传翻翻书以及C/S 方式。数据查询方式是数据服务器向底层数据表网络发送一条指令就上传一次数据。固定上传方式是底层数据网络根据设定好的数据采集周期来上传数据。C/S 方式是将数据服务器当做客户端向数据采集器请求数据服务,将数据采集器用作数据服务端,根据请求数据采集指令来提供服务。
图5 有效数据流量比测试结果
从上图可以看出,就数据查询方式而言,有效载荷量与有效数据量成正比,但是数据服务器每获取一次数据都需要发送一次查询指令,从而使得数据采集过程的通讯量增大,降低数据采集的效率。固定周期上传方式能够减少数据通讯量,且数据传输效率较高,但是其只能够根据固定的参数来进行进行上传,而不是根据实际的需求,因而灵活性较差。C/S 方式的数据服务器仅需要实际采集需求请求一次数据服务就能够得到数据,数据采集效率高,使得数据采集过程的通信量进一步被压缩,且具有较高的灵活性。鉴于此,出于在信息采集过程中通信量的降低与采集方式灵活性考虑,本文采取C/S 数据传输模式,流程如图6 所示:
图6 C/S 模式数据采集通信流程
4.3 数据采集节点设计
本文所设计的数据采集节点主控单元为STM32,软件程序采用C 语言编写,采用ARM Cortex 标准标准接口CMSIS 函数编写,修改方便,扩展性好。数据采集模块和路灯控制模块采用USART串口通信,智能灯控制指令采用标准串口软件编写,波特值设置为19300。
4.4 工控板程序
工控板程序基于Contiki 操作系统,智能路灯指令的发送、读取以及传输贷后是采用网络接口。因而额本文彩陶的软件程序的是socker 网络编程,通过该程序来读取智能路灯的运行参数,在对数据处理后采用sockt 程序将数据发送到服务器,程序的编写流程如图7 所示:
图7 工控板软件设计流程
服务器操作界面是基于Web 网络编辑技术,以C/S 构架为基础提供数据资源服务,以此来降低服务器端程序的开发难度,简化用户的操作流程,提高操作的便捷性。
5 结 语
本文设计了基于6LoWPAN 智能路路灯数据采集装置,主要要包括基于STM32 的路灯数据采集节点、基于6IoWPAN 技术的无线数据传输模块、基于(ortex-A9 的上控板以及基于Web 技术的服务器等功能单元的软、硬件设计。