APP下载

基于物联网的智能灯光场景切换控制系统

2016-06-24杨代利陆川汪怡梅

单片机与嵌入式系统应用 2016年6期
关键词:远程控制服务器

杨代利,陆川,汪怡梅

(1.四川文理学院 计算机学院,达州 635000;2.成都市六二五科技有限公司;3.成都金网安泰信息技术有限公司)

基于物联网的智能灯光场景切换控制系统

杨代利1,陆川2,汪怡梅3

(1.四川文理学院 计算机学院,达州 635000;2.成都市六二五科技有限公司;3.成都金网安泰信息技术有限公司)

摘要:现有灯光控制系统普遍采用有线控制方式,无法远程控制且灯光亮度不能根据场景智能调节,存在浪费电能的情况。通过融合ZigBee无线通信技术、远程服务器和安卓技术,将硬件和软件有机的结合起来,设计开发了智能灯光控制系统。实现了手机APP远程控制灯光节点,并设计了手动模式和自动模式两种切换模式,提高用户体验。

关键词:ZigBee;远程控制;服务器;APP;灯光控制系统

引言

随着科学技术的不断发展,人类社会迎来了电子信息时代。而智能家居灯光控制技术随着智能化住宅的蓬勃兴起而飞速发展,成为灯光控制技术发展的一个重要方向。随着社会的不断进步,照明系统已经完成由传统的可燃物燃烧到电力供电照明的转变,而今,电灯进入了我们生活的方方面面,能源消耗也成为时代越来越重视的问题,同时随着人们生活质量的不断提高,人们不断追求着更加舒适,便捷的生活方式,智能的概念应运而生。

当前,楼宇照明系统的照明方式普遍采用线路控制方式,铺设线路工程量大,常常会遇到线路穿墙和跨越距离大的困扰,而且线路上电能损失增加,会造成不必要的电能浪费,对远程控制有很大的障碍。

另外,楼宇中的照明设备数量和种类多,分布在各个房间中,需要照明的时间根据房间的用途和场景有比较大的区别,特别在公共区域常处于无人管理的状态,易造成无人时照明或白天强光照明等浪费电能的情况。基于以上一些分析,该项目引入“物联网”概念。物联网就是让所有的物体都连接到网络上,通过控制存储在网络服务器中的数据,达到控制每个设备的目的。

本系统使用ZigBee的自动组网技术可以实现网络中所有灯控设备的连接、数据共享及网内统一控制。在这些家庭网内灯控节点中加入人体红外热释电传感器、光敏传感器,收集环境中的有用数据,给灯控节点的智能控制器提供依据。系统提供了以太网和移动互联网的接入方式,以便于实现远程控制和监控,同时设计了人性化、便于操作和控制的安卓手机控制终端,只要携带手机就可以进行远程控制。

1智能灯光控制系统流程

本系统主要由终端灯控节点、协调器节点、上位机程序、远程网络服务器、手机APP终端共5部分组成。系统结构图如图1所示。

图1 系统结构图

由图1可知系统的5大组成部分,以及它们的层次关系。位于最底层的终端灯控节点和协调器都是以CC2530作为主控芯片,它们之间的通信使用自定义的通信协议,该协议采用主从模式进行通信,即每一次的通信发起者都为协调器,协调器发送控制指令,终端灯控节点返回处理结果,协调器发送数据请求指令,终端灯控节点返回当前的光照调节强度,是否有人等数据信息。

采用点对点的通信方式可以很好地避免所有灯控节点同时发送数据而造成数据冲突。上位机程序的主要功能就是将协调器的数据转发给远程网络服务器,同时接收APP客户端发送的控制命令,再经过服务器转发控制指令给上位机管理程序,然后通过串口发送到协调器。远程网络服务器的工作就是接收上位机发送过来的数据,同时也向上位机发送APP端发送过来的控制指令,同时也把节点的最新数据发送给APP,APP及时更新界面上的光照、家庭成员等参数值。

2智能灯光切换控制系统设计

2.1灯光控制节点硬件设计

该系统采用CC2530作为主控芯片,CC2530引脚资源较为丰富,本系统主要采用I/O端口P1_0、P1_1、P1_4三个输出口作为PWM的调光输出口,P0_5口作为光敏传感器的信号输入口,P2_0口作为按键控制开关,P0_4口作为红外热释电的信号输入口,P0_2、P0_3口作为串口通信口。硬件分为协调器和终端节点(即灯控节点)两大部分。

本系统在ZigBee协议栈基础上进行二次开发,不仅方便快捷,而且协议栈的代码可移植性高、技术成熟、成本低,广泛用于当前ZigBee开发控制,使整个系统的稳定性更高。基于ZigBee技术的程序流程图如图2所示。

图2 基于ZigBee技术的程序流程图

2.1.1协调器控制及检测节点设计

系统协调器主要实现3个功能:利用协调器组建一个无线网络,其他所有的终端节点都加入该网络;接收终端节点发送过来的各种数据,包括各个节点的PWM值、光照强度、开关状态、是否启用智能模式等信息,通过串口发送给上位机管理程序;接收从串口发送到的数据指令,根据定义好的通信协议,解析出地址发给对应终端节点。

控制指令的通信协议如下:协调器发给终端节点0xFF、0x01、0x01、0x89、0xFF。其中,0xFF为起始位;0x01为控制设备;0x89为PWM值;0xFF为停止位。

