摘 要:随着物联网的迅猛发展,物联网设备正呈现出爆发式增长。采用ZigBee技术进行数据采集的应用场景越来越多,随着数据量的激增,ZigBee构成的无线传感器暴露出高能耗、低带宽、高冲突等缺点。该文基于Wi-Fi和WSN共用2.4 GHz频段的特点,设计一种跨协议通信算法实现ZigBee节点和Wi-Fi节点之间直接通信,使得ZigBee节点专注于数据采集,Wi-Fi节点则实现数据传输,从而解决了传统物联网存在的以上问题,并把该算法用于温度采集系统。
关键词:物联网;ZigBee;Wi-Fi;跨协议通信;温度采集
中图分类号:TP274 文献标识码:A 文章编号:2096-4706(2020)21-0174-04
A Temperature Acquisition System Based on Cross Protocol Communication
LI Xiaoyu
(Dalian Rongke Power Co.,Ltd.,Dalian 116025,China)
Abstract:With the rapid development of internet of things,internet of things equipment is showing explosive growth. There are more and more application scenarios using ZigBee technology for data acquisition. With the rapid growth of data volume,ZigBee wireless sensor(WSN)has exposed the shortcomings of high energy consumption,low bandwidth,high conflict and so on. Based on the characteristic that Wi-Fi and WSN share 2.4 GHz frequency band,the article designs a cross protocol communication(CTC)algorithm to realize the direct communication between ZigBee node and Wi-Fi node,which makes ZigBee node focus on data acquisition and Wi-Fi node realize data transmission,so as to solve the above problems of traditional internet of things,and applies the algorithm to temperature acquisition system.
Keywords:internet of things;ZigBee;Wi-Fi;cross protocol communication;temperature acquisition
0 引 言
物聯网技术的迅猛发展使得物联网设备呈现出爆发式增长。运用ZigBee技术进行数据采集的情况越来越多。然而,随着数据量的猛增,ZigBee构成的无线传感器(WSN)具有的高能耗、低带宽、高冲突等缺点暴露出来。
目前Wi-Fi和ZigBee技术共用ISM频段(2.4 GHz)。所谓的ISM频段是指:工业的(Industrial),科学的(Scientific),医学的(Medical),各国共同遵循的某个频段为上述三个行业机构使用,而不需要许可证或费用。但是随着智能家居、智能医疗、工业监控等技术的不断发展,物联网的规模变得越来越大。显然上述技术共用一个频段,必然会导致频谱资源拥挤和短缺,也会造成不同技术之间存在竞争和干扰问题。在实际环境中,Wi-Fi和ZigBee相互干扰实验结果表明,不同的Wi-Fi流量负载下,ZigBee网络的丢包率在0%到85%之间变化。但是在这些不同的无线通信技术中,传统的网络协调方法并不能完全适用(如RTS/CTS、TDMA等)。
为了协调这些技术,解决竞争和干扰问题,科研工作者提出了许多解决方案。一种传统方式是,科研工作者采用一种特殊的网关来桥接不同的通信技术。以Wi-Fi和ZigBee为例,这个网关需要同时具有Wi-Fi和ZigBee接口,并且为了实现这两者之间的数据交互,内部需要对接收到的数据包进行解码,然后再编码成另一种技术的数据包发送出去,这样就可以实现这两种技术之间的通信。通过这种网关的方式,不同的通信技术之间可以进行协调和协作,利用不同通信技术的特点,实现更好的服务。显然,这种方式存在着一些缺点:首先是这种方式需要设计和实现这种网关,增加了硬件生产的成本和维护成本;其次,如果网络的节点数目巨大,如ZigBee网络,那么这个网关就可能成为整个网络中的流量瓶颈,使得整个网络的服务质量下降;另外,如何部署网关节点也是一个重要的研究问题。另一种方案则是采用了一种称为“反向散射”的方法。这种方法主要包括一个特殊的无源标签和一个发射接收器。其基本原理是无源标签接收从发射器发射出的能量,然后调制出相应的信息并散射出去,而接收器对反向散射信号进行解码。BackFi通过这种方式实现了Wi-Fi和IoT传感器之间的交互。其基本操作方式是Wi-Fi可以和普通的用户端进行通信,但同时能够对IoT传感器上配备的无源标签调制的信号进行解码,从而对IoT传递的数据进行恢复。由于其仅是依靠无源标签实现二者交互,相较于上面的网关方式,需要的功率几乎可以忽略不计。但是这种方式同样会增加硬件成本。
本文则采用跨协议通信(CTC)解决以上问题。CTC是在已经生产商用的物联网设备上实现了它们之间的直接通信,即使它们之间遵循的是不同通信协议。这大大降低了生产专用硬件的成本,而且无需再在现有的网络维护上添加成本,同时也不需要改变网络的部署方式。显然,跨协议通信更加适合物联网设备的应用场景,并且能够和已经存在的数以十亿计的设备兼容。总之,跨协议通信就是指在不添加或者补充额外硬件的情况下,实现在相同频段的不同通信技术之间的直接通信。
大连融科储能技术发展有限公司为主要从事储能解决方案及液流储能电池工程化、产业化的高技术企业,建有液流储能电池研发中心和中试生产车间,目前公司需要采用物联网节点检测车间设备的运行情况,因此本研究可以解决车间物联网数据的高效传输问题。
1 系统设计
1.1 系统概述
该系统包含ZigBee发送端和Wi-Fi接收端,如图1所示。ZigBee发送端对要发送的“0-1”信息按照设计的编码方式进行编码,然后采用编码所对应的发射功率发送数据包。Wi-Fi接收端运行解码器,将计算得到的RSS数据通过RSS识别器对发送的ZigBee数据包进行识别,然后进行解码得到对应的消息,从而知道ZigBee发送端传输过来的信息。
1.2 ZigBee发送端
CC2530大约有16种发射功率。一个简单的想法就是一种功率表示一种状态。那么16种发射功率可以表示的数据为0000~1111。但是由于环境噪声的影响,Wi-Fi端很难精确地識别每个发射功率等级(其实CC2530本身发射功率等级之间相差也不大),所以这种方式太过理想化。
为了能够实现高吞吐率,尽可能地在单位时间内多传输数据,同时保证Wi-Fi接收端足够准确地对其进行识别解码,本文考虑利用发射功率之间的变化来构建“0-1”数据。即两个ZigBee数据包之间的能量差足够大的话表示符号“1”,两个ZigBee数据包之间的能量差足够小的话表示符号“0”。如果存在n+1个ZigBee数据包,使用这种方式可以传输n个比特数据。图2所示为该编码方式编码“100110”的情形。
1.3 Wi-Fi接收端
Wi-Fi接收端包含两个重要的模块:RSS识别器和解码器。RSS识别器模块主要采集并识别ZigBee节点发送过来的信号强度;而解码器模块则把ZigBee节点发送过来的经过编码的信号还原成原始信号。
1.3.1 RSS识别器
Atheros公司的Ath9k网卡提供内建的频段扫描功能,可以对指定的频段进行监测扫描,并计算RSS。可以通过下列公式计算信号的RSS,公式表示的是Wi-Fi第i个子载波的大小。
其中,nf为环境噪声大小,RSSI为网卡计算所得,b(i)为第i个子载波功率大小。
本文采用无监督学习K-means聚类方法对不同能量值数据进行处理,提出了一种基于时域和频域特点的简单轻量级的识别ZigBee数据包的双向阈值法,该方法可以清晰地分辨出哪些是高能量的ZigBee数据包,哪些是低能量的ZigBee数据包。
无监督学习方法不需要知道数据的特点,通过学习找到其中的规律,通过数据之间的内在联系和相似性将它们分成若干类。在所有无监督学习方法中K-means方法在处理本研究场景数据时表现得最好,识别ZigBee数据包的准确度最高。
图3(a)为数据的时域(T)表示,无论是高能量或者低能量数据包都会存在一个跃升和下降,并且存在一定的时间长度。因此我们可以利用前后两个时间点的差值来构建阈值。只要满足阈值,那么我们就可以确定ZigBee数据包的开始部分和结束部分。
图3(b)为数据的频域(F)表示,无论是高能量ZigBee数据包还是低能量数据包,RSS都呈现出一种“山峰”的形状。为了能够将其他不需要的信号过滤掉,我们首先利用贝塞尔曲线方法将折线光滑化,再通过计算位于ZigBee信道两端的曲线斜率。只要左端斜率足够大,右端斜率足够小,那么就可以认为这是一条ZigBee数据。
1.3.2 解码器
(1)解码窗口大小确定。由于环境不同,参数设置不同,解码窗口都会发生变化。为了增强系统的普适性,减少人工操作和部署难度。本文提出了一种基于初始化的方法来确定解码窗口大小。具体流程图如图4所示。在得到窗口大小之后,显然解码窗口大小也是波动的,因此需要计算合理的偏移量,才能增强整个系统的鲁棒性。本文通过大量实验发现,大部分的解码窗口大小波动在[0,2]的范围内,因此可以设置偏移量的大小为2。
(2)解码过程如图5所示。计算得到RSS平均值之后,维持一个缓冲区,每当有ZigBee数据包RSS平均值得到之后,加入到其中。当缓冲区满了之后,开始计算前后值之差,如果差值满足之前编码设计(大的能量差表示符号“1”,小的能量差表示符号“0”),将结果“1”或“0”输出到符号队列SymList。Wi-Fi接收端直接从SymList中取出符号重构ZigBee发送端发出的消息。
2 实验演示
为了展示该系统框架的有效性,本节选择ZigBee端对实时温度进行监控,在ZigBee端监测到温度之后,通过选择编码方式将温度数据发送出去;而与此同时,Wi-Fi运行解码程序,将ZigBee端发送过来的数据进行解析并展示。我们在联想G50笔记本和商用ZigBee芯片CC2530上实现了上述系统,其中G50笔记本上运行的是Ubuntu 16.04系统并自带Atheros公司的AR9565网卡芯。场景图和结果图如图6、图7所示。
3 结 论
针对公司采用物联网节点检测车间设备的运行情况所需解决车间物联网数据的高效传输问题,文章综合考虑Wi-Fi和WSN共用2.4 GHz频段的优点,实现了数据采集以及数据传输的功能分离。本系统中,ZigBee节点用于数据采集,而Wi-Fi节点则实现数据传输,从而解决了公司物联网存在的问题。并且本论文把该算法用于温度采集系统验证了算法的有效性。下一步工作将会在真实的车间环境下实现CTC系统,实现数据的大规模传输。
参考文献:
[1] VIVEK G V,SUNIL M P. Enabling IOT services using WIFI-ZigBee gateway for a home automation system [C]//2015 IEEE International Conference on Research in Computational Intelligence and Communication Networks (ICRCICN).IEEE,2015:77-80.
[2] GUO X Z,HE Y,ZHENG X L,et al. ZIGFI:Harnessing Channel State Information for Cross-Technology Communication [J].IEEE/ACM Transactions on Networking,2020,28(1):301-311.
[3] KIM S M,HE T. FreeBee:Cross-technology Communication via Free Side-channel [C]//Proceedings of the 21st Annual International Conference on Mobile Computing and Networking.New York:Association for Computing Machinery,2015:317-330.
[4] JIANG W C,YIN Z M,KIM S M,et al. Transparent cross-technology communication over data traffic [C]//IEEE INFOCOM 2017 - IEEE Conference on Computer Communications.IEEE,2017:1-9.
作者简介:李晓宇(1980.06—),男,汉族,黑龙江延寿人,重大项目管理部部长,硕士研究生,研究方向:储能项目管理、控制等。