基于嵌入式Linux的智能家居机器人

2017-11-08 05:47西北民族大学赵张燕乔意凡邓小燕张心歌
电子世界 2017年20期
关键词:卧室智能家居嵌入式

西北民族大学 杨 萍 赵张燕 撒 灵 乔意凡 邓小燕 张心歌

基于嵌入式Linux的智能家居机器人

西北民族大学 杨 萍 赵张燕 撒 灵 乔意凡 邓小燕 张心歌

针对智能家居环境的需求,提出了基于嵌入式 Linux 的智能家居系统的设计方案。本系统由语音机器人和智能家居两部分组成,设计上语音机器人采用基于嵌入式Linux的芯片作为主控制器,智能家居采用低功耗、稳定性高的芯片作为控制器,整个系统综合蓝牙技术、网络技术以及传感器技术综合实现,最终实现通过语音机器人识别用户的语音命令,实现了人们多年梦寐以求的“芝麻开门”的梦想。

智能家居;嵌入式;Linux;蓝牙技术

0 引言

随着计算机技术的发展,人与机器之间的交互越来越广泛和深入。交流时由于操作数据的频繁交互,人们越来越受到鼠标和键盘的束缚。在这种情况下,如何让计算机智能化地与人进行通信,使人机交互更加自然、方便和快捷成为现代计算机科学的重要研究课题之一。语言是人类获取信息最重要、最有效和最便捷的交流方式。如果计算机能够听懂人类语言,能够表述人类语言,那么就不需要鼠标键盘,不同语言的人们交流也就会更容易。这个愿望实现的技术基础就是语音识别和理解。

1 系统的整体设计

1.1 系统设计思想

本系统设计的思想是通过智能机器人控制家庭中的智能家居设备,系统将基于现有的语音识别合成技术,让语音机器人在智能家居控制中扮演智能管家的角色,设计实现一套智能家居机器人系统,利用语音技术,使用户在不用操作鼠标键盘等传统方式上,实现智能家居的控制。

1.2 系统总体设计

1.2.1 语音机器人的设计

语音机器人采用类人的设计方法,具有手臂、头等基本的外部骨架,采用移动式底盘,方便灵活控制,系统设计上采用Linux系统,在Linux系统之上开发语音识别合成、云端大脑等程序,最终语音机器人将具有人机对话、命令识别等功能。语音机器人最终实物图如图1所示。

图1 语音机器人最终实物图

图2 智能家居设计单片机最终实物图

1.2.2 智能家居的设计

智能家居设计拟采用51系列单片机作为控制器,这个系列的单片机具有低成本、稳定性高等特点,智能家居控制包括灯、风扇、门等的控制。最终实物图如图2所示。

2.硬件选型及功能

2.1 硬件选型模块

2.1.1 Cubieboard模块

Cubieboard采用DDR3 512Mb/1024Mb内存,市场上多见的是1024Mb内存的版本,其自带有一个5v电源插口、1个SATA5v电源插口、1个SATA 2.0硬盘接口、HDMI视频接口、Micro-SD卡卡槽、耳机插口、线路输入插口、96Pin GPIO接口以及100M以太网插口和Mini-USB接口。如图3所示。

2.1.2 蓝牙模块

系统中的D蓝牙模块采用HC-05主从机一体蓝牙模块,该模块有丰富的I/O接口,传输距离可达到10M。数据传输采用串口方式,串口传输简单、可靠且速度较快。此模块的体积小、功耗低、使用方便,在本项目中使用能够快速的响应主控器的指令,达到传输数据的能力。

图3 Cubieboard模块

2.2 功能实现

2.2.1 人机对话

语音机器人通过采集用户的语音信息,通过百度语音在线识别,再将处理得到的语音信息发送给图灵机器人人工大脑,人工大脑可以完成诸如百科知识、新闻资讯、天气查询、航班查询等语音互动,最后再有语音合成处理成音频文件播放出来,达到人机互动的能力。

2.2.2 语音控制

语音机器人通过采集用户的语音信息,通过百度语音在线识别或者对本地语音识别,程序内部处理返回的语音信息,如果和预定的控制指令相同或者类似,经蓝牙模块将对应的控制指令发送给微控制器,微控制器控制智能家居中的风扇、灯光以及门窗等动作,达到语音控制的目的。

3 软件设计

整个系统的软件设计方法有三种,根据不同的应用场合和系统的负责程序采用不同的设计方法,一般情况下,简单的系统可以采用常规的软件设计方法;较为复杂的系统可以采用DSP仿真软件CCS提供的DSP/BIOS设计方法(DSP/BIOS是TI公司专门为DSP设计的嵌入式软件设计方法);最为复杂的系统需要采用嵌入式操作系统进行设计。目前,OMAP5912支持的操作系统包括WinCE、Linux、Nucleus以及VxWorks等,可以根据需要选择不同的操作系统,本系统采用嵌入式操作系统进行设计。

部分源程序:

智能家居实现:

void main()

