APP下载

一种多协议互操作智能网关的实现

2020-04-02陈丽芬叶迅凯赵鹏周中良储成诚李禹翔

家电科技 2020年2期
关键词:用户端智能网网关

陈丽芬 叶迅凯 赵鹏 周中良 储成诚 李禹翔

1.中国家用电器研究院 北京 100037;

2.安徽众家云物联网科技有限公司 安徽滁州 239000

1 引言

家居产品智能化的一种主要表现形式是用户可以控制家庭里的各种家电产品,现阶段各大相关企业实现产品智能化的主流技术方案是建立本企业的云端服务平台[1],让用户通过企业云来实现对家电产品的控制。但由于各厂商、各品牌之间存在竞争关系,各家企业基本都是对本品牌或者联盟内的产品做互联互通,无法连接其他厂商的产品,没有做到真正意义上的互联互通,主要技术壁垒是产品间通信协议的不兼容[2],而且这种现状还将持续,由此会给用户的使用带来很多不便。

基于上述市场现状,多协议互操作智能网关(以下简称“智能网关”)可以作为一种产品间实现互联互通的解决方案。它对接入的产品在厂商品牌上没有过多要求,对产品的接口类型也不做限制,支持多种通信协议类型(Wi-Fi、ZigBee、RS485、RS232等),同时还可以连接不同厂家的云端平台,是用户对智能家居产品实现控制的一个很好的中转单元。

2 智能网关架构及功能描述

智能网关的基本应用场景如图1所示,包含有云端、用户端、产品端三大部分,其中云端以家电领域行业性公共云服务平台[3]为例,配合用户端、智能网关、产品端共同实现了家电智能化的数据交互过程。

2.1 智能网关

设计的智能网关包含硬件和软件两个部分。硬件方面,它既可以挂载多种不同接口类型的产品,也可以提供与各企业云端平台之间交互的接口;实际应用当中,多个智能网关可以联合使用,共同实现对多种产品的控制,确保一个节点网络异常时,不会影响其他节点网络的使用。软件方面,首先,产品通过智能网关实现了在云端的注册、登录;其次,智能网关支持多种产品间通信协议的相互转换;在前两部分完成的基础之上实现了用户端控制指令的下发以及产品端状态数据的搜集上报功能,即实现了用户端对产品的远程控制。

(1)工程配置文件

在智能网关首次启动时,会从云端下载工程配置文件,里面包含有项目的楼层、房间、智能网关以及产品的基本信息,例如,网关的Mac地址、产品的Mac地址、产品的通信参数等。通过以上信息,智能网关和产品可以得到其在云端的唯一标识码,这个编码在全网是唯一存在的,是产品实现注册、登录以及控制的前提条件。

(2)功能描述文件

除工程配置文件外,网关首次上电时还会从云端下载功能描述文件,每个产品会配套2个描述文件,一个存储的是产品的自有属性,例如名称、采样数据等;另一个保存的是产品的通信协议,包含了通信过程中会用到的所有指令格式。这2个文件的内容是产品与智能网关进行通信的依据,也是智能网关实现多协议转换的基础。

产品在云端完成批量注册,并与云端成功建立连接后,智能网关与产品便可依据通信协议进行交互,实现多协议间的转换。网关会在设定周期内查询产品的状态并向云端上报,同时会接收从已建立连接的云端下发出的远程控制指令给产品,实现家居产品的智能控制。

图1 智能网关架构图

图2 智能网关硬件框架图

2.2 云端

(1)业务平台

如图1所示,业务平台提供的支持包括两部分,一部分是与管理平台对接的云服务,另一部分是与智能网关以及用户端对接的端接入。

云服务提供产品接入服务、开放的API接口、消息处理引擎、数据处理与管理端口,实现了数据的实时通讯、计算及存储功能。端接入包含了产品端(智能网关)接入以及用户端接入,提供的网络代理模块实现了智能网关与云端、用户端实时通信的功能,解决了产品联网、上报数据、接收指令等问题;IoT SDK能够协助用户端App、微信应用快速完成开发,无需关注底层业务。通过云端的接入使得业务平台为整个系统提供了完整的产品接入、控制以及管理的解决方案。

(2)管理平台

在管理平台上实现了用户登录、配置管理、产品管理、用户管理、系统用户管理、故障管理、消息推送管理、统计分析等功能。

其中,配置管理实现了工程项目的新建、智能网关的添加、产品通信参数的配置、情景模式的配置、自学习等功能。产品通信参数包括了Mac地址,通信数据的帧头、帧尾、帧格式,产品功能等信息,配置管理会生成配置文件供智能网关调用。产品首次配置后,配置信息会在后台数据库保存,再次添加同一型号的产品时,输入产品型号即可选择已配置过的内容,降低出错概率。配置文件一旦生成,若需再次修改,必须获得用户的授权许可。

设备管理中实现了用户与智能网关在管理平台的绑定,同时用户还可以根据产品的ID等信息在平台对产品进行搜索,查看产品的实时状态、历史记录、地理位置等信息,实现了对产品数据进行远程监控。

