基于嵌入式Linux的智能家居机器人技术研究
2018-10-26王培屹
王培屹
摘要:随着我国互联网大数据技术的快速发展,智能家居成为与人民生活密切相关的信息载体。智能家居主要通过嵌入式硬件、数字网络等,来完成家居环境中的智能交互与信息互联。而本文提出的智能家居机器人技术,主要包括智能家居系统、语音机器人两方面内容,通过运用嵌入式Linux、芯片控制器和无线网络技术等,能够实现用语音机器人来操控智能家居,从而满足人们对高品质家居生活的需求。
关键词:嵌入式;Linux;智能家居;机器人
中图分类号:TP273.5文献标识码:A 文章编号:1672-3791(2018) 5(b)-0000-00
智能家居技术与其他计算机技术的最大区别,在于智能家居技术主要通过人机交互,进行数据处理与信息传递。因此智能家居机器人在人机交互中,主要负责人类命令与硬件设备之间的连接,从而实现相应命令信息的执行。本文采用嵌入式Linux软件系统,结合芯片控制、信息采集、传感器与无线网络等硬件模块,来完成对家居智能设备的语音控制。
1嵌入式Linux智能家居机器人系统的总体框架
在智能家居机器人系统的设计中,主要运用语音、图像及其他传感器的识别技术,来完成家居环境中智能硬件设备的控制。因此智能家居机器人在整个操作系统中,主要起到管家与信息传达的功能。而智能家居控制系统的目标,是摆脱鼠标、键盘等传统人机交互模式的限制,达到人与硬件设备之间的实时信息交流。嵌入式Linux的智能家居系统,主要硬件设备、智能家居机器人等组成部分,这两个组成部分又包含硬件系统、软件系统两方面内容。其中智能家居机器人的硬件系统,主要包括芯片控制器、信息采集、语音识别模块、传感器等。这些智能家居硬件,可以借助于嵌入式Linux系统、无线网络通信技术等,进行人机对话与命令识别。因此智能家居系统中软硬件的结合,能够完成智能家居的信息检测、数据传输和任务执行。
2嵌入式Linux智能家居机器人系统的硬件设计
2.1芯片控制器模块
嵌入式Linux 语音识别系统的体积较小,且在单位时间内的功耗与效率高。因此在智能家居芯片控制器模块选择中,需结合芯片体积、成本、功能、稳定性和功耗等,进行芯片控制硬件的选择。本文选用Samsung公司的S3C2440 ARM处理芯片,作为智能家居硬件平台的核心。S3C2440 ARM芯片主要包括语音转换、信息处理与内存等模块,CPU最大总线频率可达533 MHz。其中语音转换模块负责高速数字信号的处理,内存模块主要完成数据的读取与存储(读取速率可达16 kB/s)。因此S3C2440 ARM芯片控制器模块,能够为应用程序的高速运行提供保障。
2.2信息采集模块
智能家居机器人系统的信息采集模块,主要对家居空间中的语音、图像信息进行采集。其中图像信息采集使用OmniVision公司的OV9650传感器,OV9650具有1280x1024分辨率、130万像素,且寄存器控制协议为SSCB接口。因此可以通过SSCB接口,将OV9650传感器与S3C2440 ARM芯片控制器进行连接,来完成空间图像的采集、识别与传输。而且运用S3C2440 ARM芯片控制器进行图像处理,能够提高信息处理的速率。
2.3语音识别模块
语音识别模块为智能家居机器人的核心模块,也是语言学习、语音识别与信息处理的模块。而且语音识别模块也是借助于S3C2440 ARM芯片控制器,来完成语音编码、语音解码,以及控制指令的输出与命令执行。在智能家居系统的语音识别过程中,首先系统会进行人类语言的学习,之后对家居空间的语音进行识别。这里语音编解码芯片就会根据输入的语音内容,进行語音信号的转换计算,并通过系统中的数码管,实现控制信号的输出与显示,以便于操控者对执行的任务进行处理。
3嵌入式Linux智能家居机器人系统的软件设计
3.1嵌入式Linux平台的设计
由于嵌入式Linux系统具有源代码开放,应用程序资源丰富、内核功能或驱动可裁剪等特征,因此运用Linux系统进行智能家居机器人的设计,能够完成更快的系统响应与信息处理。在嵌入式Linux系统的构建过程中,首先要使用交叉编译器,创设出可在其他平台中进行编译的环境。然后通过对U-boot加载程序的移植,进行各个硬件设备初始化以及内存空间映射的建立,以完成适合软硬件运行的环境搭建。之后对Linux系统内核中多余的功能或驱动,进行裁剪或编译的处理。最后通过对内核镜像的创建与压缩,来实现根文件系统的创设。
3.2无线通信模块的设计
在智能家居机器人系统的信息交互中,需要通过GPRS无线通信模块,来完成Internet网络连接与数据传输。首先需要利用TCP/IP协议进行语音数据封装,然后再经由GPRS网络与Internet路由器进行连接,最后将语音数据包传输至特定的IP地址中。
3.3嵌入式Web服务器
当前嵌入式Linux系统主要使用BOA 服务器,搭配通用网关接口程序(CGI),来完成用户http的单任务请求。但BOA 服务器本身为http的单任务处理服务器,其只能按照用户任务请求的次序,来依次完成网页信息的处理。而通用网关接口程序(CGI)加入到BOA 服务器中,能够分叉出多个任务处理进程,并建立起具有多路连接的http请求列表,来对用户请求信息进行处理。同时在BOA 服务器中可以建立多个CGI程序,因此其能最大程度节约可执行代码,以保障整个系统快速流畅的运行。通过BOA 服务器的通用网关接口程序,进行智能家居设备的控制,主要包括以下几个步骤:(1)进行BOA 服务器配置。(2)配置通用网关接口程序的脚本储存路径。(3)BOA 服务器在收到Web请求后,通过CGI程序进行请求信息的处理,并输出HTML网页代码。
4嵌入式Linux智能家居机器人系统的调试与功能实现
在嵌入式Linux智能家居机器人系统,完成整个软硬件框架的搭建后,需要对系统进行调试与功能测试。首先需要对语音识别、语音合成等的程序命令进行编写,测试控制命令的识别状况、执行状况等。然后再进行不同智能家居模块的功能测试,功能测试主要包括人机对话、语音控制两部分。人机对话需要发出相应的命令请求,然后智能家居机器人会接收到新闻资讯、天气查询等命令,并通过语音合成的形式进行执行。语音控制主要控制智能家居中的硬件设备,包括电灯、电扇、门窗和空调等设备,其能够根据用户的控制指令来完成任务执行。最后在嵌入式Linux智能家居机器人系统的后期调试环节,需要做好硬件驱动、软件bug排除等工作,以保障整个Linux智能家居系统的平稳运行。
5结语
嵌入式Linux智能家居机器人系统的设计,是对原有家居控制方式的改革创新。当前大多数智能家居,都通过智能手机来完成命令的控制,但智能手机在人机交互与控制命令执行方面,存在较大的操作与控制问题。因此智能家居机器人语音控制系统的出现,能够解决人机对话中的交互与信息理解障碍,从而实现智能家居语音控制、硬件设备的功能,以推动人民生活的智能化。
参考文献
[1] 吴涛,黄心汉,黄振宇.基于Linux的多移动机器人通信的原理与实现方法[J]. 电工技术杂志. 2003(12)
[2] 万剑锋,郑聪.基于Linux的智能家居研究与实现[J]. 科技视界. 2017(06)
[3] 王选诚,申纳.基于Linux的嵌入式水下机器人系统设计[J]. 传感器世界. 2015(11)