基于双向Sub-G芯片的无线MESH软件系统开发

2020-12-01 03:15杨振张珣
软件导刊 2020年10期

杨振 张珣

摘 要:目前物联网智能设备种类繁多,但设备性能缺乏统一标准,对多物联网终端互联与控制造成了一定困难。因此提出MCMI与双路径并发的自动跳频Mesh组网方案,结合用户控制端,设计基于双向Sub-G的无线MESH智能家居控制系统。Mesh结构为3层终端间通信,第一层与第二层构成星形拓扑,第二层与第三层构成多连接树形,较之一般Mesh结构,更加简洁且降低了硬件要求。通过MCMI与双路径并发的信号传输方式,消除了无线网络信道干扰,信号稳定性提高50%。为应对各厂商协议不统一难以成为一个完整系统的问题,设计上层专有协议以克服技术差異化。该系统经过测试,运行稳定、性能优秀、可信赖度高,并且协议还预留自定义接口,拥有一定的拓展能力。

关键词:Sub-G频段;智能照明;Mesh组网;网状拓扑;自动跳频;差分加密

DOI:10. 11907/rjdk. 201176

中图分类号:TP319文献标识码:A 文章编号:1672-7800(2020)010-0209-05

Abstract:There are many types of IoT smart devices on the market today, and there is no certain uniform standard, which has caused some difficulties in the interconnection and control of IoT terminals. This system proposes a scheme of MCMI and dual-path concurrent automatic frequency hopping Mesh networking. Combined with the user control end, a wireless MESH smart home control system based on two-way Sub-G is designed. The Mesh structure in this paper is communication between three layers of terminals. The first layer and the second layer form a star topology, and the second layer and the third layer form a multi-connection tree. Compared with the general Mesh structure, it is more concise and reduces the hardware requirements. MCMI and dual-path concurrent signal transmission methods eliminate channel interference in wireless networks and increase signal stability by 50%。 In order to cope with the inconsistency of the protocols of various manufacturers and become a complete system, a proprietary protocol at the upper layer was designed to solve the technical difference. This system has been tested and runs stably, with excellent performance and high reliability, and the protocol also reserves custom interfaces, which has certain expansion capabilities.

Key Words:Sub-G frequency band; intelligent lighting; Mesh networking; Mesh topology; automatic frequency hopping; differential encryption

0 引言

近年来,随着无线通信技术的快速发展,模块成本大幅降低,物联网和智能家居产业蓬勃兴起,用户对控制系统的品质要求越来越高。建立将智能家居终端连接起来的智能设备组网控制系统,可实现设备点对点或集群控制[1],提高设备性能。便捷、高效且成本合理的无线组网系统应用价值较大。

在已有研究的基础上,考虑到家庭结构中智能家具设备分布情况,选用穿墙能力和功耗更有优势的Sub-G频段。薛文艳[2]分析无线自组织网络节点发现,可根据路径长度、稳定性、状态寻找一条最优路径,因此将各智能设备以一定的拓扑网络进行组网,使设备间通信更有结构性;胡雷等[3]对Mesh控制性能进行了研究,通过三级拓扑的Mesh网络技术,加强了信号数据传递准确性,为确保整个组网系统准确性、动态性可靠性和安全性,引入MCMI与双路径并发的信号传递方式,以保证信号高效性稳定性。因此组网结构由投放节点、运输节点和目标节点三节Mesh结构组成,并加入MCMI与双路径并发,消除信道干扰,避免通信延时与无线链路不稳定带来的问题。根据李明明[4]对差分分析的研究,出于安全考虑使用Manchester差分加密算法,且计算储存资源开销小,可以安全高效地进行无线数据传输。

家庭智能家居设备种类繁多,难以统一控制不同品牌的产品。为实现便捷化控制,本文提出基于双向Sub-G芯片的无线MESH软件系统,解决不同品牌智能设备控制方式差异化问题,提高用户便捷性与设备高效性。

1 系统结构概况

本文系统采用MESH组网系统,该通信网络基于Sub-G频段,在网关与终端之间可自动组网形成网状拓扑网络,通过移动端或PC端页面进行交互,使用户端与设备通信,以实现对智能家居、开关系统等的控制。控制流程如图1所示。

2 系统硬件设计

2.1 系统主控电路

本文对照市场上不同的射频芯片,搭建控制系统,考虑到实际使用时设备数量与精确度对成本的影响,系统以低成本、计算效率高的BQ3905作为系统主芯片。BQ3905是一款低功耗的宽频带FSK 单芯片无线收发器,主要针对304-316、430-440、470-510、860-880和900-930MHz的Sub-G频段。BQ3905使用时分双工收发器,进行设备交替发送和接收数据,并支持数据流模式或数据包模式。该芯片具有高集成度的特点,芯片工作电压范围在1.9~3.6之间,其低电流的特点使芯片非常适应于便携式应用。本文系统选用BQ3905的433MHz频段进行无线组网通讯,BQ3905无线模块电路设计如图2所示。

