APP下载

基于蓝牙组网的灯光控制系统研究与设计

2015-09-14张晓彬张珣

物联网技术 2015年8期
关键词:路由协议蚁群算法

张晓彬 张珣

摘 要:针对目前灯光控制手段存在的智能化程度低、控制不方便等问题,对蓝牙网络拓扑结构进行了分析,提出了基于蚁群算法的改进型路由协议构建蓝牙散射网,并在此基础上,设计出了基于蓝牙组网的灯光控制系统,从而实现了灯光系统的随心控制。

关键词:散射网;蚁群算法;智能灯光控制;路由协议

中图分类号:TN876.3 文献标识码:A 文章编号:2095-1302(2015)08-00-03

0 引 言

传统的灯光控制系统一般是固定在某一个区域上,通过开关设备的闭合来实现灯光系统的控制,因而控制方式很不灵活,控制区域也有很大的局限性,在很多场合都很不方便,比如黑夜在房间开关灯就是件很费力的事情。而在一些特殊场所,如教学楼、写字楼等大规模灯控系统中,统一调度对管理者也是很大的挑战。诸多方面表明,目前的灯控系统已经完全不能满足人们的差异化需求,在科技的推动下,我们正在寻求新的控制方式,而蓝牙,作为现在智能终端必备的组成部分,可让灯光控制系统变得更加智能和更加便捷。

1 系统概述

蓝牙是一种在全球范围内被采用的简单而又广泛的无线短距离通信技术。在众多蓝牙技术优越性的推动下,现在,主流的日常设备都配有蓝牙模块,为蓝牙技术下一阶段的“无线连接,简易生活”的设备集成组合概念带来了更多发展可能。

本系统由灯光节点、控制器和终端组成,控制器负责网络的构建和对灯光节点的控制,其中包括开关状态和调光,同时要保证灯光节点都加入网络。终端主要对系统进行智能控制,可采用Android客户端软件实现。

2 蓝牙组网关键技术研究

2.1 蓝牙网络拓扑

蓝牙网络的拓扑结构分为微微网和散列网结构[1]。微微网中有一个主设备和多个从设备,共同构成蓝牙通信系统的基本单元。一个微微网可以只是由两台相连的设备组成,例如两部移动电话相连,也可以是8台连接在一起的设备。在同一个微微网中,所有的设备级别是相同的,具有同样的权限。主设备主要负责提供时钟同步信号和跳频序列。

散射网的构建要经历两个阶段[2]。在第一阶段,每个设备都进行邻居节点搜索,通过查询过程,查询双方经握手获得邻居节点的蓝牙地址和同步的相关信息,这些信息由查询者获得,被查询的邻居并不知道查询者的信息,为了待加入网络的所有节点都能获取信息,每个设备都要随机切换自己的状态(根节点除外),并不停地在查询状态和查询扫描转换。

当设备都搜集到一定的信息后,节点开始进行组网。在这一过程中,由根节点开始出发,对查询到的设备发起呼叫,建立ACL链路。当某一设备处于休眠状态时,开始对第一阶段搜索到的所有节点发起呼叫,并重复根节点的过程。在组网过程中,被呼叫的设备只响应最先呼叫的主设备,并成为其从设备加入微微网。散射网实际上就是多个微微网互连在一起构建的。在散射网中,不同的微微网间使用不同的跳频序列。只要彼此没有同时跳跃到同一频道上,就不会产生干扰。连接微微网之间的节点角色称作桥节点。桥节点通过不同时隙在不同微微网之间转换,从而实现跨微微网之间的资料传输,“波浪扩张”式地将所有设备加入网络。

蓝牙散射的一种拓扑结构如图3所示。在图3给出的网络主节点中,1号节点作为桥节点,它既是微微网A的主节点,同时也是微微网B的从节点;6号节点作为桥节点,既是微微网E的从节点,同时也是微微网C的从节点,因此,节点5、6为从/从桥(S/S),节点1,2,4,7为主/从桥(M/S)。

2.2 基于改进蚁群算法的路由协议