协调器的核心是转发数据,终端节点发送数据到协调器十分简单,因为协调器的网络地址是固定的0x0000;协调器广播给所有的终端节点的网络地址为0xFFFF。但协调器要控制某一个节点,该如何处理呢?这就要用到单播,但协调器并不知道各个节点的网络地址,该如何做呢?首先,需要在终端节点加入协调器的网络并成功组网后,先向协调器(地址0x0000)发送一个心跳包,发送的心跳包中包含自己的节点编号,协调器接收到数据后先从数据包中解析出设备编号,判断该设备编号是否已经存在,如果不存在,就从发送过来的数据中的数据请求头中解析出该设备的网络地址(网络地址是ZigBee协议栈随机分配的),把该网络地址和设备编号相互绑定,分别放入两个数据中,数据下标必须保持一致。当要控制某个设备时,可通过设备编号查询到与该设备绑定的网络地址,从而可以单播数据给这个节点发送控制指令了。

2.1.2终端灯控节点设计

系统终端节点包括3个LED灯、1个光敏电阻、1个红外热释电传感器、1个按键控制开关。光敏电阻器的阻值随入射光线(可见光)的强弱变化而变化,系统每秒通过ADC采集当前环境的光照强度,红外热释电能够检测当前环境中是否有人,按键能够直接控制灯的开关。

系统设计有智能模式和用户模式:

① 用户模式:用户可以随时通过APP调节3个灯的亮度。

② 智能模式:

a. 灯1仍然可以被用户自己调节;

b. 灯2不能由用户控制,只会随光照强度的改变而改变,光照越弱,灯就会越亮;

c. 灯3也不能由用户控制,在检测到有人的情况下,随光照强度的改变而改变,光照越弱,灯就会越亮。

这3种情况用于不同的场景,同时终端节点每隔5 s会周期性地把3个灯的亮度、光照强度、是否有人、控制方式等参数信息发送给协调器,让协调器转发到服务器中。

2.2上位机管理程序

上位机程序是硬件(下发数据给协调器)和软件控制的接口,软件控制,硬件执行,上位机程序将软件程序和硬件程序通过串口结合起来。上位机程序包含两大部分:串口通信和Socket通信。

2.2.1串口通信

串口通信是通过串口向硬件层通信,通过串口读写数据,达到通信的目的。首先连接串口、设置波特率和COM口,然后设置校验位、数据位、停止位,就可以开始读写数据了。发送的数据是指令,用下十六进制表示为FF 01 01 89 FF。

数据通信协议如下:0xFF为起始位;0x01为节点编号0~9;0x01为控制标识;0x89为参数;0xff停止位。

接收到的数据为各个节点的各种设备的目前状态,用字符串表示如下:s100271271271271e。

其中各位数含义如下:

0:起始位为‘s’。

1:设备号为1~9。

2:智能为‘1’, 非智能为‘0’。

3~5: 代表光强。

6~8: PWM1值范围为0~255, 0为熄灭,255 为全亮。

9~11:代表PWM2值。

12~14:代表PWM3 值。

15:继电器开为‘0’,关为‘1’。

16:停止位为‘e’。

2.2.2Socket 通信

Socket是通过建立Socket连接服务器进行通信,接收服务器发送过来的控制指令,并反馈从串口中读取的各种设备的目前状态。

首先通过服务的IP地址和端口号连接上服务器,然后建立一个子线程就可以和服务器进行通信了。使用Socket通信有两点好处:①实时性好,在网络流畅的情况下能够及时转发数据;②Socket是透明传输,无论传输的是字符串格式的数据还是十六进制的数据,Socket都能很方便地进行传输。

2.3远程服务器和APP客户端设计

2.3.1服务器设计

远程服务是数据的仓库和枢纽站,不仅随时接收来自APP用户端和硬件层发送过来的数据,面且要向APP发送当前的各设备的状态,向硬件层发送控制命令。系统的整个流程如图3所示。

图3 系统流程图

服务器与APP客户端通过TCP/IP协议进行通信,与上位机通信通过Socket网络编程实现。同时将所有数据都存储在数据库中,如MySQL数据库,方便查询和数据持久化。服务器通过JavaWeb进行编写,同时支持HTTP请求和Socket连接。为了数据的一致性,两种请求都只能操作同一个数据库,从同一个数据库中读取数据。

2.3.2基于手机APP客户端设计

智能灯控通过一块控制面板(可以是手机,也可以是任意一种能够连接互联网带触摸屏的设备),就可以控制家居中的所有灯光,不仅减少了装修房屋中在墙璧上错综复杂的走线,同时也方便了开关。只要掏出手机,开灯关灯即可轻松解决(即使你还在被窝里,或是在回家的路上)。Android手机APP智能灯光客户端界面如图4所示。

图4 Android手机APP智能灯光客户端界面

Scene Switching Control System of Intelligent Lighting Based on Internet of Things

Yang Daili1,Lu Chuan2,Wang Yimei3

(1.Department of Computer,Sichuan University of Arts and Science,Dazhou 635000,China;2.Chengdu Six-Two-Five Science and Technology Co.,Ltd.;3.Chengdu Network Aetna Information Technology Co.,Ltd.)

Abstract:The wired control is widely used in the existing lighting control system,so the system can not achieve the remote control and the lighting brightness can not be intelligent adjusted according to the scene.In the paper,an intelligent lighting control system is designed,which uses the ZigBee wireless communication technology,remote server and Android technology to combine the hardware and software.The lighting node can be controlled by the phone APP,and two switching modes are designed such as the manual mode and the automatic mode,which improves the user experience.

Key words:ZigBee;remote control;server;APP;lighting control system

中图分类号:TP273

文献标识码:A

猜你喜欢

远程控制服务器
通信控制服务器(CCS)维护终端的设计与实现
中国服务器市场份额出炉
水冷发射机冷却系统故障分析及解决方案
基于GSM的远程控制系统
得形忘意的服务器标准
计算机网络安全服务器入侵与防御