2.2 节点控制模块

该模块利用UTF87001芯片,获取输入信号,并输出状态数据反馈给控制器。电路如图3所示。

2.3 网关控制模块

系统采用松翰公司的BQ3905芯片,该芯片拥有强大的性能与数据处理能力,因为需连接Wi-Fi网络,所以网关控制模块选择USR-C322芯片,该芯片作为Wi-Fi控制芯片,除可转化串口电平使其符合Wi-Fi无线网络通信标准,还连接运营商网络。控制芯片采用SN8F5708,用于串口通信。

2.4 灯控测试模块

本文系统选用LM78Wi-Fi灯控模组用于测试,该模组相比于其它产品封装尺寸更佳,同时带有PWM 调制技术。该智能灯模组在LED灯屏、灯珠控制、数字显示网屏上有较多应用,并拥有丰富的语音控制接口。

3 系统软件设计

3.1 软件控制流程

打开开关后,各节点设备初始化进行故障自检,等待接收客户端控制信号。在接收到控制信号后,通过本文系统采用的通信协议,读取信号报文信息[5],判断该信号是否为有效信号。若为有效信号,则寻找一级运输节点,即投放节点,此时设置广播数据包延时为20ms,并设置接收模式的延时为2s,开始持续接收返回的应答信号;若未接收到应答包,则持续等待应答数据[3]。软件主要控制流程如图4所示。

3.2 组网构建

将组网各个节点分为3级,即第一级投放节点、第二级运输节点、第三级目标节点。三级组网结构如图5所示。

组网结构为树形拓扑结构,第二层(运输层)各节点之间又构成星形拓扑结构[5],星形结构由中心节点进行信息支配,使终端设置适应性更强且更加灵活;而第三层(目标层)采用多连接树形结构,该结构拥有完整的普通树形结构的父子层级管理,又兼具星形拓扑广度,在实际路由过程中可减少进行三级路由的最佳路径算法运算量,在各设备具有强链接节点且集中执行的情况下[6],兼顾成本与传输性能。

为了使通信结构简洁、稳定、灵活度高[7],因此3层深度的组网协议每层节点等级不同,按照等级高低,严格控制当前层级功能。第一层节点通过接收到的客户端控制信号,下达组网建立消息,并收集子节点反馈信息;第二层节点负责转发控制信号,其中包括投放节点、同级节点信号的传递,本级节点状态对上级节点的回馈以及向目标节点下发信号,属于组网协议中最核心的信息中转传递层;最底层目标节点只有信息接收处理、同级信号传递与向上级发送反馈信息3种转发方式。

3.3 专有协议设计

本文根据物联网设备无线通信的数据模式,结合已有协议,设计一套严格的管控标准[8]协议。协议包括语法(数据包结构与格式)、语义(通讯时约定应答编码)、时序(解析顺序)3要素。

数据包由包头和数据负载构成。数据包包头和负载结构均为4字节,每个字节长度8位,结构如图6所示,4个字节分别存放不同信息。在包头部分规定数据包验证信息,作为节点数据通信时校验规则,以此防止接收方与发送方因不同步而导致丢包;数据负载则依次是用户在发送端的控制指令编码,接收设备反馈信息或终端传感器状态编码。

系统协议中的头尾序列与大部分协议在一帧报文中的一致,均用于报文同步;设置上一跳、下一跳的地址,用于当前节点与其它节点之间的报文传递;报文携带源地址和目标地址信息,用于定位来源与传递的目的地;通过数据申明与描述符,判断数据类型。

除此之外,协议中加入了对同一报文转发次数的限制,以此限制报文转发次数上限,避免“三角转发”。若转发次数达到上限,则将该报文丢弃[5],视作不可达。

3.4 Floyd最佳传送距离算法

本文系统通过用户端发送信息,通过投放节点、运输节点逐级传递到目标节点,由于系统采用网状拓扑,所以可根据信息传递路径规划,获取最佳传递方案,增加控制效率。

因为用户所处位置不同,所以负责信息传递的一级节点也不一定相同。将系统投放节点视为彼此不同源。传统Dijkstra算法[9]仅针对点对点的单源最短路径规划,非同源出发的路径规划无法采用该算法,因此本文采用针对多源路径进行动态规划的Floyd算法。Floyd可以看做多次从不同源分别进行一次Dijkstra路径规划。