{

led2=1;led1=1;//初始状态关闭

init();

recieve=0x00;

while(1)

{

switch(recieve)

{

case 0x31 : led1=0;break;//开卧室灯

case 0x32 : led1=1;break;//关卧室灯

case 0x33 : led2=0;break;//开卧室灯

case 0x34 : led2=1;break;//关卧室灯

case 0x35 : duoji_flag=1;Duty=25;break;//开卧室灯

case 0x36 : duoji_flag=1;Duty=15;break;//关卧室灯

case 0x37 : duoji_flag=2;Duty=25;break;//开卧室灯

case 0x38 : duoji_flag=2;Duty=15;break;//关卧室灯

case 0x39 : duoji_flag=3;Duty=25;break;//开卧室灯

case 0x30 : duoji_flag=3;Duty=15;break;//关卧室灯

}

语言识别实现:

#获取百度开发token

global token,api,ccuid,key

print ‘robot init------->>>>>>>>’

token = get_token()

key = ‘a06f57927941448faea980695b82c9ce’

api = ‘http://www.tuling123.com/openapi/api?key=’ + key + ‘&info=’

ccuid=”00-08-CA-C1-0B-CD” #板子的mac地址

deflisten():

#监听人的说话,并解析出文本

os.system(‘arecord -D “plughw:1,0” -f S16_LE -d 5 -r 8000 /root/study/listen.wav’)

use_cloud(token)

print ‘me:’,duihua

#print ‘duihua --->’,type(duihua)

def robotsay():

global duihua,api,ccuid,token,robotSay

info = duihua

duihua=’’

request = api + info

#print ‘request-->’,request

response = getHtml(request)

dic_json = json.loads(response)

a = dic_json[‘text’]

#print ‘a type--->’

#print type(a)

unicodestring = a

rebotSay = unicodestring.encode(“utf-8”)

print ‘rebot:’,rebotSay

print ‘robotSay DEBUG’

print ccuid,token

say_requests(rebotSay)

#baidu_tts_get(rebotSay,ccuid,token)

#print ‘tts to play’

os.system(‘mplayer say.mp3’)

def main():

r

obot_init()

while(True):

listen()

search(duihua)

robotsay()

if __name__ == “__main__”:

main()

‘’’

robot_init()

while(True):

baidu_tts_get(‘hello world’,ccuid,token)

os.system(‘mplayer say.mp3’)

4 系统开发与调试

4.1 前期开发与调试

前期调试包括系统学习Linux系统、Python编程语言、单片机原理与实践应用,在完成基础知识学习后,我们将购买材料,团队将搜集各种机器人和智能家居方面的设计资料,综合设计出一种移动灵活、美观大方的机器人硬件和智能家居模型,硬件的搭建工作预计将会用时一个月的时间来完成。

4.2 中期开发与调试

中期调试包括关键技术学习、软件程序编写、机器人模块化测试、智能家居模型测试,其中关键技术包括语音识别、语音合成、人工大脑设计,软件编写中主要包括控制命令识别,下达控制指令等,在完成技术攻克后,首先进行模块化的功能测试,测试好每一个模块的功能正常后,最后组织系统联调和硬件软件的优化工作。

4.3 后期开发与调试

后期调试主要是整个系统的调试工作,软件上排除bug,硬件上做最好的改动,最终实现整个系统稳定运行。

5 结论

本项目设计改变了传统的智能家居控制方式,现今市面上绝大多数智能家居设备都是通过手机APP的方式来实现控制,APP界面往往有很多按钮和显示框,导致用户控制智能家居的时候感到繁琐,特别是对于不善于使用智能手机的老人和残障人士更是不方便,但是通过本项目的研究和设计,语音交互将成为人和机器人交流最人性化的交流方式,设计开发语音机器人,通过语音识别和合成,完成智能家居的控制,更加的方便快捷、人性化操作。在未来,我们的家庭将是智慧家庭,我们的家中将会有很多的智能设备,这些智能设备包括智能灯、智能窗户、智能门等,众多的智能设备要想协同工作,完成信息交流,用户可以和机器人进行语音交流,完成智能控制,因此我们设计的机器人在一定程度上物联机器人的智能化、人性化。

[1]刘显强.基于嵌入式无线传输文件系统的研究与设计[D].成都:电子科技大学,2012.

[2]冯开林,刘春艳,韩东旭.基于S3C2440平台搭建linux环境[J].通信技术,2013,46(11):120-123.

[3]董萍.基于nRF2401A的家庭智能系统的设计与实现[J].武汉轻工学学报,2015,34(2):87-91.

西北民族大学国家大学生创新创业训练计划项目资助(项目编号:201710742063)。

杨萍(1996—),女,云南红河人,西北民族大学2014级自动化专业本科生。

猜你喜欢
卧室智能家居嵌入式
My Bedroom卧室里
查理的卧室
搭建基于Qt的嵌入式开发平台
基于Zigbee的无线通信技术在智能家居中的应用
放在卧室里的花
嵌入式软PLC在电镀生产流程控制系统中的应用
关于智能家居真正需求的探讨
智能家居更贴心
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器