西北民族大學 楊 萍 趙張燕 撒 靈 喬意凡 鄧小燕 張心歌
基于嵌入式Linux的智能家居機器人
西北民族大學 楊 萍 趙張燕 撒 靈 喬意凡 鄧小燕 張心歌
針對智能家居環境的需求,提出了基于嵌入式 Linux 的智能家居系統的設計方案。本系統由語音機器人和智能家居兩部分組成,設計上語音機器人采用基于嵌入式Linux的芯片作為主控制器,智能家居采用低功耗、穩定性高的芯片作為控制器,整個系統綜合藍牙技術、網絡技術以及傳感器技術綜合實現,最終實現通過語音機器人識別用戶的語音命令,實現了人們多年夢寐以求的“芝麻開門”的夢想。
智能家居;嵌入式;Linux;藍牙技術
隨著計算機技術的發展,人與機器之間的交互越來越廣泛和深入。交流時由于操作數據的頻繁交互,人們越來越受到鼠標和鍵盤的束縛。在這種情況下,如何讓計算機智能化地與人進行通信,使人機交互更加自然、方便和快捷成為現代計算機科學的重要研究課題之一。語言是人類獲取信息最重要、最有效和最便捷的交流方式。如果計算機能夠聽懂人類語言,能夠表述人類語言,那么就不需要鼠標鍵盤,不同語言的人們交流也就會更容易。這個愿望實現的技術基礎就是語音識別和理解。
本系統設計的思想是通過智能機器人控制家庭中的智能家居設備,系統將基于現有的語音識別合成技術,讓語音機器人在智能家居控制中扮演智能管家的角色,設計實現一套智能家居機器人系統,利用語音技術,使用戶在不用操作鼠標鍵盤等傳統方式上,實現智能家居的控制。
1.2.1 語音機器人的設計
語音機器人采用類人的設計方法,具有手臂、頭等基本的外部骨架,采用移動式底盤,方便靈活控制,系統設計上采用Linux系統,在Linux系統之上開發語音識別合成、云端大腦等程序,最終語音機器人將具有人機對話、命令識別等功能。語音機器人最終實物圖如圖1所示。

圖1 語音機器人最終實物圖

圖2 智能家居設計單片機最終實物圖
1.2.2 智能家居的設計
智能家居設計擬采用51系列單片機作為控制器,這個系列的單片機具有低成本、穩定性高等特點,智能家居控制包括燈、風扇、門等的控制。最終實物圖如圖2所示。
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.1 人機對話
語音機器人通過采集用戶的語音信息,通過百度語音在線識別,再將處理得到的語音信息發送給圖靈機器人人工大腦,人工大腦可以完成諸如百科知識、新聞資訊、天氣查詢、航班查詢等語音互動,最后再有語音合成處理成音頻文件播放出來,達到人機互動的能力。
2.2.2 語音控制
語音機器人通過采集用戶的語音信息,通過百度語音在線識別或者對本地語音識別,程序內部處理返回的語音信息,如果和預定的控制指令相同或者類似,經藍牙模塊將對應的控制指令發送給微控制器,微控制器控制智能家居中的風扇、燈光以及門窗等動作,達到語音控制的目的。
整個系統的軟件設計方法有三種,根據不同的應用場合和系統的負責程序采用不同的設計方法,一般情況下,簡單的系統可以采用常規的軟件設計方法;較為復雜的系統可以采用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’)
前期調試包括系統學習Linux系統、Python編程語言、單片機原理與實踐應用,在完成基礎知識學習后,我們將購買材料,團隊將搜集各種機器人和智能家居方面的設計資料,綜合設計出一種移動靈活、美觀大方的機器人硬件和智能家居模型,硬件的搭建工作預計將會用時一個月的時間來完成。
中期調試包括關鍵技術學習、軟件程序編寫、機器人模塊化測試、智能家居模型測試,其中關鍵技術包括語音識別、語音合成、人工大腦設計,軟件編寫中主要包括控制命令識別,下達控制指令等,在完成技術攻克后,首先進行模塊化的功能測試,測試好每一個模塊的功能正常后,最后組織系統聯調和硬件軟件的優化工作。
后期調試主要是整個系統的調試工作,軟件上排除bug,硬件上做最好的改動,最終實現整個系統穩定運行。
本項目設計改變了傳統的智能家居控制方式,現今市面上絕大多數智能家居設備都是通過手機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級自動化專業本科生。