蓝牙散射网组网方法一般可分为按需和主动两类[3],主动组网方式在组建网络后保持网络的连通,当节点动态变化时主动更新。按需组网适合数据传输频率低的传感器网络,在需要传输数据时进行组网和建立路由,其余时间节点处于节能的休眠状态。本文采用按需组网方式、树状拓扑结构微微网空位以及关键节点备份机制,网络具有一定的健壮性,在组网的同时完成路由表的建立。

2.3 蚁群算法研究

蚁群算法源于对蚁群寻找食物过程的研究。观察发现,一旦有蚂蚁找到食物,在食物和巢穴之间很快就能形成一条近似最短的蚁路,并且蚁路上的蚂蚁会越来越多直到食物消耗殆尽。并且,一旦出现断路情况,蚁群能快速绕过障碍物重新寻找食物并形成新的蚁路。蚁群算法已经成为一种优秀的获取优化路径的几率型算法。由于蚁群算法具有良好的正反馈性、多样性、健壮性以及自适应性、自组织性,越来越多的被应用于路由优化问题[4]。

为了保证蚂蚁的多样性,基于式(1),蚂蚁k从位置r移动到位置j的概率计算公式为式(5)。其中,r为(0,1)上均匀分布的随机数,p0∈(0,1),当蚂蚁从位置i,选择路径到达位置j时。选取一个随机数r。若r>p0,根据式(1)选择路径,若r≤p0,则根据式(5)选择最优路径。

在前向蚂蚁到达目的节点后,会将其携带的信息存放至目的节点,所有的蚂蚁都完成这一过程后,根据信息选择最优路径并派出后向蚂蚁,后向蚂蚁将根据信息进行全局信息素更新,其中,Δτ=c×Ebest,c为常数, Ebest为路径最优评价值。

当网络中某一节点要和目标节点进行通信时,此节点作为源节点,查找路由表是否存在和目标节点连通的路径,如果不存在,将根据式(1)和式(2)的规则,前向蚂蚁根据启发信息和信息素强度,从源节点的邻居列表中选择路径到达下一节点,并记录所经节点的负载接纳率、IP地址和路径的时延。中间节点接受前向蚂蚁后,根据本节点的负载情况判断是否接纳前向蚂蚁,前向蚂蚁选择其他路径请求接收,避免持续拥堵。如果中间节点不处于拥塞状态,则接受前向蚂蚁的信息,并建立更新信息素,重复上述过程继续转发下一节点。当前向节点到达目的节点时,首先目的节点和源节点之间建立信息素表并由式(5)、式(6)和更新信息素值派出后向蚂蚁返回源节点。由于后向蚂蚁是根据建立或者更新的信息素表返回,在全局修正的基础之上,其经过的路径信息素值在增加,其他路径在减少,当到达源节点后,后向蚂蚁销毁。过程结束[5]。

在整个路径发现过程中,要避免拥塞的节点成为路由节点,并选择负载接纳能力强的路径建立路由,节点要周期性的判断本节点的负载能力,可能发生拥塞的节点要通知上游节点减少发送的信息,避免发生严重的拥堵[6]。

3 软硬件设计

3.1 系统硬件电路设计

本系统硬件设计包括主控模块、蓝牙通信模块和LED模块,整体硬件系统如图5所示。

LED模块包括继电器模块和调光模块两部分。调光模块通过采用PWM调光原理实现。PWM调光的基本原理是保持LED 正向导通电流恒定,而通过控制电流导通和关断的时间比例,即改变输入脉冲信号的占空比,使LED 产生亮暗变化;并利用人眼的视觉残留效应,当LED 亮暗变化频率大于120 Hz 时,人眼就不会感觉到闪烁,而看到的是LED 的平均亮度。PWM 调光的优势在于LED 正向导通的电流是恒定的,LED 的色度就不会像模拟调光时产生变化。PWM信号由主控MCU产生R、G、B、W四路信号,采用高性能的PT4115恒流芯片驱动,能将直流电压直接转换成稳定的恒流输出。