Floyd算法需求出某点到达任意一点的最短距离,将其视为通过变换得到的最优协调路径[10]。首先根据节点分布情况,利用邻接矩阵建图,如图7所示[11]。

map[i][j]表示点i到点j的距离,将map[i][i]设为0,倘若有i无法到达的点,则将距离设置为∞(无穷大),若要令图上任意一个顶点(如a顶点)到另一个顶点(如b顶点)的路程更短,需引入第3個顶点k,再经过所引入的节点k进行中转,即a->k->b,便可缩短从顶点a到顶点b所需的路程。在a顶点和引入的k节点之间与引入的k节点与b顶点之间,如果还存在可使路程更短的中转点时,即可以此递归,引入多个节点,即a->k1->k2->b或a->k1->k2…->ki…->b。如图4号顶点到3号顶点(4->3)的路程map[4][3]原为24。若经过1号顶点中转(4->1->3),路程将缩短为23(e[4][1]+e[1][3]=11+12=23)。与此同时,1号到3号顶点经过2号顶点中转后,也使得1号到3号顶点的路程缩短至11(e[1][2]+e[2][3]=4+7=11)。因此在通过1号和2号两个顶点中转之后,从4号顶点到3号顶点的路程会进一步缩短为22。由此可以推测,每个节点均有可能使另外两个顶点的距离变短。假设先以1号顶点为例,只有一个中转点。将建好的图用表格表示,如图8所示。

此时,两点间最短距离的路程发生变化。因此,只需判断:

map[i][1]+map[1][j]

再引入第二個中转点,如引入顶点1时按照同一流程比较,若路径更短,则改变表中路径值。因此,只需不断遍历每一个点:

for(int k=1; k<=n; k++)

for(int i=1; i<=n; i++)

for(int j=1; j<=n; j++)

