一种基于SL4A的智能卧室门系统
2019-10-08邢益良
摘 要: 卧室门智能化对净化环境具有重要意义。开发者通常需要自己搭建硬件平台,以及限用c和c++语言开发智能门系统,其系统开发具有较大的难度。为降低开发难度,本文探讨了基于SL4A的卧室门智能系统,先阐述SL4A体系结构和蓝牙相关技术,然后给出了系统分析与设计,最后使用PHP脚本实现了系统。实践表明文中系统能智能控制门开关和停止,具有开发难度低和适应多种开发语言等优点。
关键词: SL4A;PHP;Android;智能;蓝牙
【Abstract】: Smart systems for bedroom doors are of great significance for purifying the environment. Developers usually need to build their own hardware platforms and can only use C or C++ language to develop smart door systems. The development of smart door systems has great difficulty. In order to reduce the difficulty of development, this paper discusses a smart system for bedroom door based on SL4A. This paper first introduces the related technologies of the SL4A and Bluetooth, then gives analysis and design of the system, and finally develops the system using PHP script. Practice shows that the system can control the switch and stop of a bedroom door intelligently, and it has the advantages of low development difficulty and adaptability to various development languages.
【Key words】: SL4A; PHP; Android; Smart; Bluetooth
0 引言
冬夏季,人们经常会在封闭卧室开空调睡觉。卧室长期不通风会对人的身體健康带来危害,这将大大降低生活品质。卧室通过窗户虽然可以实现自然通风换气,但雾霾、寒风、冷热空气和噪音也会随之而来,室温会瞬间变冷变热,室内空气会快速受污,室内会变得吵杂。卧室通过新风系统虽然可以长时间拥有新鲜空气,但新风系统存在维护问题,使用不当容易造成二次污染。让卧室门根据睡眠时段和关门时间长度自动定期开门连通大客厅,这不仅使卧室能通风换气保持新鲜空气,而且不会出现室温瞬间变冷变热问题,不会存在二次污染问题,不会出现大量室外噪音影响睡眠问题,能大大提高生活品质。
许多研究者基于不同硬件设计和实现了智能门,但是研究者主要关注智能门的监控和安防问题,对智能门的智能家居环境问题还未引起太多关注。王宏[1]等人基于树莓派开源硬件开发了远程智能门控制系统,具有近距拍照记录、远程视频监控、远程协助门控和智能门钥等功能。周运道[2]等人基于STM32设计了智能门控系统。余腾伟[3]等人基于单片机设计了智能家居门控制系统,系统具有实现远程控制门的开关、进出门的权限、实时监控门前情况和进出记录查询等功能。郭艳平[4]基于ARM设计和实现了智能门警系统。尽管这些系统具有功能强大等优点,但是其不足是,系统覆盖硬件类型较多,开发者需要熟悉各种硬件特性和自行搭建硬件平台,另外,开发者只能采用c或c++语言开发系统,系统开发难度具有较大的困难。针对这些问题,本文提出了一种基于SL4A[5]设计和开发卧室门智能控制系统的方法。
1 SL4A相关技术
1.1 SL4A工作原理
SL4A的英文全称为Scripting Layer for Android,它是Android原生态应用,它面向脚本语言提供Android原生态服务,使Android开发简单和快速。SL4A支持的脚本语言包括Python、JavaScript和PHP等。SL4A基于JSON-RPC远程调用原理为脚本提供Android原生态服务,脚本应用通过TCP/IP协议以远程代理方式间接访问Android原生态服务。先由本地脚本传递JSON数据向“SL4A RPC Server”组件请求Android原生态服务,然后由“SL4A RPC Server”组件调用Android系统函数完成服务,再然后将服务的执行结果以JSON数据格式返回给本地脚本,最后本地脚本解析JSON数据和读出Android原生态服务的数据。任何本地脚本,只要实现了这套兼容的JSON-RPC通信接口,就可以呼叫 “SL4A RPC Server”组件共享Android服务。脚本访问Android服务体系结构如图1所示,图以python脚本访问Android服务为例,脚本程序myscript.py由python脚本引擎解释运行,脚本要访问Android系统服务,需经脚本引擎的“Android RPC Module”模块向“SL4A RPC Server”发出Android服务请求,请求数据格式使用JSON数据格式,再由“SL4A RPC Server”调用Android原生态API获取Android服务,之后再按原路以JSON数据格式把Android服务结果返回给脚本处理。关于SL4A技术,邢等人基于JavaScipt[6]和PHP[7]探讨了SL4A和研发了地图应用等示范应用。
1.2 YS-BLK蓝牙控制模块[8]
蓝牙技术是一种低成本和短距离的无线通信技术。由于蓝牙技术具有成本低、功耗低、连接快速、移植性较强、安全性较高、组网容易和设计开发简单等优点,因此,蓝牙技术近几年受到了较多关注[9]。为简化开发,飞音云电子将蓝牙技术与单片机技术整合开发出YS-BLK蓝牙控制模块,开发者只需遵循蓝牙协议就可以控制IO端口完成系统功能。图2是YS-BLK蓝牙控制模块的结构图。蓝牙模块长宽度为28*23 mm,供电电压为5 V,共有10个IO端口A1-A10,IO端口高电平为5 V,蓝牙模块可根据远程发送过来的指令对IO端口进行控制,IO端根据指令可以实现高电平输出、低电平输出、自锁、电机控制、0.3-3 s(0.3 s为等级)点动和状态查询功能。端口A1和A2可联合起来控制电机的正反转和停止。表1列出了蓝牙模块指令及其控制的电机状态。
2 卧室门智能控制系统
2.1 需求分析
图3是系统功能结构图。由图可知,系统由门控模块、设置模块、环境光感应模块和计时模块等组成。门控模块用于控制门的开关和停止。智能控制的生效时间段、门开关环境光阈值等条件可通过设置模块完成。环境光感应模块用于实时采集当前环境光值。计时模块可以控制门开关的时间长度,通过时间长度实现现卧室门的开合度。
2.2 系统设计
图4是系统结构图。系统由安卓手机、终端、电机和卧室门等硬件和实体组成。安桌手机用于环境光采集和智能控制决策。终端用于接收安卓手机的指令,控制电机正反转和停止。电机固定于门底端,连接单个车轮,电机带动车轮正反转实现门开关。安卓手机由环境光传感器、设置模块、计时模块、蓝牙模块和SL4A组件构成。为了达到智能控制卧室门,①用户通过设置模块事先设置好智能控制条件,条件包括生效时间段、门开关环境光阈值和门开关/停止指令;②应用程序通过环境光传感器收集当前环境光值;③应用程序将当前环境光值、当前时间和智能控制条件进行比较,如果满足用户设置的智能控制条件就通过蓝牙向终端发送开关门指令控制门的开和关,否则继续②;④应用程序通过计时模块开始门开关倒计时,如果倒计时结束,则通过蓝牙向终端发送门停止指令控制门停止。
2.3 系统模块实现
本文使用PHP语言开发了系统,为便于开发,本文设置了一个全局变量$android,它是一个连接SL4A服务的对象,通过该对象可以访问SL4A的蓝牙等服务。
2.3.1 设置模块
3 实验和分析
本文在安装有SL4A的小米公司红米note 4x等手机测试通过。图5是智能参数设置。从图中可知,用户设置了一条智能开门條件,条件由触发时间、环境光阈值和门动作等组成,触发时间为凌晨02点30分10秒,环境光阈值是10,门动作是开门。当时间处于半夜2点半,室内未开灯,周边环境较暗时,卧室门就会自动打开。由于卧室与客厅大空间等连通,以及空调带来的卧室内外温差,所以空气就会流动,卧室换进新鲜空气。由于本文采用手机作为硬件平台,而手机通常都带有环境光传感器等传感器,所以开发者无需关心环境光传感器等硬件,只需通过SL4A接口[10]便可便捷地采集到环境光,这大大降低了开发难度。由于本文采用SL4A作为软件平台,因此软件开发者可以选用合适的开发语言来完成系统,而无需使用具有较高难度的c或c++语言。本文不足的,本文方法需要手机拥有超级用户权限,这对普通用户是个问题。
4 结论
文中探讨了卧室门智能控制系统的设计和开发,由于基于SL4A软件,开发者只需借助较简单硬件便可以构建出系统,开发者还可以使用PHP等多种开发语言快速开发出系统原型。这对降低企业的成本和提高开发进度具有较大的意义。下一步工作是让系统智能学习用户习惯,使生活更加智能化。
参考文献
王宏, 何洋等. 基于树莓派的远程智能门控系统的设计与实现[J]. 智能计算机与应用, 2018, (3): 79-83.
周运道, 周海军等. 基于STM32的可视化智能门控系统设计[J]. 电脑知识与技术, 2017, (19): 140-141.
余腾伟, 童旭. 基于单片机的智能家居门控制系统设计[J]. 山东工业技术, 2016, (19): 105.
郭艳平. 基于ARM的智能门警系统的设计与实现[J]. 信息通信, 2016, 61-62.
邢益良, 雷华军等. Android脚本应用开发技术[M]. 北京: 清华大学出版社, 2017.
Yiliang Xing, Huajun Lei. Design and Implementation of Integrating Geographic Location into Web Map Based on Scripting Layer for Android[C]. Hangzhou, China : Proceedings of 2016 IEEE International Conference on Big Data Analysis, 2016. 197- 200.
邢益良, 裴云等. Android PHP 和Web开发入门与实践[M]. 北京: 清华大学出版社, 2014.
飞音云电子(2018, August 19). 蓝牙控制器[Online] Avail able: https: //item. taobao. com/item. htm?spm=a1z10. 1-c. w4004-7614499511. 23. 50256e88nLyXw4&id=40339080657.
钱志鸿, 刘丹 . 蓝牙技术数据传输综述[J]. 通信学报, 2012, 33 (4) : 143-15.
www.mithril.com.au(2018, August 19). SL4A API Help [Online]. Available: http://www.mithril.com.au/android/doc/ index.html.