当前位置:首页 期刊杂志

基于Wi-Fi与433 MHz频段的无线传感网通信网关设计

时间:2024-05-04

张艺琳 王宜怀 姚望舒 范小青

(苏州大学计算机科学与技术学院 江苏 苏州 215000)

0 引 言

近年来,工业生产的环境、健康、安全一直是社会关注的焦点,工厂监测愈发显得重要。在无线通信技术和传感器技术飞速发展的背景下,无线传感网络(Wireless Sensor Network,WSN)[1]因其安装灵活无害、维护方便、扩展性高等优点,应用领域日趋广泛,尤其在工业监测领域表现不俗。国内外许多学者对面向工业领域的WSN通信网关进行了大量的研究和探索。文献[2]以S3C2440A处理器为平台,设计了一种GPRS-ZigBee网关系统,用于地铁变电站防误闭锁控制,但GPRS传输速度较慢。Wi-Fi技术作为一种短距离、较高传输速度的无线传输技术,可兼容现有以太网,组网便利灵活[3],逐渐成为无线接入的主流标准。文献[4]设计了一种用于监测液压支架压力系统的网关,选用CC2530作为主控单元,结合Wi-Fi和ZigBee技术,但传统ZigBee协议开发难度大、结构复杂、通信稳定性差。文献[5]利用Arduino平台,设计了基于BLE/Wi-Fi的网关,但蓝牙通信距离过短、覆盖范围小。433 MHz频段相较其他高频段无线,波长更长,穿透能力更好,覆盖范围更广。

本文采用KW01Z128主控器和ESP8266Wi-Fi芯片为硬件平台,设计并实现了一种基于Wi-Fi技术和433MHz频段无线技术的WSN通信网关。使用Wi-Fi来解决WSN与Internet网络协议兼容问题;对ZigBee协议进行场景适应性优化,降低其复杂度,提高433 MHz频段无线通信稳定性;优化软件设计流程,提高网关整体通信性能。

1 系统框架

本文以工厂监测为场景,但并不局限于工厂监测。整体通信框架参考物联网分层模型[6],如图1所示,自左向右分为感知层、网络层和应用层。感知层利用传感器实时感知、捕获、测量环境物体的信息;网络层以无线为传输媒介,通过各种通信协议传送交互信息;应用层针对业务需求进行信息处理[7]。将该模型实例化,感知层由多个传感器节点构成,节点间通过433 MHz频段无线通信组成WSN;网络层由网关组成,网关与感知层之间为433 MHz频段无线通信,与应用层之间利用2.4 GHz Wi-Fi建立TCP通信;应用层由服务器和用户交互程序构成。

图1 无线通信网关系统框图

网关在整个框架中有着承上启下的作用,网关节点支持实现整体框架的数据上下行,数据上行时,负责汇总传感器节点数据并完成433 MHz频段无线协议与Wi-Fi协议的转换和发送;数据下行时,负责接收并解析服务器数据后做出相应操作。

2 硬件模块设计

2.1 整体设计及芯片选型

对网关硬件进行模块化设计,按照功能需求主要包含主控器模块、Wi-Fi模块、RF天线模块和电源模块等,各模块均使用电源供电,如图2所示。

(a) 网关硬件结构框图 (b) 实物图图2 网关硬件结构框图及实物图

KW01Z128作为基于ARM Cortex-M0+内核的低功耗系列芯片,工作频率高达48 MHz,可达nA级别超低功耗,提供UART、SPI、I2C等多种外设接口,扩展方便。芯片本身集成了SX1231射频收发器,射频模块与主控器MCU之间使用芯片内部SPI通信。SX1231是一款Sub 1 GHz的超低功耗射频收发控制器,具有出色的灵敏度和高选择性,支持多种无线频段,具有低功耗、低成本、高度集成、通信稳定等特点,适用于诸如工业监测、智能家居、智能城市等多种物联网产品的研究与开发[8]。本文选择KW01Z128芯片,既能满足对主控器低功耗的需求,也能避免增加独立射频收发器的不便。