主控单元采用美国TI公司生产的CC2540芯片,适用于蓝牙低功耗应用,同时也作为蓝牙传输的核心部分。CC2540集成了2.4 GHz射频收发器,是一款完全兼容8051内核的无线射频单片机。CC2540使用单周期访问SFR、DATA和主SRAM。当CC2540处于空闲状态模式时,任何终端都可以将其恢复到主动模式。该芯片的8051不具有PWM模块,但可以通过定时器和通用输入输出产生PWM信号。

整个系统初始化后,判断该节点是否加入网络,如果没有加入网络,则寻找相邻节点并查找链路表加入网络。在节点加入网络后,等待中断,并开始接收控制指令。整个控制分为开关控制和调光控制两部分,并及时回传灯光状态,系统流程如图6所示。

3.2 系统软件设计

3.2.1 客户端整体设计

智能灯光控制软件Android的客户端控制系统设计主要包括用户界面UI、主程序软件设计、蓝牙通信、指令收发。Android应用程序由一个或多个组件构成,组件包括activities, services, content providers, broadcast receivers等,每个组件在程序中完成不同的任务,每个组件可以单独被激活,或者由其他应用程序激活。利用Android操作系统提供的各种资源对各个灯光节点进行编组自定义控制,用户通过触屏与系统进行交互。客户端的设计主要涉及用户UI界面、Socket通信、线程和SQLite数据库的设计与使用。客户端流程图如图7所示[7]。

3.2.2 功能设计

在ActivityGroup中设计了“状态”、“情景”、“自定义”、“更多”、“设置”五个子界面。在“状态”列表可以看到所在网络中每一个灯具的开关状态,选择任何一个灯具都可以进行开关控制操作,进入灯具详情可以对灯光亮度和色彩进行自定义设置;进入“情景”列表可以设置不同的灯光效果情景,每一种情景包括灯光效果和开关时间的设定,进入选择的情景即可添加灯具到当前情景;“自定义”模块主要是对全部灯具自定义编组并自定义名称,使灯具可以进行分组控制;“更多”界面是针对用户对客户端的一些调节,比如背景设置、灯光设置方案推荐及展示、个人方案的分享;“设置”主要显示当前登录用户的个人信息,提供用户的密码修改和找回密码等功能,同时还包含用户自定义头像的上传。客户端软件如图8所示,其中自定义设定了某一楼层各个房间的灯光控制效果,也可对整个局域进行控制。

4 结 语

本文介绍了蓝牙组网的网络拓扑结构,并提出了基于蚁群算法的路由协议。对蚁群算法进行优化,可较好的发现全局最优组合方式,较快的完成主节点、从节点的角色分配与链路的建立;分析了蓝牙组网通信过程,包括路由发现、路径选择,提高蓝牙组网能力;基于蓝牙组网设计了智能灯控系统,并通过手机终端实现对灯光系统的智能控制。本系统不仅可以应用于家居照明环境,也可推广应用到餐厅、高校、展厅等照明场合。

参考文献

[1]翟峰.蓝牙通信模块的设计与实现[J].硅谷, 2011 (11): 34.

[2] Chih-Min Y, Shao-Kai H, Yu-Chih C. Forming mesh topology for Bluetooth ad hoc networks[C]. Hsinchu,2013: 123-124.

[3]付彬,李仁发,肖雄仁.一种新的环型蓝牙网络拓扑形成协议及仿真[J].系统仿真学报, 2006(3): 633-637.

[4]张千里.基于蚁群的Mesh网络路由算法模型的设计[J].赤峰学院学报(自然科学版), 2012(17): 28-29.

[5]樊锐,李茹,王绩一.蓝牙/ZigBee无线网络传输系统的设计与实现[J].计算机技术与发展,2013(1): 209-213.

[6] Chih-Min Y, Yin-Bin Y. Reconfigurable Algorithm for Bluetooth Sensor Networks[J]. Sensors Journal, IEEE, 2014, 14(10): 3506-3507.

[7]周进波,张磊,张敏,等.基于Android系统蓝牙开发的研究与实现[J].光学仪器, 2013(1): 34-36.

[8]侯金凤.多个蓝牙微微网之间同频干扰问题的研究[D].吉林:吉林大学, 2011: 79.

猜你喜欢

路由协议蚁群算法
精确打击效能评估系统中路由协议的研究