if(map[i][k]+map[k][j]

map[i][j]=map[i][k]+map[k][j];

比较该点作为节点是否小于暂存的最短路径,若是则更新该点作为中转点最短路径值。Floyd算法通过将求解距离通过中转点不断划分,最终求得最短距离[12]。

3.5 跳频自动Mesh组网

因为智能家居设备繁多,家庭区域较小,为了使系统在无线网络中可高性能地部署,本系统采用多信道多接口[13]和双路径并发进行数据传输,避免因Mesh网多跳性引发节点相互干扰而导致的通信时延与无线链路不稳定导致的数据丢失。

MCMI技术分派正交信道给链路,应确保没有残留的相同信道在干扰域[14],同时经过双信道路径并行发送,在相同源和目的节点上设置两条不相交的路径[3],将控制信号沿着两条不相交的路径同时传输,目的节点接收最先到达的数据,由此可减小因网络异常而导致中断的概率,提高系统稳定性。

本文系统Mesh网络跳频自动传输流程为:①在客户端发出控制信号,控制信号通过投放节点把同一个信号封装为两个包,并将其发送到预先设置的两个节点不相交的路径之上进行传递[15];②运输节点从先前设立的路由表读取下一跳节点,同时按照传统转发方式进行控制信号传递;③目标节点接收到任意路经传来的信号后,先自检是否重复接收。若是,则丢弃该包并清除缓存;若否,则立即响应信号。

3.6 加密算法

本文系统采用无线通信的方式进行信息交互,因此保证信号传输安全性尤为重要[16]。设备部署在无线环境中,易受到多种安全攻击侵害[17]。因此协议利用一种阶数可变的边沿检测型加密算法——Manchester差分编码。Manchester编码的优势在于跳变可传递同步相位信息,但其安全性不如差分编码。差分编码配置迭代的阶数进行加密[18],但因此运算量过大,占用硬件资源过多,数据传输速率只有调制速率的一半。通过改进,本系统组网协议采用Manchester差分编码进行加密,从时钟周期1/2处跳变,用时钟周期起点电平变化与否表示0或1,当有跳变帧时对应编码为1,无跳变帧时对应编码为0。在设备对原信息解码时,只需知道第一位数据与每两位数据跳变信息即可解码原信息,极大提高运算效率,降低硬件需求,且能保证信息传递过程100%不损失。该算法通过加入一种约定的加密阶数避免简化带来的风险。终端在刚入网时获得一个随机的Manchester差分加密阶数,并以此阶数通信,终端获得的Manchester差分加密阶数会在重启或到达设定时间时自动变换,以一种类似动态密钥的方式进行数据加密[19],生成新的Manchester差分加密阶数,确保系统安全性。

4 系统测试

本文采用的方案是模拟家庭照明系统控制,因此以射频信号与设备控制功能作为要点进行检测。

4.1 射频信号测试

在Sub-G混合组网中,每一个运输节点与目标节点智能终端均装有控制节点设备。因此第一步检测设备信号是否正常,测试如图11所示,射频信号正常。

4.2 设备控制功能测试

首先进行3层组网节点测试。通过手机客户端控制节点,通过设置手机端控制信号,可实现对范围内电灯明暗状态控制,指定亮灭控制。

为测试兄弟节点直接转发性能,分别对二级相应节点进行拆除。试验发现,即使拆除二级节点,依然可以通过兄弟节点将控制信号传送至目标节点。为测试多信道功能,分别对各信道配置0.5s延迟并进行测试,分别发送各灯亮度递减30%的信息,灯在亮起后逐渐变暗,各信道均可实现对子节点的状态控制。部分实验过程如图12所示。

5 结语

本文创建了一个基于双向Sub-G自动跳频功能的混合自组网家庭网络控制系统。该系统可在用户家中现有网络资源里进行最大程度的资源整合,通过Sub-G组网实现家庭智能终端之间的通信,如果家庭外部网络想控制手机客户端,则可通过网关中Wi-Fi模块与运营商网络联系[20]。与此同时,系统设计的上层通信协议可用以实现网络间通信,通过协议优化数据传输,改进家庭控制系统。本文试验未加入更加复杂的设备及相应组网结构测试,在后续研究中将定制并加入不同的智能设备进行测试。系统目前没有记录用户使用情况并进行数据分析,因此下一步会增加自动远程与智能检测[21]研究。

参考文献:

[1] 钱程,韩太林. 移动终端下的只能家居控制系统设计及应用[J].  中国新通信,2016(20):108.

[2] 薛文艳. 一种无线自组织网络的路由设计与实现[D]. 南京:东南大学,2019.

[3] 胡雷,杨剑锋,郭成城,等. 多信道无线Mesh控制网中双路径并发性能研究[J]. 科学技术与工程,2015(4):150-154.

[4] 李明明. 典型轻量级分组密码算法不可能差分分析研究[D]. 郑州:中国人民解放军战略支援部队信息工程大学,2018.

[5] 张珣,殳佳辉. Sub-G下的自组网家庭智能照明系统的实现[J]. 物联网技术. 2019,(2):62-64.

[6] CHEN G, LI C, YE M, et al. An unequal cluster-based routing protocol in wireless sensor networks[J].  Wireless Networks, 2009, 15(2):193-207.

[7] 刘凯,章宇兵,陆洲,等. 一种面向分布式星群的混合拓扑[J]. 太赫兹科学与电子信息学报,2019,17(6):1086-1090.

[8] 伍晓平. 电力物联网信息模型及通信协议的设计与实现[J]. 电子世界,2020(03):165-166.

[9] 刘惠民. 图划分在路网最短路径查询中应用的研究[D].  合肥:中国科学技术大学,2016.

[10] ZHAO Y W,WU G Y,GUI F Z,et al. Optimal coordination path selecting method for conduction transformation based on Floyd algorithm[J]. Procedia Computer Science,2019(162):227-234.

[11] 吴亚峰,谭文安. 基于邻接矩阵的业务流程间距离计算方法[J]. 计算机工程,2018,(4):52-58.

[12] 吴海峰. 最短路径算法——Dijkstra及Floyd算法[J]. 中国新通信,2019,21(2):32-33.

[13] 刘健. 无线多信道多接口网络容量与性能研究[D]. 武汉:武汉理工大学,2014.

[14] WANG F,WANG Z D,LIANG J L,et al. [J].  Automatica,2020,115:108865.

[15] 劉芸,黄河,马帅,等. 无线Mesh控制网络中双路径并发可行性分析和时延估计[J]. 电子科学与技术,2017(4):37-44.

[16] 王冠中. 无线通信技术发展思考[J]. 无线互联科技,2015,(14):27-28.

[17] ZAHRAH A. ALMUSAYLIM A A,JHANJHI N Z[J]. Ad Hoc Networks,2020,101(2):17-27.

[18] 薛伟佳. 分组密码的结构与安全性研究[D]. 上海:上海交通大学,2017.

[19] 黎妹红,齐小晨,吴倩倩. 基于动态密钥的智能电网无线通信数据加密传输方案[J]. 信息网络安全,2019(12):10-21.

[20] ODARRESI A,SYMONS J. Modeling and graph analysis for enhancing resilience in smart homes[J]. Procedia Computer Science,2019(160):197-205.

[21] 严斌峰,胡博. 技术大融合时代智能物联前景可期[J]. 通信世界,2019(34):36-37.

(责任编辑:江 艳)