英语原文共 30 页,剩余内容已隐藏,支付完成后下载完整资料
使用MIT App Inventor 2为基于蓝牙的智能家居进行高效的Android软件开发
Trio Adiono 1 · Sinantya Feranti Anindya 2 · Syifaul Fuada 2 · Khilda Afifah 3 ·
Irfan Gani Purwanda4.
Published online: 2 January 2019
copy; Springer Science Business Media, LLC, part of Springer Nature 2019
摘要:本文介绍了一个基于蓝牙的智能家居系统的Android应用。本研究的目的是设计、开发和评估一个智能家居系统的用户界面原型。所设计的移动端App被命名为MINDS-apps V1,它被希望能够完成三项任务:(1)软控模式控制,即RGB环境灯和风扇;(2)硬控制,即一般的电源开关、窗帘、门锁和(3)监控用途,即湿度和温度传感器。实验总共使用了六种类型的智能家居设备。使用MIT App Inventor 2,设计过程分为两个阶段:使用组件设计器进行用户界面设计,使用代码块编辑器实现编程逻辑。一旦设计完成,应用程序就会编译成2.23 MB大小的可调试APK文件,然后在前面提到的6个设备上进行测试。
MINDS-apps甚至可以在低端移动设备上运行,这些设备有1g的随机访问内存(RAM)和2.1版的蓝牙。
关键词:Android应用 蓝牙 MIT App Inventor 智能家居
一、引言
智能家居是一个系统,包括联网的各种设备和传感器,以便监测和控制,以加强家庭环境[1]。一般来说,接受用户输入的智能家居系统都配备了移动应用程序。
该应用程序作为一个工具,让用户与家中的设备进行交互,尤其是对于在角落里或不好够到的设备。应用程序通常使用Java或Swift等面向对象的编程语言开发。然而,从零开始开发Android应用程序可能并不适用于所有情况,特别是在原型开发过程中,设计者应该专注于移动应用程序[2]的概念和设计。此外,设计者可能会寻找更简单、更快的解决方案来开发移动应用程序,特别是对于那些没有特殊编程技能的人来说。因此,有时使用可视化编辑器来构建智能家居应用程序的原型是更好的选择,这样设计师就可以更轻松地开发其草图并实现预期的概念。最常用于上述目的的应用程序之一是MIT App Inventor 2。
MIT App Inventor 2是一个基于web的、免费访问的、可拖放的可视化环境,它为用户提供了一个图形界面来设计和构建全功能的Android应用程序[4,5]。MIT App Inventor 2包含两个部分,即组件设计器和块编辑器。如图1所示的组件设计器允许用户拖放文本框和按钮等元素来创建Android应用程序的用户界面。同时,块编辑器允许用户通过安排逻辑块[6]来对组件进行编程,这些逻辑块类似于拼图,具有自己独特的制表符和空格,如图6所示。
这使用户能够创建一个特定的或通用的程序,同时还可以防止大多数可能的错误。此外,由于是针对教育目的,MIT App Inventor 2的易用性也使其适合于在进一步开发Android应用程序以实现更高级的功能之前的原型制作过程。
近十年来,MIT App Inventor 2已经被应用于各种项目中,例如用于教授自动化系统[7]、智能交换机[8]、游戏和问答[9],以及各种类型的智能家居控制[10-12]。
图1 MIT App Inventor组件设计模块
在家庭自动化系统中有几种常用的通信技术,如Zigbee、蓝牙、近场通信(NFC)[13]、远程无线电(Lo-Ra)、红外线(IR)[14]、无线保真(Wi-Fi)、甚至可见光谱(VLC)[15]。在这项工作中,MIT App Inventor 2被用来设计一个用于控制基于蓝牙的设备的Android应用程序。我们使用蓝牙是因为它是目前商业智能手机中最常见的通信协议。因此,该技术可以直接使用,而不需要额外的模块在智能手机上。
这项工作是从我们之前的研究[16] 的扩展版本。本文描述了三件事情:(1)开发的MINDS-apps V1 Android应用程序的特点;(2)利用MIT App Inventor 2对每个特点进行设计和实现;(3)对构建的应用程序进行测试。我们使用了网状Internet-Networked系统(MINDStrade;)平台,其系统架构在第2节中进行了说明。
二、智能家居建筑
如第1节所述,我们使用了MINDStrade;智能家居系统(www.MINDS.co.id)。用于用例。该系统包括两类家用电器,即基于机械和基于电子的[17,18]。在这个系统中,智能家居系统利用蓝牙协议,在智能手机上的Android应用程序和作为智能家居控制器的Raspberry Pi主机之间建立通信桥梁。主机通过网状网络使用Zigbee协议与设备(节点)通信[19,20]。整体架构如图2所示,由于使用蓝牙,系统演示仅在室内环境下进行。要在户外环境中使用家用电器,需要在主机上安装一个特定的服务器和一个Wi-Fi模块/工具包。
本文没有讨论服务器和Wi-Fi模块的实现方案。
MINDStrade;平台本身包括一个使用开发的Android应用程序充当遥控器的智能手机,一个用于主机防水的盒子以及六种类型的节点:(1)RGB环境灯,(2)风扇,(3)电动门锁 ,(4)窗帘控制器,(5)电源开关和(6)湿度和温度传感器。节点的外观如图3a所示。
图2 MINDStrade;平台智能家居系统方案,3D视图再现。2D视图中的原始图像可以在[21-24]中看到。
图3 a 定制的智能家居设备,从[25]获得许可;b每个智能家居设备的硬件架构,源自[26]。(颜色图在线)
表一 智能家居设备的层次结构
No. |
Zhaojing et al. [27] |
MINDS 平台 |
||
电器 |
层次结构 |
电器 |
层次结构 |
|
1 |
普通照明 |
Ⅰ |
电源开关(插头)和电动门锁 |
Ⅰ |
2 |
控制系统 |
|||
3 |
冰箱 |
|||
4 |
电饭煲 |
|||
5 |
电扇 |
|||
6 |
洗衣机 |
Ⅱ |
风扇、窗帘控制器 |
Ⅱ |
7 |
干衣机 |
|||
8 |
微波炉 |
|||
9 |
抽油烟机 |
|||
10 |
空调 |
Ⅲ |
红外遥控器[28](这里不讨论) |
Ⅲ |
11 |
装饰照明 |
RGB环境灯 |
||
12 |
电视 |
温度监测 |
||
13 |
电脑 |
湿度监测 |
||
14 |
扬声器 |
烟雾报警器(这里不讨论) |
在这项工作中,我们选择了几个上述的终端设备,这些设备被认为能够代表Zhaojing等人设计的每个层次结构。 [27](如表1所示)。 该划分基于需求水平(最重要的系统)和对居民的严重影响,即等级(I)追求生活质量; (II)简化基本生活; 确保系统; (III)用户还活着。
常规灯泡、门、窗帘和插头始终出现在住宅中。但是对于家庭而言,它最基本的存在的、需求是门锁和电源开关(插头),这两个设备的节点都需要持续供电。因此,我们可以用第一组来定义它。接着,第二组的电器包括窗帘控制器和风扇,因为它可以使生活更便捷。而第三组智能家电包括RGB环境灯和传感器,这是超出需要的设备,有助于提高生活质量。有了MINDStrade;平台,人们的生活将变得既实用又轻松。当我们想要“开/关”风扇或“关/开”门,或“打开/关闭窗帘”或“监测室内环境的湿度和温度”或“享受控制灯的颜色”时,用户只需通过MINDS-apps V1来实现。
三、应用程序设计与实现
如前面的引言部分所述,该应用程序是使用MIT App Inventor 2开发的,它由组件设计器和块编辑器组成。 先前在图1中描述的组件设计器是用户设计应用程序用户界面的部分,而在图4中所示的块编辑器,是用户使用Scratch编程语言来定义用户界面的每个组件的行为方式的部分。在本节的每个部分中,都会描述用户界面的外观以及其组件的工作方式,并根据给定的描述对Scratch逻辑块进行实现。
3.1 蓝牙连接
应用程序使用蓝牙协议与主机通信,因此用户需要知道主机的蓝牙地址和连接状态。采用蓝牙技术的智能家居连接流程图如图5所示。
图4 MIT Inventor 2 的块编辑器部分
图5 主系统工作流程
由于该应用程序是作为概念验证(POC)开发的,因此仅解决了控制和监视系统中家用电器的可行性问题,而本项工作不会解决“隐私控制”问题。 允许用户通过选择主机的蓝牙来访问智能家居管理节点,而无需进行安全检查。
为了支持该功能,专用于此任务的部分围绕五个组件构建,如图6所示,即:
bull;“蓝牙目标”按钮,用于检测所有可用于配对的蓝牙设备
bull;包含主机名的文本框
bull;通知连接状态的标签,在应用程序配置后将可见
连接到主机
bull;“连接”按钮
bull;“断开连接”按钮。
一旦定义了用户界面的外观,下一步就是通过安排逻辑块来定义元素的工作方式,如图7和8所示。连接过程如下:首先,用户从远程蓝牙设备列表中选择目标。 接下来,文本框将显示所选蓝牙设备的名称,并根据设备的可用性显示不同类型的连接状态:已配对,已配对和可用,已配对和可用和启用,已配对以及可用和已禁用,已配对且不可用,不配对。 当按下“连接”按钮时,应用程序将尝试连接到目标,并根据结果显示新状态:连接成功或失败。 另一方面,当按下“断开连接”按钮时,文本框将被清除,状态消息将变为“断开连接”。
图6 蓝牙连接部分的用户界面,禁止连接状态
图7 用于远程蓝牙设备选择和状态的逻辑块布置
图8 “连接”和“断开”按钮的逻辑块布置
3.2 RGB环境灯
设计的智能家居系统中的一种设备类型是可由用户控制的RGB环境灯。 该终端设备的流程图如图9所示。
为了控制RGB环境灯,如图10a所示,在用户界面中有12个组件组成该设备的部分,即:
bull;1个矩形和1个圆形排列为灯形,以根据颜色显示颜色变化
用户的配置
bull;1个按钮可关闭灯泡
bull;3个按钮,将红色,绿色和/或蓝色值设置为最大值(255)
bull;3个滑块可调整红色,绿色和/或蓝色值
bull;3个标签,描述当前的红色,绿色和/或蓝色值。
通常,RGB环境灯用户界面的工作方式是让用户首先为灯定义RGB值,然后他们可以预览组合在图标中的显示方式。 设备有两种控制类型:当用户使用R / G / B按钮将值最大化时为“硬控制”,或者当用户使用滑块创建自己的颜色组合时为“软控制” 。 颜色组合遵循图10b中所示的RGB图表。
图9 RGB环境灯
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[240383],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。