999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android手機的智能家居語音控制系統設計

2018-01-15 06:18:12
單片機與嵌入式系統應用 2018年1期
關鍵詞:百度指令系統

(1.成都理工大學 信息科學與技術學院,成都 610059;2.上海艾能電力工程有限公司)

引 言

智能家居不僅為人們提供了安全的、便利的、舒適的基礎生活設施,而且還能保證人們的居住環境環保節能。但在國內,目前智能家居還只是處于技術推廣階段,并未實際應用于百姓的日常生活中,造成這種狀況的原因有很多方面,比如軟件操作復雜、人機交互性差、價格昂貴等。

Android系統于2007年11月5日由谷歌公司公布以來,其憑借開源、自由的優勢,面世以后就受到了移動終端生產商的青睞。Android開發環境所需的開發工具包括Java SDK、Eclipse、Android SDK、Android ADT。其中,Android SDK是Android的專屬軟件開發包。百度語音SDK Android版(簡稱BDVRClient)是運行在Android 平臺的一體化語音識別解決方案。百度語音合成客戶端Android版SDK(簡稱BDTTSClient)是面向Android移動設備的語音合成解決方案。STC89C52是STC公司生產的一種低功耗、高性能CMOS 8位微控制器,具有8 KB在系統可編程Flash存儲器。在單芯片上,擁有靈巧的8 位CPU 和在系統可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提供了高靈活、超有效的解決方案。

本設計將采用BDVRClient和BDTTSClient方案。系統將人類語音發送至云端引擎進行處理,返回計算機可讀的字符串輸入,對字符串進行處理,采用TTS技術實現智能應答,結合藍牙實現數據(指令)無線傳輸,使用嵌入式技術實現對家居系統的控制、定時等功能。

1 上位機APP開發

1.1 界面設計

本設計包括主界面、藍牙管理界面、指令管理界面三個界面,分別使用嵌套布局、相對布局、線性布局,使用的控件有Button、TextView、EditText、ListView、togglebutton等。界面設計如圖1所示。

圖1 界面設計

1.2 程序邏輯設計

1.2.1 語音識別模塊

(1) 權限聲明

(2) 創建對話框

mDialog=new BaiduASRDigitalDialog(context,params);

(3) 設置回調

mRecognitionListener=newDialogRecognitionListener(){

publicvoidonResults(Bundle results){

ArrayListrs=results !=null?results.getStringArrayList(RESULTS_RECOGNITION):null;

if(rs!=null){ } } };

mDialog.setDialogRecognitionListener(mRecognitionListener);

(4) 調用mDialog.show()開始識別

BDVRClient在開始識別后,會啟動錄音、預處理、上傳到服務器并獲取識別結果。

1.2.2 語音合成模塊

(1) 權限聲明

(2) Tts初始化與授權等參數設置

speechSynthesizer = SpeechSynthesizer.getInstance();

speechSynthesizer.setContext(Context);

speechSynthesizer.setSpeechSynthesizerListener(SpeechSynthesizerListener);

AuthInfo authInfo = speechSynthesizer.auth(TtsMode);

speechSynthesizer.initTts(TtsMode);

(3) 參數設置

設置PARAM_VOLUME、PARAM_SPEED、PARAM_PITCH、PARAM_SPEAKER、PARAM_AUDIO_ENCODE、PARAM_AUDIO_RATE等參數。

(4) 授權驗證接口

AuthInfo authInfo=speechSynthesizer.auth(TtsMode ttsMode);

(5) Tts初始化接口

int initTts(TtsMode ttsMode);

(6) 合成并播放

調用speak()即可實現合成并播放。

1.2.3 藍牙模塊

(1) 打開/關閉藍牙

獲得藍牙適配器:

blueadapter=BluetoothAdapter.getDefaultAdapter();

調用blueadapter.enable()和blueadapter.disable()打開或者關閉藍牙。

(2) 搜索藍牙

調用diblueadapter.startDiscovery( )發送廣播搜索藍牙,在發送廣播之前需要注冊藍牙搜索廣播接收者、定義廣播接收,當廣播的事件是注冊的事件時就會觸發廣播接收器,然后觸發廣播接收的onReceiver(),從Intent中獲取設備對象:

BluetoothDevice device=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

通過listview控件顯示遠端設備列表。

(3) 藍牙配對

藍牙首次配對之后,隨后的通信連接就不必每次都要做確認。

(4) 建立connect線程完成連接并發送socket連接完成的廣播事件

部分代碼如下:

socket=this.device.createRfcommSocketToServiceRecord(this.myUID);

socket.connect();

Intent tent=new Intent(MainActivity.CONNECT_FINAL_ACTION);

MainActivity.this.sendBroadcast(tent);

(5) 指令發送

廣播接收onReceiver()中,獲得blueSocket對象:

blueSocket=MainActivity.this.connect_thread.getSocket();

通過blueSocket對象獲取輸出流:

tmpOut=blueSocket.getOutputStream();

通過調用tmpOut.write(bytes[])發送指令。

1.2.4 SQLite數據庫模塊

(1) 創建zhiling表

使用SQLiteOpenHelper抽象類創建一個ZHILING.db的數據庫,然后在代碼中執行db.execSQL(CREATE_ZHILING)創建一張zhiling表。

(2) 添加數據

獲取SQLiteDatabase對象:

SQLiteDatabase db=dbHelper.getWritableDatabase();

然后使用ContentValues來對要添加的數據進行組裝,最后調用db.insert()將數據添加到zhiling表中。

(3) 顯示列表

通過SimpleCursorAdapter類與數據綁定,借助listview顯示數據。

(4) 數據庫查詢

使用db.query()遍歷數據庫進行查詢,獲取單字節指令。

1.3 Toast提示

Toast可以反映當前控制端的變化,提醒用戶當前應用的狀態。Toast 提示的內容如下:藍牙連接狀態改變提示、查詢指令成功提示和指令發送成功提示等。

2 下位機的設計

2.1 下位機硬件設計

下位機以單片機STC89C52為核心控制器,通過串口與HC-06藍牙模塊連接,接收來自上位機的指令;P1^7 I/O口與P3^2 I/O連接,可產生外部中斷,用于LED照明系統的定時;P1^0、P1^1、P1^2 I/O口通過限流電阻與LED燈連接構成LED照明系統;與LCD1602顯示模塊的連接構成液晶顯示電路;與紅外發射管和相應的保護電路構成紅外發射電路等;下位機硬件原理圖(藍牙模塊、LCD1602液晶顯示模塊以相應的接口形式體現)如圖2所示。

圖2 下位機硬件原理圖

下位機實物圖如圖3所示。

圖3 下位機實物圖

2.2 下位機軟件設計

下位機軟件的主要功能包括接收來自上位機的指令、對指令進行判斷、或控制LED照明系統、或產生中斷進行定時、或控制紅外發射、或控制液晶顯示。

對于中斷服務程序,首先對指令進行判斷,調用顯示子程序,然后程序延時2分鐘,熄滅對應的LED燈,中斷返回。對于紅外發送部分,采用定時方式0產生中斷的方式產生載波,使用定時方式1延時的方式實現引導碼、“1”、“0”的發送。

對于液晶顯示部分,其操作時序為:

① 讀狀態:輸入RS=L,RW=H,E=H;輸出D0~D7=狀態字。

② 寫指令:輸入RS=L,RW=L,D0~D7=指令碼,E=高脈沖; 輸出無。

③ 讀數據:輸入RS=H,RW=H,E=H;輸出D0~D7=數據。

④ 寫數據:輸入RS=H,RW=L,D0~D7=數據,E=高脈沖;輸出無。

下位機軟件程序流程圖如圖4所示。

圖4 下位機軟件程序流程圖

3 系統測試

將smarthome.apk發送至Android手機進行安裝,編輯指令列表,將xiaweiji.hex燒寫至單片機,連接電路,接通電源,連接藍牙,部分測試用例和測試記錄見表1。

表1 部分測試用例和測試記錄

結 語

[1] 張濤.基于Android的智能家居系統的設計與實現[D].合肥:安徽大學,2015.