Wi-Fi模块采用集成ESP8266芯片的无线模块,该模块载波频率为2.4 GHz,通信距离可达100 m,支持串行通信UART,支持IPV4、TCP/UDP和HTTP/FTP网络协议。KW01Z128通过UART与Wi-Fi模块通信。

2.2 通信模块电路设计

通信模块电路设计作为本文电路设计的关键,分为两个部分,433 MHz频段无线通信模块电路设计和Wi-Fi模块电路设计。

射频收发器集成在KW01Z128内部,所以该模块电路设计包括KW01Z128最小硬件系统和射频前端电路,如图3、图4所示。射频前端电路需要适配433 MHz的载波频率,进行阻抗匹配并留出天线接口。

图3 KW01Z128最小硬件系统

图4 射频前端电路

Wi-Fi模块采用ESP8266芯片,模块原理如图5所示。使用RT9193-33稳压芯片为其提供稳定可控的3.3 V电压。

图5 Wi-Fi模块电路图

3 通信协议及软件设计

本文网关通信兼容433 MHz频段无线通信和2.4 GHz Wi-Fi通信,433 MHz频段无线通信使用适应性优化版本的ZigBee协议,2.4 GHz Wi-Fi通信使用TCP协议。依托上述协议,自定义可扩展通信数据格式并设计整个软件流程。

3.1 ZigBee协议适应性优化

ZigBee技术作为WSN短距离组网的关键技术,因其低功耗、低成本、短时延等优势[9],已被广泛应用于多个领域。但ZigBee协议作为复杂的通信协议适用于网络拓扑结构容易动态变化的场景,且ZigBee协议开发难度较大,导致网络的稳定性不高[10]。本文设计面向节点固定、拓扑结构并不复杂的工厂监测场景,对ZigBee协议进行适应性优化,旨在使节点间无线通信更稳定可靠快速。

传统的四层ZigBee协议分为物理层、链路层、网络层和应用层。对于每个网关管辖子节点固定且互不通信的场景,ZigBee协议网络层并未起到实际作用,且复杂的帧结构在降低组帧解帧效率的同时,也造成通信不稳定。为解决此问题,本文参考ZigBee协议分层思想,将网络层舍弃,并对余下3层进一步精简,保留必要字段。最终将无线通信协议分为物理层、链路层和应用层,如图6所示。应用层传输有效负载并明确数据包功能,链路层确定数据包始发地和目的地,物理层负责过滤地址并保证整帧的完整性。

图6 无线传感网络通信协议结构

应用层和链路层的封装均由KW01Z128编程实现,而物理层部分封装由RF模块自主实现。发送无线数据包时,按照应用层—链路层—物理层顺序逐次封装,接收数据包时,再按照物理层—链路层—应用层顺序解析。应用层的帧头帧尾确保实际有效负载完整,命令字及命令返回用来实现不同功能类型数据包的往来;链路层的帧号用来标识一定时间内该帧的唯一性,源节点地址用来确认返回帧的目的地,而目标节点地址则是确定本次拓扑路径的终点;物理层的硬件滤波地址用来过滤地址不匹配的数据包,CRC校验保证整个通信帧完整。

为测试ZigBee协议适应性优化后的性能,进行两组网关和传感器节点单播点对点通信测试,两组测试只有通信协议帧不同。传感器节点发送功率为13 dB,发送间隔为1 000 ms,波特率为100 Kbit/s,发送有效数据长度为1 B(按两个协议组帧后实际通信数据包字节不同),连续向网关节点发送1 000个数据包,统计网关接收到数据包个数及传输时间;同时改变节点间传输距离,比较不同传输距离下的协议性能。重复测试3次取平均值,对比结果如图7与图8所示。

图7 ZigBee协议适应性优化前后丢包率对比

图8 ZigBee协议适应性优化前后传输时间对比

