文献标识码:A
DOI:10.16157/j.issn.0258-7998.174664
中文引用格式:杨志刚,刘继文. 基于手机的建筑用窗远程开关控制系统的研究[J].电子技术应用,2018,44(5):82-84,88.
英文引用格式:Yang Zhigang,Liu Jiwen. Research on remote control system of building windows based on mobile phone[J]. App-
lication of Electronic Technique,2018,44(5):82-84,88.
0 引言
随着中国社会的快速繁荣发展,人们的住房水平要求随着生活水平的不断提高也在不断上升。科学技术和互联网技术的快速发展又极大促进了我国建筑业朝着智能化方向的发展[1]。窗户是建筑必不可缺少的构成部分,与人们日常生活活动息息相关[2]。目前,大多数建筑的窗户还是以手动方式控制开关,这种传统的手动开关窗户日渐无法满足现代人们的日常需求[3],如突遇雷雨大风天气,而家中又恰好没人,无法及时关闭门窗[4];早晨匆匆上班忘记开窗更新室内空气等。因此人们迫切需要一种可以远程控制的窗户来满足生活中的需求。
1 系统总体设计
1.1 系统总体构架
系统主要由3部分组成:手机终端、主控制器和电动开窗器。手机终端用于远程控制窗户和显示窗户实时运动状态,提供直观的人机交互界面;主控制器用来接收来自手机的指令信息、控制电动开窗器开关窗户及把窗户运动状态信息反馈到手机上,因此是整个系统的核心;电动开窗器直接与窗户连接,控制着窗户的开关。系统总体结构图如图1所示。手机终端首先把指令消息发送到服务器上,服务器再把指令消息经互联网发送到家里路由器,由路由器传递给主控制器,主控制器根据指令消息完成相应控制动作。
1.2 主控制器设计方案
窗户要实现远程控制需要一个用于控制窗户开关的控制器。该控制器起着控制窗户和远程连接的作用,为系统的核心。3种常用于控制窗户的控制器如下。
(1)单片机控制:单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。其优点:经济实惠,成本相对较低;缺点:不易扩展,对环境依赖性强,开发周期长。用单片机制作的主控板,由于受制板工艺、布局结构、器件质量等因素的影响导致抗干扰能力差,故障率高。
(2)PLC控制:PLC(可编程逻辑控制器)是专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程[5]。其优点:抗干扰能力强,故障率低,易于设备的扩展,便于维护,开发周期短;缺点:成本相对单片机高。
(3)Arduino控制:Arduino是一款便捷灵活、方便上手的开源电子原型平台,由一个欧洲开发团队于2005年冬季开发。Arduino在开发之初就明确了其应用环境,设计了开源开放的平台[6]。其拥有丰富的接口、简便的编程环境、极大的自由度、标准化的接口模式、极高的可扩展性,是目前较为流行的电子互动平台[7]。由于该板为开源硬件,因此市面上出现了许多与之功能匹配的扩展板和兼容板方便选择使用。本系统选用了一种Arduino兼容板——ESPDuino板。该板既与Arduino相兼容而又在其基础上增加了连接网络功能,具有使用更方便、价格便宜的特点。
2 系统硬件设计与选用
系统的硬件采用模块化设计,本系统的硬件主要由手机终端、主控制器、电动开窗器和窗户组成。
2.1 手机终端选用
手机终端选用Android系统。Android手机现在已经成为市场占有率最高的移动操作系统,具有高度的开源性,拓展性非常高,这点使得其他手机系统不能与其相比[8]。相比于其他系统,Android系统开发更容易,几乎没有什么门槛,因此,可以很快地开发出自己的程序。
2.2 主控制器
主控制器是整个硬件系统的核心,一方面负责接收来自手机终端指令消息并控制开窗器来控制窗户的开关;另一方面把窗户的运动状态反馈给手机。主控制器电路图如图2所示。主控制器主要由主控板、红外对射式传感器和无线发射模块组成。
2.2.1 主控板
主控板选用的是四博智联科技有限公司生产的ESPDuino板。该板是该公司基于ESP8266-13而开发的,与Arduino UNO相兼容。该板采用ESP-WROOM-02贴片式WiFi模块,相对于传统的Arduino板,不仅省去了外接WiFi模块布线的麻烦和费用,而且还使得系统运行更加可靠、体积更小,在与网络连接使用中具有广泛的应用。
2.2.2 红外传感器的选用
本系统选用分离式红外对射式计数传感器。该传感器为NPN常闭型,即有遮挡时输出低电平信号,无遮挡时输出高电平信号。发射管工作电压为5 V,工作电流为40 mA,接收管工作电压为3~5.5 V,工作电流为100 mA,可方便与开发板连接。其2~20 cm的有效检测距离、2 ms的快速反应时间,使其在系统中具有良好的应用。
2.2.3 无线发射模块的选用
无线模块具有体积小、传输距离远等优点,广泛应用在生活中各个领域。本系统选用的无线模块工作频率为433 MHz。433 MHz无线收发模块为短距离无线通信模块,由于该模块的成本低、睡眠模式约为1 μA的电流消耗、小尺寸封装和较少的外接引脚,使得其在物联网无线通信中被广泛使用。该模块还具有灵敏度高、绕射性能好、功耗低、穿透力强等特点。
2.3 电动开窗器的选用
电动开窗器选用的是上海锴蔻电子科技有限公司的KK-LT-300电动链条开窗器。其工作电压为直流24 V,工作电流为1 A,推拉力为400 N,行程距离为400 mm,速度为7 mm/s。其具有超负荷过载保护设计;开关窗时噪音低,双层金属链片设计,运行时更稳定、顺畅。开窗器直接与窗户连接,通过链条的伸缩来控制窗户的开关。
3 系统程序设计
从手机终端发出控制指令到窗户执行指令,是依靠系统程序来完成的。系统程序是整个系统的核心,其程序流程图如图3所示。手机APP采用消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)传输协议发送指令消息到服务器上,服务器打包消息通过互联网访问到家里路由器,路由器经WiFi方式把消息传递给主控制器,主控制器解析指令消息后经无线发射模块发送到电动开窗器的接收模块,控制电动开窗器的运行进而控制窗户的开关。同时红外计数传感器不断对电动开窗器链条节数计数采集并依次发送到服务器上,服务器收到数据再一一推送给手机终端作为反馈信息。该系统程序主要包括两部分:手机APP软件程序设计和控制器的程序设计。
3.1 手机APP软件程序设计
手机APP的设计采用的是Java编程语言,开发环境为Android Studio。Android Studio是谷歌推出的新的Android手机集成开发工具,用于Android手机应用程序的开发和调试。手机APP的设计一方面用于发送指令消息;另一方面用来接收反馈信息并更新。手机APP程序发送指令消息和接收反馈消息采用的是MQTT传输协议,其工作过程如下。当点击“打开”按钮时,指令消息以MQTT协议的方式先发送到服务器上,服务器把指令消息经互联网发送到家里路由器,指令消息经路由器推送到主控制器上,主控制器依据指令消息控制电动开窗器运行、链条伸出,进而打开窗户。同时,红外传感器不断采集数据,并经原链路反馈给手机终端,手机终端数据以1%的速度递增,直到100%或收到“暂停”指令消息停止工作。反之,当点击“关闭”按钮时,手机终端数据以1%的速度递减,直到0%或收到“暂停”指令消息停止工作。因此,该手机终端控制程序的设计使得人们对开关窗运行状态更加清楚、直观,而且也使得人们更加方便地根据实际情况控制开窗的大小。
3.2 主控制器程序设计
主控制器的核心是ESPDuino板,程序编程采用的是Arduino IDE开发环境,编程语言为C/C++。主控制器的程序功能是:一方面用于接收来自手机终端指令消息并控制着电动开窗器执行相应动作;另一方面把红外传感器对电动开窗器采集的数据反馈给手机。主控制器流程图如图4所示。主控制器收到手机终端发送的指令消息后进行解析,根据解析的指令消息控制电动开窗器链条的伸缩,进而控制窗户的打开、关闭动作。同时红外计数传感器对电动开窗器链条节数计数采集,并把采集的数据转换为开窗大小反馈到手机终端实时显示。
4 运行结果
打开手机网络连接,使手机连接到网络。运行手机终端控制应用程序,当点击“打开”按钮后,电动开窗器链条伸出打开窗户,同时手机终端开始接收红外传感器对电动开窗器采集的数据,并在手机终端控制界面上显示数值的累加变化。当点击“暂停”按钮后,电动开窗器停止运行工作,手机终端控制界面上的数值也停止累加,保持不变。当点击“关闭”按钮后,电动开窗器链条收回关闭窗户,手机终端控制界面上的数值不断减少,直到电动开窗器运行结束,关闭窗户,手机界面值为0%。该程序在运行中稳定、可靠和反应迅速,并且还可直观地显示出窗户的开关状态。
5 结论
本文设计的建筑用窗远程开关控制系统打破了传统开窗模式,实现了用手机远程控制建筑用窗的开关,解决了人们生活中无法远程开关窗户的问题。该系统不仅实现了窗户的远程控制,而且能在手机终端实时显示窗户的运动状态及开窗大小,使人们对窗户的控制更清楚、直观。
参考文献
[1] 孙光宇,张玲玲.Android物联网开发从入门到实践[M].北京:清华大学出版社,2015.
[2] 何国渊,廖志飞,杨太任,等.基于IAP15F2K61S2单片机的多传感器新型智能窗控制系统[J].机床与液压,2015,43(8):148-151.
[3] 王超,林百顺,冯开屏,等.物联网智能窗户系统的设计与实现[J].计算机时代,2016(7):12-15.
[4] 谷佳烨,肖慧荣,陈自波.基于GSM控制的智能窗设计[J].科技广场,2014(7):253-256.
[5] 廖常初.PLC编程及应用[M].北京:机械工业出版社,2014.
[6] 崔阳,张维华,白云峰.一种基于Arduino的智能家居控制系统[J].电子技术应用,2014,40(4):123-125.
[7] EVANS M,NOBLE J,HOCHENBAUM J.Arduino实战[M].况琪,译.北京:人民邮电出版社,2014.
[8] 李瑞奇.Android开发实战:从学习到产品[M].北京:清华大学出版社,2017.
作者信息:
杨志刚,刘继文
(大连交通大学 机械工程学院,辽宁 大连116028)