[2] 韓迪,李建慶.Android實例詳解項目實訓開發[M].北京:北京郵電大學出版社,2016.

[3] 侯殿有.單片機C語言程序設計[M].北京:人民郵電出版社,2010.

[4] David Kammer.藍牙應用開發指南近程互聯解決方案[M].李靜,等譯.北京:科學出版社,2003.

[5] 王玉鳳.基于紅外、無線通信和語音識別的智能家電網絡控制系統[D].長沙:長沙理工大學,2005.

[6] 北京百度網訊科技有限公司.百度語音識別SDK Android版開發手冊[EB/OL].[2017-09].http://yuyin.baidu.com/docs/asr/166.

[7] 百度在線網絡技術(北京)有限公司.百度語音合成SDK Android版開發手冊[EB/OL].[2017-09].http://yuyin.baidu.com/docs/tts.

[8] 鄧奕.Altium Designer原理圖與PCB設計[M].武漢:華中科技大學出版社,2015.

猜你喜歡
百度指令系統
聽我指令:大催眠術
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
Robust adaptive UKF based on SVR for inertial based integrated navigation
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
百度年度熱搜榜
青年與社會(2018年2期)2018-01-25 15:37:06
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
百度遭投行下調評級
IT時代周刊(2015年8期)2015-11-11 05:50:22
主站蜘蛛池模板: 国产欧美日韩视频一区二区三区| 国产欧美日韩资源在线观看| 國產尤物AV尤物在線觀看| 精品撒尿视频一区二区三区| 亚洲av日韩av制服丝袜| 日韩高清一区 | 久久中文电影| 网友自拍视频精品区| 伊人久综合| 91福利在线观看视频| 国产成人精品2021欧美日韩| 欧美一级视频免费| 高清久久精品亚洲日韩Av| 少妇精品久久久一区二区三区| 99久久性生片| 青青青国产视频手机| 国产在线观看人成激情视频| 波多野结衣一区二区三区四区| 色哟哟国产精品一区二区| 欧美亚洲第一页| 亚洲黄色高清| 午夜丁香婷婷| 亚卅精品无码久久毛片乌克兰| 午夜啪啪网| 中文成人在线视频| 亚洲毛片一级带毛片基地| 欧美成人第一页| 国模在线视频一区二区三区| 国内精品伊人久久久久7777人| 成人年鲁鲁在线观看视频| 精品伊人久久久久7777人| 欧美伊人色综合久久天天| 国产jizz| 日韩精品免费一线在线观看| 性欧美在线| 天天摸夜夜操| 精品视频一区二区三区在线播| 狠狠色狠狠综合久久| 欧美国产视频| 欧美激情视频一区| 毛片网站在线看| 国产尤物视频在线| 在线观看精品国产入口| 日韩 欧美 国产 精品 综合| 日韩经典精品无码一区二区| 日韩无码黄色| 五月天久久婷婷| 国产国语一级毛片在线视频| 九色在线视频导航91| 亚洲中文无码av永久伊人| 亚洲精品va| 一级爆乳无码av| AV在线天堂进入| 日本精品视频一区二区| 亚洲第一区欧美国产综合| 成人国产精品一级毛片天堂| 国产区成人精品视频| 波多野结衣中文字幕久久| 免费一级毛片在线观看| 亚洲伊人久久精品影院| 欧美精品啪啪一区二区三区| 国产精品浪潮Av| 亚洲V日韩V无码一区二区| 国产一级视频久久| 综合色在线| 国产香蕉国产精品偷在线观看| 日韩欧美中文字幕在线精品| 99这里只有精品免费视频| 国产美女精品一区二区| 亚洲精品亚洲人成在线| 欧美日韩激情| 亚洲第一综合天堂另类专| 免费一级全黄少妇性色生活片| 中文字幕无码制服中字| 国内精品久久久久久久久久影视| 午夜欧美理论2019理论| 免费看美女自慰的网站| 国产黄在线免费观看| 日韩中文精品亚洲第三区| 国产v精品成人免费视频71pao | 日韩av在线直播| 国产女人在线|