图7的测试结果表明,在传输距离较近情况下,ZigBee协议适应性优化前后丢包率相差不大,优化后略好,但随着传输距离增大,ZigBee协议适应性优化后的丢包情况明显更好。图8中,ZigBee协议适应性优化后的传输时间略优于优化前。实验说明在节点固定、拓扑结构并不复杂的工厂监测场景中,使用本文设计的ZigBee适应性优化协议,通信更稳定,实时性更高。

3.2 数据格式约定

无论是433 MHz频段无线通信,还是TCP通信,数据包都面向字节流,通信双方需要就如何解读实际数据进行约定。根据实际场景不同,数据格式也有差异,本文在工厂监测场景下,给出了一套实用、可扩展的数据格式,如图9所示。

图9 网关通信的数据格式

UserData为网关上传数据至服务器的数据格式,其中NodeData既属于UserData的一部分,也是无线传感网络节点间传输数据的格式。UserData直接包含NodeData,提高应用程序自由度的同时也提高了数据格式的扩展性,能够更好应用于多种实际场景。

3.3 软件流程设计

使用3.1节的ZigBee适应性优化协议和3.2节的数据格式,并遵循模块化思想,软件按功能模块分为初始化、自适应、数据汇总、数据上传和接收服务器数据。软件主循环流程如图10所示。

图10 网关程序主循环流程

网关上电后,初始化UART、SPI、RF等外设模块,实例化UserData结构体对象getdata,读取Flash中网关配置信息并配置网关,初始化Wi-Fi模块,接入网络并建立TCP连接。

自适应,即网关对于传感器节点增删的自主感知。首先从网关可配置信息中获取预设可能存在的传感器节点地址,通过433 MHz频段无线向可能存在的传感器节点发出请求,并通过同样的通信方式来接收传感器节点的回应,最终确定该网关管辖有效节点地址和个数。

网关采用请求-应答的方式进行数据汇总,设计使用分组双驱动滑动窗口机制。如图11所示,分组双驱动滑动窗口是在对有效节点分组基础上使用两种驱动条件来进行右向窗口滑动,一种是窗口最左侧对应的已请求节点收到了应答,另一种为最长等待应答时长耗尽。自适应结束后,网关管辖有效节点地址和个数已知,设定每组大小为10,窗口大小为5。首先将当前组的有效节点地址和个数填入getdata的对应字段,向窗口范围内也就是列表前5个节点依次发送请求,等待传感器节点应答,若收到窗口内最左侧节点的应答或最长等待应答时长耗尽,则窗口向右滑动一位,向第6个节点发送请求,以此类推,直到该组10个节点请求完毕,其间收到的传感器数据直接填入getdata。此时,若有未能收到应答的节点,则暂停滑动窗口,开始重传。对于首次请求未能应答的节点,再次进行请求,此次请求不再使用滑动窗口,而是逐个发出请求并等待应答,若还是有未能应答的节点,在该组第2次问询全部结束后,发起第3次请求,依旧是逐个问询。若总计3次请求都未得到节点回应,则认为该节点丢失,最终在人机交互程序中给出提示。至此,该组节点的数据收集完毕,继续进行下一组,滑动窗口重新开始滑动,直到所有有效节点收集完毕,一次完整的汇总周期结束。这样大大地提高了通信的可靠性,适用于低实时性、高稳定性要求的场景。即使每组传感器节点未能全部应答,人机交互程序也可以根据网关上行数据帧中有效节点个数及有效节点地址字段与传感器数据的对比结果判断节点失联情况。

图11 网关请求数据的双驱动滑动窗口机制

数据上传以数据汇总过程中的分组为单位,每组数据收集完毕时,getdata也更新结束,随即进入该组数据上传阶段。网关与服务器间的TCP连接在程序流程多处进行判断重连操作,从而保证通信双方连接稳定。主控器将完整数据帧getdata通过UART发送至Wi-Fi模块,Wi-Fi模块将其按照TCP协议封装后发送给服务器,若未发送成功,则认为TCP断开连接,重连后再次发送,如此3次后还是未能发送,则认为发送失败,该组发送流程结束。发送结束后,清除getdata填充数据,为下一帧数据做准备。为解决Wi-Fi模块死机,主循环每999 s主动断开后重连TCP,若3次建立连接失败,则判定Wi-Fi模块死机,重启Wi-Fi模块。

