基于BLEMESH网络智能家居的应用

(整期优先)网络出版时间:2019-03-13
/ 2

基于BLEMESH网络智能家居的应用

陈权,刘宇翔,杨玉婷,李皓瑜,杨红飞

云南昆明650223

论文摘要:MESH网络是一种无线局域网类型,也就是网状结构网络,也称为“多跳(Multi-hop)”网络。在Mesh网络中,所有的节点都互相连接,每个节点拥有多条连接通道,所有的节点之间形成一个整体的网络。网状网络不同于传统的从属路由器系统。在Mesh网络中,每个节点都不是传统的无线中继器。每个节点都有多个连接通道。当某条线路被阻塞或无响应时,无线网状网络可以根据情况选择其他线路进行数据传输。任何节点故障都不会影响网络访问,可靠性非常高;当网络出现故障时,网络可以自动修复,保证了网络的高速,流畅。

关键词:MESH;蓝牙;智能家居;低功耗;物联网

前言

近年来,随着电子信息技术和计算机网络技术的不断发展,关于智能家居的研究项目在国内外大量开展,很多企业投入其中,实现家庭信息化、网络化是智能家居系统的发展趋势,把无线MESH组网技术应用到智能家居系统中是实现这一要求的重要手段。当下物联网急需解决的难题就是联网问题,而物联网最大的痛点在于设备联网过程繁琐且耗时,目前行业主流蓝牙模块普通存在通信距离受限、连接设备受限、信号不稳定、功耗过高等问题,以及不同设备间协议不兼容等情况。而传统的WiFi联网方式,平均配网时间需30到60秒,且每次配对都需手动操作,过程复杂,耗时严重。本文结合实际情况,所设计的应用系统通过组建BLEMesh网络,可以实现家庭用户通过手机实时控制蓝牙智能触摸开关、灯具等电器协同工作,以及监控其工作状态等,同时针对Mesh网络设备功耗问题,提出了一种新无线网络,拓扑结构。采用BLEMesh的设计及应用,无需传统的网关即可以与手机通信,及其低功耗、低成本对用户具有重要意义。

系统整体结构

系统框架主要有用户管理层和设备应用层组成,两者通过蓝牙建立网络连接。用户管理层主要由用户手机组成。手机对Mesh网络中设备进行配置、添加、控制监听等功能,同时用户间还可以实现共享功能:主用户可以授权Mesh网络的网络密匙(networkkey)给其他用户,同时将配置好的家庭内设备信息共享给他人,即可实现多用户管理;设备应用层由各个应用场景设备组成,如图1所示的客厅、卧室、阳台等应用场景,而设备之间通过Mesh网络进行通信。如客厅:设备1为触摸感应模块的蓝牙设备,设备2为可调色灯驱动电路蓝牙设备,设备3为具有环境温度湿度检测功能的无线设备。设备1触摸感应功能具有3路触摸信号可测,将检测出的信号经过Mesh网络传递给可调色灯驱动设备,单片机根据接收到的信号进行处理,控制可调色灯驱动器产生相应的灯光变化。而温湿度传感器将检测的环境温湿度数据上传,单片机根据接收到的数据进行处理,控制加湿器进行相应的湿度调节和空调的温度调节。数据可实时上传到手机应用上,实现环境参数检测功能,系统整体结构图如图1所示。

图1系统整体结构图

系统硬件设计

主控制器电路

系统主控制器采用ESP32-MESH模组,搭载低功耗Xtensa?LX632-bit单/双核处理器,运算能力高达600MIPS,支持高达240MHz的时钟频率,支持来自约70个中断源的32个中断向量,520KB片上SRAM用于数据和指令存储的系统,外部Fash最大可支持16MB,丰富的外设接口资源足以满足系统需求。此外该模块控制器还带有BLEMesh协议栈,可以实现高达1000个设备相互进行通信。主控制器电路如图2所示。

图3温湿度传感器电路原理图

环境光传感器采用的是BH1750FVI,是一款数字的环境光传感器。环境亮度传感器采用的是APDS-9960,是一款集成ALS、红外LED和接近检测器的光学模块和环境亮度感测的环境亮度传感器。电路采用3.3V直流供电,以及I2C的接口方式。

系统软件设计

Mesh组网控制器软件设计

控制器软件采用CSR提供的IDE进行软什工程开发,软件设计采用模块化编程思想。

一般物联网系统由端、管、云三部分构成,而蓝牙MESH是其中的终端设备,与物联网管道系统一起,实现数据的收发功能。为简单起见,假设某家庭中搭建的智能家居控制平台的控制目标为家中的一盏灯与一台电视的电源通断,发出命令的位置主要在客厅和卧室,发出的指令包括“开灯”“关灯”“开电视”和“关电视”,则智能家居控制系统的整体结构采用基于BLEMesh网络作为传输层,以单片机作为系统的后台控制中心,分布在客厅和卧室的蓝牙MESH模块与电灯和电视的控制器构成的执行器模块作为硬件层,当用户在客厅或卧室中发出指令时,指令由蓝牙MESH模块获得并处理,得到的指令通过Mesh网络达到后台控制中心,控制中心分析得到的指令后,发出相应的控制命令,控制命令亦通过Mesh网络达到所有节点,对应节点的开关控制器在控制命令下动作,实现电视或电灯的开关控制

