王佳欣
摘 要:随着物联网技术的不断发展,人们对家居生活的舒适度要求越来越高,对各种家居设备达到自动及远程控制的渴望也尤为突出。为了实现用户通过手机移动终端对家中的开关进行自动控制,将支持低功耗蓝牙4.0技术的蓝牙控制模块嵌入在传统开关上,实现手机对智能开关的自动控制。通过实验证明,该系统有良好的工作性能,能够达到对开关进行及时有效控制的设计要求。
关键词:智能家居;蓝牙4.0技术;智能开关;CSR1010
中图分类号:TP391 文献标识码:A 文章编号:2095-1302(2016)06-00-03
0 引 言
近年来,物联网技术不断发展,成为继互联网之后的又一个重大科技创新。而智能家居成为了物联网的一个重要应用领域。智能家居概念起源于20世纪80年代初的美国,称之为Smart Home[1]。其涉及多个领域,如通信网络、系统集成、家电、医疗、传感器件、自动控制等[2]。智能家居的发展经历了4代,第四代的要求即基于物联网技术达到可根据用户需求实现个性化的功能[3]。与普通家居相比,物联网智能家居不仅具有传统的居住功能,还可提供信息交互功能,使得人们能够随时对家居设备进行控制,让家居生活更加安全、舒适[4]。
随着人们对家居环境的安全舒适等要求不断提高,物联网技术应用到家居生活的需求也不断增强,目前市场上已经有很多像智能开关这样通过手机达到自动控制的家居产品。比如欧瑞博的智能插座,其通过在插座上嵌入WiFi模块来达到智能控制的目的,但其采用的WiFi技术功耗相对较大。在智能家居领域,低功耗很重要。比如飞利浦的Hue Lights智能LED灯[5],采用ZigBee技术达到可通过智能终端设备控制LED灯的开关状态以及颜色亮度等。但因目前智能终端上不支持ZigBee通信,所以不能对其进行直接控制,而需要一个中继设备,这样既提高了成本,也带来了不便。低功耗蓝牙4.0技术是一种数据量低、应对通信的突发性强、可依据需求进行定制的短距离通信技术,采用该技术可有效组建成本低、复杂度低的无线体域网和无线个域网[6],并且目前蓝牙4.0技术已经广泛应用到智能手机设备中。与传统蓝牙设备相比,其克服了主设备连接7个从设备的限制,而且传输距离也能够达到50~60 m[7]。
通过对比,本文设计了基于蓝牙4.0技术的智能开关控制系统,主要通过在传统开关上嵌入的蓝牙4.0控制模块与智能手机终端直接连接进行通信,达到对智能开关的直接控制以及定时操作的目的。
1 系统总体架构设计
智能开关的系统架构如图1所示,整个智能开关的系统主要由智能开关及智能移动终端两部分组成。其中,移动终端作为整个系统的控制端,通过直接与智能开关相连而控制开关。智能开关作为被控制端,负责接收来自手机的命令并执行。
1.1 智能开关
智能开关上嵌入的蓝牙模块采用的是低功耗的CSR1010蓝牙芯片。该芯片拥有32个引脚,并可支持对Flash和E2PROM进行程序下载。智能开关正是通过蓝牙模块达到与智能移动终端进行数据传输、控制操作的功能。
1.2 智能移动终端
系统中对智能移动终端的要求是要支持蓝牙4.0通信技术。通过智能移动终端上的App控制程序来控制开关的通断电。其中,App主要通过利用相关API函数调用手机的蓝牙适配器,实现对智能开关设备的发现、配对、连接、控制,并发送相关控制信息的功能。
2 智能开关的设计
对智能开关的设计主要分为硬件设计和软件设计。其中硬件设计主要包括电压转换模块和蓝牙开关控制模块;软件设计主要通过在CSR1010蓝牙芯片上运行蓝牙4.0协议,并在此基础上进行配置,从而达到对开关进行控制的目的。
2.1 智能开关的硬件设计
2.1.1 电压转换模块的设计
电源芯片采用POWER INTEGRATIONS公司生产的LinkSwitch-TN小功率输出系列AC-DC电源转换芯片,该芯片适合替代所有使用电容降压的电路,应用于小家电和LED驱动。根据输出的功率需求,选择LNK304作为电源转换芯片。
该芯片支持降压拓扑结构,集成自动重启功能,过稳保护功能,相对于电容降压式方案功率因数更高。并且只需要少量的外部元件,就可以实现220 V交流电到3.3 V直流电源的转换。
2.1.2 蓝牙控制模块的设计
智能开关的蓝牙控制模块的电路如图2所示,主要包括系统指示灯、SPI 程序下载接口、复位、电信号电路等。系统的时钟源采用16 MHz的晶振,采用E2PROM进行存储。通过SPI 串行外设接口下载与调试固件程序。利用蓝牙芯片引出1个引脚,设置为电信号模式,用于控制开关的状态。
2.2 智能开关的软件设计
CSR 1010芯片支持包括了ATT、GATT、GAP、L2CAP、SMP等规范的蓝牙4.0协议栈[8]。其中,通用访问规范(GAP)规定了包括广播者、观察者、中央设备和外围设备四种角色。在智能开关系统中,开关作为外围设备,移动终端作为中央设备。而在系统中,智能开关作为Server端向智能手机终端(Client)暴露GATT规范层的自定义开关服务。规定特征值1用于控制开关的通断,长度为一个字节。当移动终端将特征值1设置为0x00时表示命令为关,设置为0x01时表示命令为开。
智能开关上电后,首先对系统进行初始化,主要包括SMP、GAP、GATT、硬件等模块的初始化。初始化完成后,智能开关开始向外广播,用以让智能终端发现其存在。但由于用户不会在较短时间内对智能开关进行反复的通断电操作,并考虑到能量消耗与开关的广播频率有很大关系,为降低能耗,故将智能开关的广播状态设置为快播、中播、慢播不同等级。对于不同的等级,广播的持续时间和时间间隔也不同。快播广播的持续时间是30 s,广播的时间间隔是50 ms,中播广播持续时间是3 min,时间间隔为640 ms,其余都为慢播状态,慢播广播时间间隔为5 s。
3 智能移动终端的软件设计
智能移动终端设备在蓝牙通信过程中作为主设备,能够扫描、发现外围设备,并对外围设备发起连接请求,连接成功后发送控制指令或断开与外围设备的连接。在软件设计上,当用户开启软件后,首先进行相关数据的初始化工作,主要包括从本地数据库中读取已配对的智能开关设备信息;然后系统开始按一定的时间间隔扫描外围设备,通过此操作可以同步设备的开关状态信息;当需要控制开关状态时,则发起连接请求,连接成功后,发送规定好的数据命令控制开关操作。智能移动终端的软件工作流程如图3 所示。
在利用蓝牙4.0通信技术时,理论上作为主设备的移动智能终端能够同时与无数个设备相连,而作为从设备的智能开关只能同时被一个主设备控制。考虑蓝牙4.0协议可在3 ms建立连接并传输数据的特性,为了能够实现多个用户在一定时间间隔内对智能开关的并行控制,设计采用控制完成立即断开连接的方式。对于智能开关设备的信息管理,采用了SQLite数据库[9,10]设备管理模块对开关相关信息进行存储与管理。
4 实验结果与分析
根据系统的设计要求,设计出的智能开关模块实物图如图4所示。
对智能开关系统进行多次反复测试。测试方式为用户通过智能移动设备以不同的时间间隔连续不断地向智能开关发送开关命令请求,以及对开关进行定时操作。测试结果表明,在蓝牙的可通信范围内,通过智能移动终端设备能有效控制智能开关设备的开关状态,也能对开关进行定时操作。观察发现,开关对命令反应灵敏、快速,对于定时规则均能在准确的时间正确执行命令。但通过对蓝牙通信距离的测试,发现蓝牙的通信距离要比理论值短很多。空旷地区可以在30 米内进行控制,室内10 米左右。经仔细排查终于发现,蓝牙天线下面PCB板上的铜覆盖干扰了信号的传播距离。去掉铜后,通信距离得到很大的提高。室外可达50米左右,室内可达23米左右。完全满足智能家居对智能开关控制的需求。
5 结 语
本文通过对智能开关的硬件设计、软件实现以及智能移动终端App的程序设计实现了一种基于低功耗蓝牙4.0 通信技术的智能家居智能开关控制系统。该系统以智能移动终端为控制中心,智能开关设备作为外围设备,通过蓝牙4.0通信技术实现智能移动终端对智能开关的自动控制功能。经实验测试表明,该系统性能良好、反应灵敏且操作准确,可以满足用户的实际需求。
参考文献
[1] ALAM M,REAZ M,ALI M.A review of smart homes-past,present,and future[J].IEEE Trans. Systems,Man and Cybernetics,2012,42(6):1190-1203.
[2]童晓渝,房秉毅,张云勇.物联网智能家居发展分析[J].移动通信,2010(9):16-20.
[3]潘洪涛.大数据时代广电新媒体的发展[J].青年记者,2013(18):21-23.
[4]高小平.中国智能家居现状及发展趋势[J].低压电器,2005,1(4):18-21.
[5]张少华,魏志远.基于蓝牙4.0技术智能灯泡的设计与实现[J].物联网技术,2015,5(4):90-93.
[6] Robin Heydon. Bluetooth Low Energy The Developer,sHandbook[M].Pearson Education,2013.
[7]陈灿峰.低功耗蓝牙技术原理与应用[M].北京:北京航空航天大学出版社,2013.
[8] RobinHeydon.低功耗蓝牙开发权威指南[M].陈灿峰,刘嘉,译.北京:机械工业出版社,2014.
[9]刘阳.基于Sqlite数据库的智能粮情监测Android客户端设计[D].合肥:安徽大学,2014.
[10]张媛媛.嵌入式数据库管理系统的研究与实现[D].上海:华东师范大学,2007.