智能插座在智能家居机器人上的应用设计
2015-09-28陈义谱李月强
陈义谱,李月强
(北京信息科技大学仪器科学与光电工程学院,北京 100192)
智能插座在智能家居机器人上的应用设计
陈义谱,李月强
(北京信息科技大学仪器科学与光电工程学院,北京100192)
0 引言
智能家居机器人是嵌入式的主要应用之一,它以普通家庭环境为平台,利用先进的计算机技术、通信技术、传感器技术、控制技术等,将各种家用电子设备进行集中控制和监测,从而创造出高效、舒适、安全、便利的室内居住环境。
现在,市场上实现智能家居的方法很多,在这当中不乏一些优秀方案,但是在这些方案当中,很多都使用触摸屏或电脑来实现设备的控制,这将大大增加不必要使用成本。当今社会,无线路由器及智能手机、平板电脑等手持设备已经得到了广泛的普及,因此该系统利用Wi-Fi通过智能手机、平板电脑实现Web对智能家居机器人和家庭用电终端的控制,以此降低相关设备的成本。智能插座根据家用机器人采集到的温湿度等信息的控制开闭,并将电器设备的使用情况反馈给用户客户端。
该系统将家用机器人与智能插座结合起来,将极大丰富家用机器人的功能,用户只需要一个客户端软件,就能实现对机器人和相关用电设备的同时控制,既控制方便又节省成本。在无特殊要求时,只需在机器人的程序中设定好各个智能插座开断的时间点,即可实现多个用电设备定时定点的协调工作。这样,就是家用机器人的功能更加丰富,更加智能化。
1 系统框架
整个系统分为4个部分(图1),即受控终端、路由器、服务终端和控制终端。系统结构如图所示。在系统的4个部分之间,将控制终端与服务终端通过Wi-Fi连接,即可实现控制的可移动性,也避免了线路连接的复杂性。
控制终端即智能手机或平板电脑等手持终端。控制终端通过Wi-Fi实现与服务终端的连接,使用浏览器就能在Web层面对服务终端发送数据和添加命令。服务终端是整个系统的核心,是实现对受控终端传递命令的枢纽,实现对控制终端命令的处理,对受控终端信号的采集和发送。受控终端最终控制的是则是日常生活中的电器部分,本系统中主要涉及的控制对象是Wi-Fi智能插座。无线路由提供网络节点,将机器人主控制器与控制终端整合到一个网络中,综合控制。
图1 系统结构框图
2 硬件设计
硬件部分设计的实现主要是一个能够搭建Web服务器的机器人主控制模块、若干用于通信的UARTWi-Fi模块以及一个Wi-Fi智能插座。它们共同构成一个能够接收远程控制指令或者根据采集相应传感器的数据,经过Web服务器解析、处理再控制智能插座的智能家居系统。
2.1机器人主控制器Beaglebone Black
本系统中,搭建Web服务器的主控制器选用BeagleBone Black开发部,它是一款基于AM3358处理器的开发套件。该处理器拥有高达1GHz的ARM Cortex-A8内核。其扩展接口包括网口、USB Host、USB OTG、TF卡接口、串口、JTAG接口、HDMI接口、eMMC、ADC、I2C、SPI、PWM和LCD接口等。这些接口能够实现对机器人的控制以及与相关外部设备的通讯。
在本系统中,BeagleBone Black利用两个串口连接Wi-Fi模块来分别实现接受控制指令和发送控制智能插座的命令,采用若干ADC接口连接传感器采集室内的温湿度等数据。此外,开发板的P1口焊接一个5V/ 1A移动直流电源来实现供电。
2.2UART-WiFi模块
本系统中,无线通信部分采用的TLN13UA06模块是第三代嵌入式UART-Wi-Fi模块。该模块是基于UART接口的符合Wi-Fi无线网络标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈,能够实现用户串口数据到无线网络之间的转换。
在这里,该模块用于机器人控制器的Web服务器与智能插座的通信。将一个Wi-Fi模块设置成AP模式,连接在BeagleBone Black开发板的串口上,而智能插座内部的Wi-Fi模块则设置成STA模式。在PC上完成相应的密钥配置后,就能实现两者的无线通信。
2.3智能插座
用户通过人机界面或无线通讯模块设置断开的电源条件,可以设置定时断开电器的电源,在设定的时间段内断开电源。控制器通过电能采集模块对电器的电能进行采集、整流变压,然后对继电器进行操作以控制电源的开关。本次设计中的智能插座主要由交流变直流电源模块、主控制器芯片、Wi-Fi模块、继电器等构成。
本系统中,智能插座的工作原理如下:首先TLN13UA06接收来自Web服务器的指令,经UART接口传递至微控制器,再由微控制器分析处理后调用相关程序来控制继电器的导通和关断,进而控制插座的开、关。智能插座的基本结构如图2所示:
图2 智能插座结构
3 软件设计
在本系统中,软件部分的设计包括智能插座的控制程序比较简单,只需要响应Web服务器的指令完成对相应GPIO口的控制。主要的难点在于Web服务器的搭建,并且能够实现远程访问。由于服务器是在开发板中搭建,所以采用的是Linux系统下的嵌入式Web服务器。
图3 智能插座的控制程序流程图
(1)需要在机器人主控制器上完成Linux系统的移植,本系统选用的内核是3.8.13版本。先从官网下载内核源码,再依次完成系统根目录下的Makefile文件的修改、执行make menuconfig进入内核配置界面对串口驱动、ADC接口驱动等硬件结构的基本配置并进行编译。之后将生成的zImage内核镜像文件烧写到开发板中。
(2)移植Web服务器。本系统选用的是boa服务器,版本为boa-0.94.13。先在虚拟机上完成boa程序的编译、生成Makefile文件并修改文件配置;再用交叉编译器arm-linux-gcc 4.1.2编译boa程序,最后将相关文件复制到开发板上。
完成上述工作后,再在开发板上构建Web服务器环境。
图4 Web服务器软件结构图
Web服务器环境构建:
Web服务环境的构建,除了需要完成相关的硬件设计外还需要进行软件构件设计。主要是三个部分:Web服务器环境构建、应用网页设计、CGI接口程序设计。图4就是Web服务器的应用软件结构。
3.1Web服务环境构建
本系统使用的是boa服务器,是一个单任务的Web服务器,只能一次完成用户的请求,但是能通过CGI程序fork出一个进程来执行相应的客户请求。要完成Web的环境搭建,需先在PC的虚拟机上进行BOA程序的编译和配置文件的修改,并设置相关目录,再移植到开发板上即可。本系统使用ServerSocket创建TCP服务端,部分代码如下:
3.2应用页面设计
在Web服务环境搭建好后,根据应用需求设计相应Web页面。本系统中,机器人的Web服务器通过CGI程序来获取用户的请求、查询条件,使用HTML方式描述结果并直接回送到客户端的浏览器上,此过程中浏览器将用户输入的数据发送到Web服务器,Web服务器将数据送到CGI程序。在执行CGI程序后,会访问数据库的记录,最后输出HTML形式的结果文件,经Web服务器送回浏览器显示给终端。下面给出了显示插座状态信息的代码(省略了显示格式的代码):
3.3CGI接口程序设计
要实现对智能插座的控制,需要设计CGI程序,CGI接口程序采用C语言进行编写,包括三个部分:标准输入、环境变量、标准输出。本系统中,CGI接口程序由设备状态查询程序和设备参数设置程序组成。CGI程序与Web服务器的数据传递利用环境变量来完成。下面是控制智能插座CGI的相关程序:
这里主要的工作是获取并解析Web服务器提交过来的数据,然后传递给智能插座,最后调用智能插座的IOCTL函数控制继电器的闭合或者断开。在这个过程中,通过给按钮赋予不同的值,再通过QUERY_ STRING向shell脚本传输命令。
此外,为方便手机远程控制,本系统开发了一个Android环境下的简单浏览器,其包含两个组件:一个用于输入URL的文本框;一个用于加载并显示URL对应网页的WebView。在这里,URL组件的定义如下:
安装该浏览器后,就可以在装有Android系统的终端上访问Web服务器,监控用电设备的使用情况。
4 功能测试
本系统主要考虑终端的浏览器对机器人的控制以及机器人控制器对智能插座的控制,由于各个模块的通信均是在Wi-Fi环境下实现,需要测试系统各个部分之间双向连接和数据交换。功能测试包括两方面内容:
控制命令从用户处发出,经过路由器送到Web服务器再到智能插座,并控制智能插座的继电器通断;
在收到查询命令时,读取智能插座的状态数据,数据从智能插座出发,送达Web服务器,处理后经路由器将结果返回给用户,用户可以在终端的Web浏览器上查看。
本系统以Beaglebone开发板和一个智能插座为基础,另配置必要的模块,进行功能验证。在Wi-Fi环境下,通过上位机浏览器访问Web服务器,向智能插座发送控制命令,同时接收智能插座传来的数据。经实验验证,各模块之间的通信、控制插座通断、检测用电设备工作状态的功能都能实现。没有人的指令的情况下,机器人能依据检测到的温度、亮度等室内环境数据,再结合语言设定好的时间点,对家用环境下的多个电气设备进行良好的协调控制。
实际测试的结果可以说明本系统方案具有可行性。
5 结语
本系统从安全、节省电能的角度出发,采用Beaglebone Black开发板作为主控制器,通过Wi-Fi模块与智能插座通讯,实现远程控制插座的开启和断开。经实际试验证明,该系统试验效果良好,操作简单,使用方便,比单独的智能插座和家用机器人效率更高、更加节能,能够为用户提供安全、实时、可靠的服务。可以预见多功能的家用机器应用的前景十分广泛。
同时,本系统将智能家用机器人与智能插座结合起来,完善了家用机器人的功能,具有智能节能和远程开关功能。经过测试,系统显示出了良好的控制效果,不仅使家用电器的待机功率大幅减少;智能机器人的加入,使得部分家用电器实现无人化控制,居住环境就变得更加舒适、更加智能化,在智能家居方面具有很好的社会效益和广泛的市场价值。
[1]刘平.Android手机访问服务器的一种数据交互方法[J].电子设计工程,2010,09:96-98+102.
[2]张新星.基于Android手机的智能插座设计[D].浙江大学,2014.
[3]张锟.基于Android手机的智能遥控器设计[J].网友世界,2012,09:39-41.
[4]成玉梅.基于ATMEGA8单片机的智能定时节能插座的设计[J].新课程研究(中旬刊),2013,04:136-138.
[5]马梅,徐言飞,王鹏,朱杰.基于STM32的智能省电无隐患插座设计[J].电视技术,2014,23:68-71.
[6]曾磊,张海峰,侯维岩.基于WiFi的无线测控系统设计与实现[J].电测与仪表,2011,07:81-83+96.
[7]高聚银.基于云平台的智能家居系统设计与实现[D].哈尔滨工业大学,2013.
AM3358;TLN13UA06;Home Robot;Smart Socket;Wi-Fi
Application of Smart Socket in the Intelligent Home Robot
CHEN Yi-pu,LI Yue-qiang
(School of Instrument Science and Opto Electronics Engineering,Beijing Information Science&Technology University,Beijing,100192)
1007-1423(2015)34-0056-05
10.3969/j.issn.1007-1423.2015.34.015
陈义谱(1988-),男,湖北荆州人,硕士研究生,研究方向为ARM嵌入式
2015-11-03
2015-11-26
随着智能应用技术的发展,智能家居机器人也成为一种新的趋势。然而,由于成本、操作复杂,多功能智能化的家用机器人也仅仅在某些豪宅中出现。因此,设计一套功能多样化、操作简单的智能家居系统。这套系统主要是将目前比较实用的智能插座与家用机器人结合起来。
AM3358;TLN13UA06家用机器人;智能插座;Wi-Fi
李月强(1968-),男,北京人,副教授,研究方向为光电检测技术
With the development of intelligent application technology,the intelligent home robot has become a new trend.However,due to the cost of operating complex,multi-functional intelligent home robot is only in some luxury.Therefore,designs a set of multiple functions,simple operation of the smart home system.This system is mainly to combine the practical application of intelligent socket with the home robot.