在上述架构中,蓝牙Mesh路由器是在一个普通WIFI路由器的基础上,集成蓝牙CSR1024模块,实现蓝牙设备数据的收集和转发,与路由器的蓝牙设备驱动中间件实现协议通信。

一个蓝牙Mesh设备,在初次进网工作时需要进行入网关联操作,以便和Mesh网中的其他设备尤其是路由器进行通信。智能门锁会以5s间隔广播自身的UUID设备识别编码,以便Mesh网控制设备发现,并回复关联请求。图7展示了详细的入网关联过程

图7入网关联图

系统上电后,首先进行初始化,各个模块的蓝牙MESH器件在初次进网工作时需要进行入网关联操作,以便和Mesh网中的其他设备尤其是路由器进行通信。蓝牙MESH器件会以5s间隔广播自身的UUID设备识别编码,以便Mesh网控制设备发现,并回复关联请求。控制中心不断接收来自Mesh网络的信息,并根据接收到的信息生成相应的控制指令,再通过Mesh网络以广播的形式发送。执行器模块中的单片机控制蓝牙5接收来自Mesh网络中的信息并进行判断,若该信息是来自控制中心的控制命令且控制地址与自身蓝牙地址相符,则单片机根据控制命令控制继电器进行相应的通断动作;若该信息是来自于语音识别模块,或者是控制另一个执行器模块的控制命令,则继电器不动作,只将获得的信息再次以广播的形式发送出去,实现信息沿Mesh网络的传递。

CSRMesh工作原理

CSRMesh是CSR公司推出的一个私有化的BLEMesh组网协议,基于蓝牙4.0的协议开发。如图1所示,移动设备通过与网络的BridgeDevcie桥接设备与Mesh网络保持连接。当移动设备扫描到并连接到Mesh网络的桥接设备后,所有移动设备与Mesh网络相关的信息的交互与控制指令传递都通过该设备传送。用于控制网络的移动设备就是CSRMeshControlDevice,网络中的其它所有支持CSRMesh协议的设备都被称作CSRMeshDevice。不同于ZigBee的自组网,CSRMesh通过ControlDevice完成网络的组成。

在Mesh网络内部,CSRMesh协议采用泛洪算法来传递Mesh网内的信息网。不同于传统的星形网,在CSRMesh中并不存在中心节点。当CSRMeshDevice接受到同Mesh网类传递过来的信息,它所做的工作就是记下该信息的ID,以及将信息原封不动再广播一次。下次再接受到Mesh网内的信息时,将对比信息的ID,如果相同,不再转发。以此避免信息的反复发送,造成信息的干扰与带宽的浪费。如图8为使用场景图。

图8使用场景图

例如本应用的温湿度设备设置在终端节点模式,其无需关心他设备,只需每15Min上传自身的传感器数据,其余时间则处在休眠状态,实现低功耗;而桥模式下的设备,用于与手机建立BLE连接,通过GATT互相通信,同时下发手机的命令以及关联设备,而不像路由设备需要中继其他节点的消息。此外所提出的新网络拓扑,可支持多台手机控制与监控。

CSRMesh协议使用低功耗蓝牙技术将信号传输至其他接人Mesh网络中的低功耗蓝牙设备,这些设备再将接收的信号传到更远的设备。信号可单独传输给单个设备也可同时传输至多个设备,甚至还可传输至分属多组的不同设备。其使用中继方式扩展低功耗蓝牙的通信范围,不需要使用集线器(Hub)或接入点(accesspoint,AP),同时传播延迟极小,节点间仅约5MS的延迟。当一个节点从另一个节点接收到数据包时,目标地址检查数据包内发送的批处理图字段,并确定响应,或转发,或丢弃该数据包。

结论

设计将家庭生活所需的如可调色灯、触摸面板、温湿度传感器等设备互联互通,方便用户对家庭内设备进行管理,同时提升了家庭内设备智能化水平。在无线BLEMesh拓扑标准的前提下,采用Mesh蓝牙技术设计智能产品能降低产品的功耗需求及成本问题,由于Mesh网络自身的特性,本文设计的基于Mesh网络的智能家居控制系统具有很强的可扩展性,可以在系统中方便地添加诸如温湿度感应器、火焰传感器、烟雾传感器等环境参数检测的传感器,即可实现家庭环境实时监测,提高家庭对灾害的预防能力,因此具有广阔的应用前景。

参考文献:

[1]智能家居中无线Mesh网络信道分配算法的研究[D],北京:北京工业大学,2015.

[2]ZigBeeMesh无线传感器网络中采用Android操作系统之智能家居系统设计[D],福建莆田:湄洲湾职业技术学院,2015.