网关接收服务器数据属于整个框架中数据下行的重要部分,用户利用交互程序按照双方约定数据格式组帧后发送给网关,Wi-Fi模块接收数据,触发UART中断,主控器在UART中断中接收数据并执行对应命令,结束后继续执行中断前操作。

4 网关通信性能分析

本文网关性能测试中,网关与传感器节点都基于KW01Z128硬件平台。

4.1 网关整体通信性能测试

为测试网关整体性能,搭建1个网关和10个传感器节点的自组网,服务器运行侦听程序,通过网关收集传感器节点数据,并上传至侦听程序,检验网关从收集数据到上传数据的整体通信性能。

通过网关连续收集10个传感器节点的 1 000个数据包,保证所有节点正常运行,统计接收、丢失、错误数据包的数量;改变网关与传感器节点的平均距离,测试网关整个通信过程中收发数据的性能。进行3次测试后取平均值,实验数据如表1所示。

表1 网关整体通信丢包率和误包率测试

可以看出,该网关实现预期设计目标,测试效果良好。随着传输距离增加,丢包率与误包率也随之增大,但增长幅度仍在可控范围内,通信的稳定性、可靠性都有保障,完全可以满足工厂监测场景的需求。

4.2 网关无线组网通信性能对比

网关整体通信的性能主要取决于无线组网通信及Wi-Fi通信的性能,其中无线组网通信尤为关键。为了进一步体现本网关通信稳定、可靠、及时的优点,对无线组网的通信性能进行分析比较。

将本文网关与文献[11]设计的ZigBee+Wi-Fi网关进行对比,搭建与之相同的测试环境,来比较两者无线组网通信的丢包率和误包率。搭建1个网关与3个传感器节点的自组网,通过网关连续循环向传感器节点发送100个数据包,统计接收、丢失、错误数据包个数,同时改变传输距离,测试不同距离下的丢包率与误包率。需要指出的是,该项对比实验结果是进行20次测试后所得的平均值。

图12与图13给出了本文与文献[11]的网关无线组网丢包率与误包率变化曲线的对比。如图12所示,本文的无线组网通信丢包率在10 m到80 m距离范围内低于文献[11],显然本文的无线组网通信稳定性更高。如图13所示,本文的无线组网通信误包率虽然在10 m处略高于文献[11],但在该距离,两者的误包率都非常低,且在15 m到80 m距离范围内本文误包率明显更低,因此本文的无线组网通信可靠性更高。

图12 不同网关无线组网丢包率变化曲线

图13 不同网关无线组网误包率变化曲线

文献[12]和文献[13]都在各自提出的无线组网方案上对网络中的数据传输时间进行了测试。使用本文网关搭建与它们相同的测试环境,使用1个网关与5个传感器节点组网(总计6个节点无线组网),每个传感器节点依次向网关节点传输100个数据包,网关节点对传感器节点的传输时间进行测试统计,测试3次取平均值,对比结果如图14所示。

图14 不同方案无线组网数据传输时间曲线

实验结果分析可知,无线组网网络数据的传输时间受传输距离影响,传输距离越大,传输时间越长。三者的传输时间都维持在毫秒级,本文的传输时间虽然比文献[12]略高,但明显优于文献[13]。因此,本文的无线组网网络传输时间虽然未能达到最优,但是完全能够满足工厂监测实际场景的实时性要求。

5 结 语

本文设计一款基于Wi-Fi技术的无线传感网通信网关。通过对ZigBee协议的适应性优化,改善传统ZigBee协议稳定度不足的问题,提高网关433 MHz频段无线通信的稳定性。并在此协议基础上,设计数据格式和软件流程,实现具有可行性与适应性的网关整体方案设计。测试结果表明,该网关能够更稳定、可靠、及时地完成数据上下行,满足实际需求。目前,该设计已在某工厂EHS(Environment、Health、Safety)监测系统中成功应用。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!