智能家居系统在安卓平台的应用
摘要:本文提出了一种灵活独立的,低成本的智能家居系统,它是基于安卓应用与微web服务器通信,不仅仅提供交换功能。 Arduino以太网的使用是为了避免使用个人电脑从而保证整个系统成本最低,语音激活时用来实现切换功能的。光开关,电源插头,温度传感器,湿度传感器,电流传感器,入侵检测传感器,烟雾/气体传感器和警报器等这些设备集成在系统中,表明了所提出的智能家居系统的有效性和可行性。经过检测,智能家居应用程序可以成功地进行智能家居操作,例如开关功能,自动环境监测,和入侵监测,在监测到有不法入侵后,系统会自动发送一个邮件,并响警笛。
关键字:安卓平台,智能家居,物联网(loTs),远程控制
1.引言
随着移动设备受欢迎程度的不断增长和人们日常生活中对无处不在的先进的移动应用的功能需求不断增加,利用Web服务是提供远程访问服务的最开放和可互操作的方式,并且使应用程序能够彼此通信。一个有吸引力的市场产品自动
化和网络化是忙碌的家庭和有生理缺陷的个人的代表。
loTs可以被描述为连接平台,网络电视,传感器等到互联网,实现人们之间沟通的新形势。过去几年中loTs的发展,创造了一个新层面的世界。这使得人们可以在任何时间,任何地点,联通任何期望的东西。物联网技术可用于为智能家居创建新的概念和广阔的空间,以提供智能,舒适的发展空间和完善生活质量。
智能家居是一个非常有前途的领域,其中有各种好处,如增加提供舒适性,更高安全性,更合理地使用能源和其他资源。这项研究的应用领域非常重要,未来它为帮助和支持有特殊需求老的人和残疾人士提供了强有力的手段。设计一个智能家居系统时需要考虑许多因素,该系统应该是经济实惠的,是可伸缩的,使得新的设备可以容易地集成到系统中,此外,它应该是用户友好的。
随着平台用户的急剧增加,平台已经逐渐变成了具备所有功能的便携式设备,为人们提供了日常使用。本文介绍了一种低成本的控制和监视家居环境控制的无线智能家居系统。
利用安卓设备,可以通过一个嵌入式微Web服务器与实际的IP连接,访问和控制电器和远程的其它设备,这可以利用任何支持安卓的设备。 Arduino Ethernet 用于微Web服务器从而消除使用PC与系统的需要,以访问智能用户认证家居系统。语音激活切换应用程序也被纳入到帮助用户特别是老人和残疾人中。
2.相关文献
智能家居虽然不是科学界的新名词,但它仍然远离人们的视觉与听觉。随着电子技术的融合,家庭自动化领域不断扩大。文献[5]到[10]提出了各种通过蓝牙控制的智能系统,文献【11】到【13】提出了各种通过互联网控制的智能系统,短消息服务(SMS)的基础[ 14 ],蓝牙功能等。目前大多数笔记本电脑/台式电脑,平板电脑和手机都有内置的适配器,将间接降低系统成本。然而,它限制了控制范围内的蓝牙环境,虽然大多数其他系统降低成本的解决方案不太可行。
在【15】中,描述了一种基于Wi-Fi的家庭自动化系统。它使用一个基于Web服务器的PC(内置Wi-Fi卡)来管理连接的家用设备。用户可以管理和控制本地系统(局域网)或远程(网络)。该系统支持大范围的家庭自动化设备如电源管理组件和安全组件等。在文献【16】中提出了一个类似的结构,其行动是由运行在PC上的家乡代理实现的。其他文件如文献【17】到文献【20】也提出了由专用的Web服务器,数据库和管理设备的互联网页组成的网络控制系统。这些系统利用PC机从而直接导致成本的增加和功率消耗。在另一方面,网页的管理和发展也会带来额外的成本。
文献【21】描述了一种基于语音激活的无线自动化的微控制器的设计与实现系统。用户说出的语音指令通过麦克风,处理和发送的语音信号通过无线射频(RF)链接到主控制接收单元。语音识别模块是用于提取语音命令的特征。该提取信号是不是由单片机处理执行所需操作。缺点是该系统必须在射频范围。参考文献【22】描述了一种声音激活智能家居自动化系统。本系统提供图形用户界面(GUI)使用微软Visual Basic软件的PC主机,并使用微软语音识别发动机。信号通过RF链路发送给单片机的家电器接口。PC的使用增加了成本和功耗消费。
上述文献描述了智能家居系统的一个显着的优势。然而,PC机作为服务器,增加了成本和功耗,而第三方网页寄存,需要增加额外的成本。语音激活系统可以使用PC语音识别软件或单独的语音识别模块。
3.系统的设计
3.1系统的体系结构
所提出的设计描述了一种低成本的智能家居的远程控制和监测系统。所提出的系统架构概述显示在图1中,该系统包括应用在安卓平台上的发展和一个以太网为基础的Arduino平台微型网络服务器。并需要进行必要的操作。传感器和致动器/中继直接连接到主控制器。智能家居环境中,你可以从远程位置控制和监视使用智能家庭应用,这将通过互联网微Web服务器通信, Wi-Fi连接,或通过任何可用于用户设备上的互联网3G/4G网络。
图1 智能家居的网络架构
所提出的设计提供的功能是能源管理系统等的控制功能例如照明,电源插头和HVAC (供暖,通风和空调)系统;安全和监控系统,如火灾探测和入侵检测与报警器和电子邮件通知;全自动智能家居环境控制,如保持一定的温度;语音激活的切换功能,如具有用户认证访问的智能家居系统。
3.2. 安卓平台应用软件开发
开发平台应用程序的平台有多种,如Windows Mobile,塞班,iOS和安卓。在这些系统中,安卓平台的应用程序开发使用Java程序设计语言,安卓 软件开发工具包(SDK),也已被用于开发和实现智能家居的应用程序的。该SDK包含了一套完整的开发工具如调试器,库,手机仿真器的文档,示例代码。Eclipse是官方支持(在Windows 7的开发平台上运)的集成开发环境(IDE)已经被用在结合了安卓开发工具(ADT)插件开发的智能家居应用中。智能家居的屏幕截图示于图2,而智能家居应用程序处理过程示于图3。
图2智能家居的屏幕截图
图3 智能家居应用程序的进程处理
智能家居系统设计的应用程序为用户提供了以下功能:
1.远程连接到智能家居微Web服务器;需要服务器实IP和用户身份验证。
2.设备控制和监测。
3.计划任务和设置自动控制的智能家居环境。
4.密码修改选项。
5.支持语音激活的切换功能。
为了成功地连接并访问智能家居微Web服务器,用户必须输入正确的真实IP地址和密码(请参阅图2.A)。如果微web服务器允许进入智能家居的应用程序,将收到包含响应代码200的响应数据包。该应用程序处理响应数据包,以确定微网络服务器的响应。响应码200表示密码是正确的,并且应用程序将切换到主控制页面,使用从所述响应分组中的数据,以反映该智能的实时状态同步家庭设备(见图2.B)。如果该密码不正确,响应码404将被接收。一般响应分组布局示于图4中的响应码和设备与他们的状态是通过在设备的空间分离,其状态是由一个冒号分隔。例如,如果用户从应用程序中要求开启灯1的动作是成功的,它响应的分组将是“200 Light_1:1”。零表示关闭状态,而1表示用于切换功能的状态。
图4 响应分组的一般布局
用户可以从被授权的GUI中执行所希望的操作。开关动作也可以通过使用该谷歌语音识别引擎设备上可用的语音激活执行(见图2.C)。密码也可以通过智能家居的应用程序的用户管理。点击GUI上的密码更改按钮,然后会要求用户输入旧密码(见图2.B)。如果新的口令不包含新密码,命令包匹配被发送到微web服务器。如果密码修改成功,响应代码201将被接收。自动模式也可以激活此处智能家居环境被自动地控制,例如保持一定室温并在夜间/白天,开启/关闭某些开关。
当用户在智能家居应用中执行相关动作时,命令分组经由互联网发送到微web服务器。命令数据包的整体布局示于图5中。命令包是否格式化以这样一种方式,微网络服务器是很容易读取并提取从分组的信息。例如用于接通与defaultpassword风扇,发送的命令包将是“$$ 1234 Fan_On”并为风扇速度设置为2的命令包将是“$$ 1234 FanSpeed_2”。
3.3智能家居微型网络服务器的软件开发
微Web服务器的主控制器是由服务器应用软件和Arduino的微控制器固件组成的的智能家居系统的心脏。服务器应用软件是库实现使用的Arduino以太网屏蔽连接到互联网,通过TCP/IP,这可以作为在服务器和客户端上的Arduino Mega 2560运行微web服务器的。以太网文库“<Ethernet.h>”被用来发送和接收数据在与微控制器一起使用。发送到智能家居的应用程序的输出消息是JavaScript对象符号(JSON)格式。
利用Web服务是提供远程访问服务,或使应用程序之间相互沟通的最开放和可互操作的方式。简单对象访问协议(SOAP)和代表性状态传输(REST)是两类Web服务。但是,REST FUL基于Web的服务已经采用,由于其重量轻,相比基于SOAP的Web服务提供类似的功能。标准GET和POST请求的操作已被用于智能家居应用程序的微型网络服务器之间的通信。例如,如果在智能家居应用的用户动作是激活房子报警系统,随后的消息交换发生的示于图6。
图6 智能家居app和微网络服务器之间的消息交换
主控制器通过初始化以太网,建立它们之间的连接。变量包括状态变量的初始化和单片机的中断使能。如果被运行的第一次与智能家用服务器代码的主控制装置,那么1234的缺省口令被初始化。否则,该密码被从EEPROM读取和存储于密码变量。密码被存储在微控制器的EEPROM,以便主控制器完全关闭,这可能是由于某些原因,如低或无电源或者用户重新启动系统之后开始仍然可用。在初始化后,系统进入空闲模式之前,客户端被提供。图7示出了用于主控制器的一般流程图。客户端提供的命令包被接收并且信息被提取。一旦该命令包被接收并且数据被提取或解码则执行操作子例程处理该认证检查和动作进行。图8示出了用于表现动作的子程序的流程图。
图7 主控制器的操作的流程图
图8 主控制器执行操作的子程序
一旦执行操作子程序被调用时,用户认证是密码验证。如果该密码不正确,该响应被发送回客户机,用户应用程序的客户端断开。然而,如果验证是正确的,然后请求的动作被执行。发送用于不同操作的响应码执行已经讨论过。如果请求的操作是改变密码,然后新密码写入EEPROM,密码变量初始化为新密码。之后进行的每一个动作,所述响应分组发送到之后,响应代码被初始化到404的客户端。
单片机的中断是用来忽视安全和监控,如烟雾,火灾,煤气或入侵检测。如果任何一个传感器被触发,产生中断。微控制器随后确定中断的已生成的类型。一旦中断生成的类型是已知的,警报器被接通和电子邮件通知发送到用户指定的交友包括用户。例如,如果火是厨房里检测到用户收到的电子邮件将电子邮件的主题为“智能家居报警”和身体作为“消防检测的厨房”。用户可以从用户的应用程序关闭警笛或者它会在一定的时间周期取决于用户的要求后自动关闭。
3.4智能家居设备
The Arduino Mega 2560和Arduino的以太网盾已经被用于实现智能家居微Web服务器。Arduino是基于灵活,易于使用的硬件和软件的开源电子原型平台。Arduino Mega 2560微控制器板是基于具有54数字输入/输出管脚的ATmega256。以太网是通过Arduino的SPI接口引脚到Arduino。低电压开关继电器被用来与Arduino 器件集成用于演示的开关功能。的LM35温度传感器,用于监测智能家庭环境。该CG313 MQ5烟气传感器模块Arduino的已用于烟雾探测。对于入侵检测中,HC-SR501红外线PIR运动传感器模块的Arduino已经利用。
4.结果与讨论
本文描述了智能家居系统的开发和测试,以证明其可行性和有效性。开发了智能家居应用程序的屏幕截图已经呈现在图2中,这将在第3.2节中描述。如上所述,身份验证才能访问的智能家居系统。图9.A显示显示被输入的密码无效的消息。此消息的根据是从智能家居微web服务器接收到的响应。如果提供了正确的认证,该应用随后显示通知登录成功智能家庭控制页,如图9.B.当语音激活功能时,如果没有命令被抓获,将显示一条消息,提示用户再次发言(见图9.C)。
图9 智能家居应用的截图:(a)当输入密码无效(b)当登录成功(c)当没有语音命令被捕获
智能家居系统是全功能的开关应用。智能家居系统也测试了入侵和火灾探测,由此成功地检测到相应的事件并生成一封电子邮件给用户,并打开警笛。图10示出了生成的电子邮件(由于在厨房检测出火灾)和接收。
图10 收到的通过电子邮件生成的警报通知:(a)对安卓移动设备(b)台式PC
5.结论
本文提出并实现了一种可以通过远程用户认证来控制一个基于互联网的智能家居系统。基于安卓的智能家居的应用程序通过互联网微web服务器,使用REST FUL基于Web的服务进行通信。任何支持安卓的设备可安装智能家居的应用程序,并控制和监控智能家居环境。本文开发的智能家居系统成本较低,它不需要PC作为所有处理,由微控制器来处理。该系统还采用了谷歌的语音识别引擎,从而避免了外部的语音识别模块的使用。未来工程包括结合短信和打电话报警,减少了对通过创建家居环境中的无线网络进行控制和监视智能家居环境中安装所提出的系统中已存在的房屋配线的变化。
致谢
感谢为这项研究提供财政支持WooJung教育文化基金会,这有助于研究材料的采购进行研究。
参考文献
[1] G. Kortuem, F. Kawsar, D. Fitton, and V. Sundramoorthy, "Smart objects as building blocks for the internet of things," Internet Computing, IEEE, vol. 14, pp. 44-51, 2010.
[2] R. J. C. Nunes and J. C. M. Delgado, "An Internet application for home automation," in 10th Mediterranean Electrotechnical Conference (MELECON 2000), Lemesos, 2000, pp. 298-301.
[3] F. Kausar, E. A. Eisa, and I. Bakhsh, "Intelligent Home Monitoring Using RSSI in Wireless Sensor Networks," International Journal of Computer Networks & Communications, vol. 4, pp.33-46, 2012.
[4] R. Piyare and M. Tazil, "Bluetooth Based Home Automation System Using Cell phone," in IEEE 15th International Symposium on Consumer Electronics, Singapore 2011, pp. 192 - 195.
[5] S. Anwaarullah and S. V. Altaf, "RTOS based Home Automation System using 安卓,"International Journal of Advanced Trends in Computer Science and Engineering, vol. 2, pp. 480-484, January 2013 2013.
[6] C. Chiu-Chiao, H. C. Yuan, W. Shiau-Chin, and L. Cheng-Min, "Bluetooth-Based 安卓Interactive Applications for Smart Living," in 2nd International Conferenceon Innovations in Bioinspired Computing and Appplications (IBICA 2011), 2011, pp. 309-312.
[7] D. Javale, M. Mohsin, S. Nandanwar, and M. Shingate, "Home Automation and Security System Using 安卓 ADK," International Journal of Electronics Communication and Computer Technology (IJECCT), vol. 3, pp. 382-385, March 2013 2013.
[8] J. Potts and S. Sukittanon, "Exploiting Bluetooth on 安卓 mobile devices for home security applications," in Southeastcon, 2012 Proceedings of IEEE Orlando, FL 2012.
[9] R. A. Ramlee, M. H. Leong, R. S. S. Singh, M. M. Ismail, M. A. Othman, H. A. Sulaiman, et al., "Bluetooth Remote Home Automation System Using 安卓 Application," The International Journal of Engineering And Science, vol. 2, pp. 149-153, 11, January 2013 2013.
[10] M. Yan and H. Shi, "Smart Living Using Bluetooth Based 安卓 Smartphone," International Journal of Wireless & Mobile Networks, vol. 5, pp. 65-72, February 2013 2013.
[11] C. C. Ko, B. M. Chen, S. Hu, V. Ramakrishnan, C. D. Cheng, Y. Zhuang, et al., "A web-based virtual laboratory on a frequency modulation experiment " IEEE Transactions on Systems, Man,and Cybernetics, Part C: Applications and Reviews, vol. 31, pp. 295-303, 2001.
[12] N. Swamy, O. Kuljaca, and F. L. Lewis, "Internet-based educational control systems lab using NetMeeting " IEEE Transactions on Education, vol. 45, pp. 145-151, 07 August 2002 2002.
[13] K. K. Tan, T. H. Lee, and C. Y. Soh, "Internet-based monitoring of distributed control systems -An undergraduate experiment," IEEE Transactions on Education, vol. 45, pp. 128-134, May 2002
[14] M. S. H. Khiyal, A. Khan, and E. Shehzadi, "SMS Based Wireless Home Appliance Control System (HACS) for Automating Appliances and Security," Issues in Informing Science and Information Technology, vol. 6, pp. 887-894, 2009.
[15] A. ElShafee and K. A. Hamed, "Design and Implementation of a WiFi Based Home Automation System," World Academy of Science, Engineering and Technology, vol. 68, pp. 2177-2180, 2012.
[16] R. D. Caytiles and B. Park, "Mobile IP-Based Architecture for Smart Homes," International Journal of Smart Home, vol. 6, pp. 29-36, 2012.
[17] A. Z. AAlkar and U. Buhur, "An internet based wireless home automation system for
multifunctional devices," IEEE Transactions on Consumer Electronics, vol. 51, pp. 1169-1174,2005.
[18] N.-S. Liang, L.-C. Fu, and C.-L. Wu, "An integrated, flexible, and Internet-based control architecture for home automation system in the Internet era," in IEEE International Conference on Robotics and Automation, Washington, DC 2002, pp. 1101 - 1106
[19] A. Rajabzadeh, A. R. Manashty, and Z. F. Jahromi, "A Mobile Application for Smart House Remote Control System," World Academy of Science, Engineering and Technology, vol. 62, 2010.
[20] U. Sharma and S. R. N. Reddy, "Design of Home/Office Automation Using Wireless Senosr Network," International Journal of Computer Applications, vol. 43, pp. 53-60, 2012.
[21] K. P. Dutta, P. Rai, and V. Shekher, "Microcontroller Based Voice Activated Wireless Automation System," VSRD Internation Journal of Electrocal, Electronics & Communication Engineering,vol. 2, pp. 642-649, 2012.
[22] M. R. Kamarudin, M. A. F., and M. Yusof, "Low Cost Smart Home Automation via Microsoft Speech Recognition," International Journal of Engineering & Computer Science, vol. 13, pp. 6-11, June 2013.