2.3 用户端

用户只需下载App或关注微信公众号,即可实现在手机端控制、使用终端产品,并获取产品信息。

3 软硬件实现

3.1 硬件架构

智能网关硬件主要由MCU模块、接口扩展模块组成,包括电源模块、接口模块、显示模块、输入模块、蓝牙模块等部分,框架如图2所示。

图3 智能网关部分原理图

(1)MCU模块

智能网关硬件是以嵌入式高性能MCU为核心,该芯片包含了丰富的片上资源:

①580MHz嵌入式内核,64KB指令缓存,32KB数据缓存;

②传统的802.11b/g和HT 802.11N模式;

③20/40MHz信道带宽;

④反向数据授权;

⑤5端口10/100快速以太网交换机;

⑥支持SPI,UART,JTAG,GPIO等;

⑦AP固件:Linux 2.6 SDK。

MCU的性价比也是选型时考虑的重要方面。

(2)电源模块

持续稳定的供电能力是硬件电路板正常工作的前提,设计的电源模块可以提供12V,2A的供电能力,通过降压的方式输出3.3V,5V电压。其中,5V的电压提供给USB接口使用,3.3V的电压给MCU模块以及大部分的接口模块使用。

(3)接口模块、接口扩展模块

接口扩展模块是对MCU已提供的接口类型进行二次拓展,增加可接入的产品类型。接口按照功能可划分为3种类型,分别是级联接口、外设接口以及内部调试接口。

①级联接口:用于智能网关的网络接入以及多个智能网关的级联操作。

WAN接口用于接入光纤,实现最顶端智能网关的网络接入,接口形式为RJ45接口;

LAN接口用于多个智能网关做级联,确保所有下挂网关都能够实现与外网的连接。现阶段支持4路LAN口链接,在实现网络拓扑分层的前提下减少因为层级过于深入导致整条线路上的通信异常。

②外设接口:用于产品的接入。

UART接口用于连接外界其他控制板;

RS485接口可以外接地暖、窗帘等设备;

USB HOST接口是为后续增加外部模块或者进行数据通信时使用,可以外接U盘或者其他外设;

SPI接口是串行总线接口,外部预留有4PIN端子,方便外接其他设备;

DIDO接口,DI接口用于接入干接点和湿接点数字量,DO用于进行开关控制,设计中预留了多个输入/输出接口;

ZigBee无线通讯模组通过UART接口与智能网关核MCU连接,扩展网关支持的网络拓扑。

③内部调试接口:用于智能网关的调试。

UART接口,通过测试点来查看当前日志信息以及当前产品状态。

(4)显示模块

使用LED指示灯表明智能网关当前状态,包含以下3种状态。

①网络状态指示灯,指示当前网络连接是否正常;

②电源指示灯,指示硬件板供电情况;

③异常状态指示灯,显示外接插件的功能状态。

(5)输入模块

智能网关的输入功能是通过按键实现的,按键按照功能可划分为两类,一类用来复位智能网关的Wi-Fi网络;另外一类是复用按键,单击进入配网模式,长按恢复出厂模式。

综上,设计的网关硬件部分原理图如图3所示。

图4 网关数据交互简图

图5 智能网关软件业务流程图

3.2 软件架构

智能网关软件的主要功能是实现用户端对产品端的控制,即将App的控制指令下发给产品,将产品的状态信息上报给用户,软件内部结构以及简要的数据交互示意如图4所示。

如图4所示,基于应用层提供的SDK,产品可以通过智能网关和云端进行数据通信及交互;硬件层负责与产品端进行通信;中间层充当了硬件层与应用层之间的桥梁,负责数据的解析,实现了产品协议的自动适配,如RS232转TCP、RS485转TCP、UART转TCP等,其中,涉及到接口及协议格式均符合相应国标中的要求。智能网关软件的业务流程如图5所示。

智能网关待接收的指令分为两类,一类是云端下发的控制指令,另一类是产品端上报的状态指令,不论哪一种格式的指令,都需要经过中间层的协议解析模块进行多协议的转换,再下发或者上报给对应的模块,完成App与产品的数据交互。

用户对产品的控制,主要的应用情形可分为以下两类:

(1)基本控制

用户通过App可以控制不同的产品,例如地暖、窗帘、排气、空调等。

图6 局域网通讯模型

图7 广域网通讯模型

图8 产品对象数据结构

每个产品可以实时上报数据,用户可以通过App看到以往的历史数据。同时,每次打开App都可以获取当前产品状态值,也可以查看当前产品是处于在线状态还是离线状态。

(2)智能控制

智能控制是指用户可以通过App控制家里的所有产品,因此,智能控制的实质是产品的联动控制。家庭安防是联动控制的主要应用场景,其核心是在智能网关的软件层面通过多种通信协议来管理和收集不同产品的信息,进而触发相关的事件,起到安防作用。智能网关在家庭应用中可以设置不同的安防模式,主要有以下几种:

①在家报警模式

在这种模式下,家里有人,如果产品当中的门磁或者移动传感器触发报警,智能网关根据收到的信号,可以通过LED灯或者扬声器来播放报警铃声,起到提示作用。

②离家报警模式

在这种模式下,家里无人,如果产品当中的门磁设备或者移动传感器设备触发报警,智能网关根据收到的信号,立刻和云端沟通,发送推送消息到App,用户在最短时间获取到报警信息,可以通过智能网关控制摄像头开启查看房屋状态,或者直接跟相关部门沟通,采取安全措施。

③夜晚模式

在这种模式下,家里有人但正在休息,如果发生报警,智能网关会通过自身扬声器或者LED灯发出提示,让家庭人员迅速起来应对突发情况。

④非报警模式

这种模式下,智能网关不会发送任何报警信息,即使产品触发报警,也只会在App推送一条消息。

4 系统应用验证

在硬件结构确定的前提下,智能网关软件的各部分功能是在实际应用中不断优化提升的,以下分别对网络模式转换以及产品管理的实现方案进行简明阐述。

(1)网络模式转换

不论是局域网环境还是广域网环境,都要确保用户对产品的控制。为应对外界网络模式的变化,在智能网关软件中设置网络双通道模式,即在广域网出现故障的情况下,离线模式仍可组成局域网使用App控制产品,确保每一种网络状态下网关都能正常使用。

局域网通讯是指App和智能网关处于同一个局域网内,通过TCP或UDP协议直接通信,通信模型如图6所示。

App与智能网关间的局域网通信主要包括以下过程:

发现操作:App发送UDP广播包,智能网关响应UDP广播包。同时智能网关上电后也会发送UDP广播宣告存在。App需要发现智能网关后才能与之做进一步交互。

连接操作:App发现智能网关后,与其建立TCP连接。

绑定操作:建立用户与智能网关的绑定关系。

登录操作:App与智能网关建立TCP连接后,需登录后方可操控产品。

操作产品:智能网关在设定周期内查询下挂产品的状态并基于TCP通道向绑定的App上报状态,同时会接收从绑定App下发的远程控制指令给产品。

广域网通讯是指智能网关与云端通信采用MQTT和HTTP两种方式通讯。HTTP方式主要完成智能网关注册、配置、OTA升级等功能,MQTT方式完成产品状态上报及远程控制指令接收的功能。通信模型如图7所示。

App与智能网关的广域网通信主要包括以下过程:

智能网关注册:首次上电时智能网关需要在云端注册,并得到唯一标识码。

智能网关配置:通过HTTP获取M2M服务器的地址和端口号。

OTA:智能网关每次启动时,向云端询问有没有新的固件可以更新。

状态上报和远程控制:智能网关主动与M2M服务器建立长连接并保持该连接,在周期内查询产品的状态并向云端上报,同时会接受从云端下发的远程控制指令给产品。

(2)产品管理

产品管理是指当网关下挂产品的种类或者数量发生改变时,例如,初次配置的智能网关下挂的产品包括兰舍新风机(RS485接口)、2路开关面板(Wi-Fi接口),由于需求变更,下挂产品更替为海林地暖(RS485接口)、智能插座(Wi-Fi接口)以及日光灯(DIDO接口),此时云端管理平台会对产品信息进行重新配置,生成新的工程配置文件以及功能描述文件,智能网关检测到文件内容发生改变会下载最新版本的配置内容,在软件中采用通用的数据结构来描述单个产品,并设计了产品管理器,多台产品通过链表的方式加入到管理器中,实现对下挂产品的统一管理。用到的数据结构及产品管理器如图8、图9所示。

图9 产品管理链表

5 结论

综上,本文提出一种多协议互操作智能网关的实现方式,给出硬件及软件的设计方案,并依据实际应用需求优化了软件结构,所设计的智能网关具有以下几点优势:

(1)支持多协议转换,包含DIDO、RS485、RS232、Wi-Fi等协议,对接入智能网关产品的厂商、品牌以及种类不做限制,做到真正意义上的互联互通和互操作。

(2)灵活度高,可以依据用户需求定制联动以及场景模式,能够满足不同应用场景的差异化需求。例如回家模式、离家模式、起床模式、睡眠模式、报警模式等。

(3)能够在云端实现产品的统一管理,方便用户增加、删除产品,灵活度高,适用于多种场所,例如居家、实验室、工业现场、大型别墅等环境。

(4)开辟网络双通道,既支持广域网控制也支持局域网控制,广域网出现故障的情况下,离线模式仍可组成局域网使用App控制产品。

猜你喜欢

用户端智能网网关
交通运输部:扩大新能源智能网联汽车应用
Android用户端东北地区秸秆焚烧点监测系统开发与应用
基于单片机的智能网控风扇设计
智能网联硬实力趋强
信号系统网关设备的优化
迎战智能网联大爆发
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
一种太阳能户外自动花架电气系统简介
LTE Small Cell网关及虚拟网关技术研究