赫 亮 / 龚 蕤 / 崔晓飞 / 王建华
1. 北京建筑大学机电与车辆工程学院, 北京 100044 2. 中科院建筑设计研究院有限公司, 北京 100190
基于AppInventor的智能感知系统App设计
赫 亮1/ 龚 蕤1/ 崔晓飞1/ 王建华2
1. 北京建筑大学机电与车辆工程学院, 北京 100044 2. 中科院建筑设计研究院有限公司, 北京 100190
智能感知系统是智能家居的重要组成部分,通过利用智能手机和蓝牙通信模块开发了智能感知系统,以App软件的形式安装在手机上,以实时获知环境或健康参数。
App 智能家居 蓝牙
在如今来势汹涌的智能家居大潮中,创新和科技是关键因素。一般来说,智能家居控制系统的控制对象包括:空调或地暖、空气净化器、电动窗帘或电动开窗器、灯光、安防系统、门控系统、智能床、自动叫醒等。其中,最受消费者欢迎的智能家居功能有以下几项。
1)智能家庭安防系统
系统配有高清摄像头、人体红外感应器、门磁报警器、烟雾传感器、煤气传感器,对家庭进行全天候保护,一旦发生火灾或煤气泄漏,手机会自动收到短信或电话报警,并启动安全模式,预防危险发生;手机实时连接家里的高清摄像头,可随时随地查看。
2)智能灯光控制系统
将智能家居开关与智能控制器连接,可在居室内任意位置控制所有灯光的开/关,还可以通过设置场景记忆模式来控制客厅、餐厅、书房及过道灯光的开/关和亮度等。
3)中控管理系统
集中管理家中所有设备(家电照明、多媒体),对家中环境进行智能监测,可使用手机进行远程控制。
4)家庭门禁系统
智能门锁能够识别开门动作,门开灯亮;朋友到访,可以远程开门。
5)家电控制系统
个性定制,通过手机控制所有家用电器;定时预设,控制电器开启与关闭时间;联动控制,融合灯光、音乐系统;远程控制,远程启动家中空调设备。
6)家庭影音系统
利用多媒体娱乐平台把家打造成娱乐中心,运用先进的微电脑技术、无线遥控技术和红外遥控技术,在程序指令控制下,根据用户需求,把机顶盒、卫星接收机、DVD、电脑等多路信号源发送到每一个房间的电视机、终端设备上实现一机共享。
7)智能感知系统
根据遍布的温/湿度、光照度、语音识别、人体红外等各类传感器,可自动感知家居的环境状态,并自动运行空调、窗帘、新风等系统;利用穿戴的智能手表或手环,用户不仅能控制家用设备,还可以实时查看自身的身体状况。
8)能源管理系统
通过云服务器的大数据分析,该系统会自动统计用电情况,诊断各类电器运行状态,量身定制高效用电方案,实现更好地节能。
近年来,基于无线控制功能,智能手机在智能家居领域中扮演着举足轻重的角色。智能手机的App开发是其中的重要环节,开发平台多种多样,包括Xamarin(跨平台的应用开发)、App Inventor(网络开发平台)、Android Studio(Android集成开发工具)、Eclipse(开放源代码的基于Java的可扩展开发平台)等。
以Android平台为例,在App软件的开发设计中,通常App开发采用Java+SDK+Eclipse模式,需要设计人员既掌握Java语言,又能使用Debug调试程序,入门较难,这阻碍了很多具有创意却苦于没有经过编程训练的人员进行App开发。而App Inventor是一个完全在线开发的安卓编程环境,去除了繁琐难懂的代码而使用积木式的堆叠法来代替编程,门槛低、入门易,避免了复杂的程序过程设计,用户可以根据自己的需要来添加选项功能,简洁直观。
本文中设定的智能感知系统在通过手机App设计实现时主要兼顾以下几个功能。
1)实现手机与感知设备之间通讯的连接和断开,与硬件系统之间的信息交互及感知包括室内空气质量、温度、湿度、光照度、人体健康状况等在内的参数信息。
2)通过蓝牙通信模块的开发,在蓝牙连接成功之后,利用单片机对相应传感器的控制进行数据采集;在数据采集完成后,通过蓝牙将数据发送给App,显示到用户手机上。
3.1开发组件
在该软件的开发中共需12个可视化组件和6个不可视组件,其中部分组件的具体说明如下。
1)标签组件:可视化组件,共5个,分别向用户提供不同的提示信息。
2)按钮组件:可视化组件,共4个,其功能分别为接收PulseSensor心率传感器内容、接收MLX90614传感器内容、打开蓝牙列表、断开蓝牙连接等。
3)文本输入框组件:可视化组件,共2个,分别用于向用户展示2个传感器收集到的数据。
4)下拉选项组件:用于跳转至蓝牙配对设备界面。
5)蓝牙客户端组件:不可视组件,用于与硬件部分进行信息的发送与接收。
6)对话框组件:不可视组件,用于向用户提供一些消息通知,当用户退出App时,该组件会弹出一个对话框,提醒用户是否退出App。
7)activity启动器组件:不可视组件,用于当某些动作发生时启动某个功能的组件。
8)音效组件:不可视组件,用于为按钮添加音效。
9)文件管理器组件:不可视组件,用于获得来自单片机发送的数据。
3.2核心界面设计
App核心界面的开发过程具体如下。
1)通过App Inventor编程,在核心功能设计界面打开附近蓝牙设备菜单,通过选择蓝牙连接成功后提示用户“蓝牙配对成功”;设计断开连接按钮,点击后断开所配对蓝牙设备,并提示用户“蓝牙连接已断开”。
2)通过App Inventor编程,蓝牙连接成功后,在核心功能界面设计“测心率”与“测体温”按钮,用户通过点击该按钮,由App通过蓝牙向单片机发送开启PulseSensor心率传感器及MLX90614体温传感器的信号,并在按钮后方设计显示框,接收来自单片机发送的测量数据,显示给用户。
3.3蓝牙通信模块开发
根据功能需求,对所需组件进行蓝牙通信模块的模块化编程。
首先初始化三个按钮,确认三个按钮显示状态,若蓝牙已经启动,则将“蓝牙”按钮文本改为“蓝牙已开启请选择设备”的提示语;若蓝牙未开启,则通过Activity活动期开启蓝牙。模块程序如图1所示。
图1 蓝牙启动器
待蓝牙开启后,通过下拉选框组件进行蓝牙设备连接的选择,若蓝牙被连接,则通过Activity启动器启动调出蓝牙配对列表菜单,如图2所示。
图2 Activity调用蓝牙
待蓝牙成功配对后,将选择设备的文本设置为所配对蓝牙的地址及名称,方便用户了解所配对蓝牙是否正确,如图3所示。
图3 选择设备按钮
图5 接收蓝牙数据模块
通过设置一个全局变量“HC06”将所选择配对的蓝牙设备赋予全局变量,同时设置“断开连接”按钮为提醒用户“蓝牙已连接,点击断开”,如果蓝牙客户端没有发现与全局变量相同的配对设备,则通过对话框组件提醒用户“蓝牙连接失败,请检测”,如图4所示。
图4 蓝牙连接模块
若“测心率“按钮被点击,调用蓝牙客户端会向单片机发送字符串“1”,单片机接收到“1”后,将对应传感器的数据发送给手机客户端,蓝牙客户端通过判断单片机所发送的字节数,如果所接收到的字节数>0个,则调用文本输入框组件,将蓝牙客户端接收到的文本赋值给文本输入框中,如图5所示。
同理,如果需要显示其他传感器的数据,如体温、PM2.5、有害气体浓度等,除发送字符串的数值不同外,其余控制程序与图6相同。
图6 断开连接按钮
最后,当用户想断开蓝牙关闭程序时,通过点击断开连接按钮,调用蓝牙客户端组件断开蓝牙连接,同时重置所有按钮的文本,保证下一次开启后按钮文本不变。
图7为体温和心率测量电路,图8为手机App显示的测量结果。在此基础上还可以增加其他的参数显示,简单方便。
图7 心率和体温测量电路实物图
智能家居控制系统目前种类繁多,但大都价格不菲,本文详细介绍了智能家居感知系统手机App的开发方法,简单实用,为用户根据自己的需要和喜好,构建自己个性化的智能家居提供了可行的方法。
图8 手机App显示测量结果
[1] 陈光毅.人体健康指标实时监测系统[D].哈尔滨理工大学,2017.
[2] 牛海涛,毛橙洁.手机应用开发-App Inventor 应用程序设计与实践[M].北京:科学出版社,2015.
[3] 杨长龙.基于蓝牙技术的智能家居控制器的研究与设计[D].北京工业大学,2013.
[4] 王杰. 基于Android与App Inventor的移动学习资源开发实践与思考[J]. 广东开放大学学报,2016,(04):38-42.
[5] 陈应. 物联网技术下的智能家居应用实例[J]. 智能建筑,2013,(02):44-46.
AppDesignofIntelligentPerceptionSystemBasedonAppInventor
Hao Liang/ Gong Rui / Cui Xiaofei / Wang Jianhua
Intelligent perception system is the important part of smart home. Through using smart mobilephone and bluetooth module to develop intelligent perception system which installed on a mobilephone in form of App software, so that the environmental or healthy parameters are acquired in real time.
App, smart home, bluetooth