亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android手機的智能家居語音控制系統(tǒng)設計

        2018-01-15 06:18:12,
        關鍵詞:下位調用藍牙

        ,

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

        引 言

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

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

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

        1 上位機APP開發(fā)

        1.1 界面設計

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

        圖1 界面設計

        1.2 程序邏輯設計

        1.2.1 語音識別模塊

        (1) 權限聲明

        (2) 創(chuàng)建對話框

        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初始化與授權等參數(shù)設置

        speechSynthesizer = SpeechSynthesizer.getInstance();

        speechSynthesizer.setContext(Context);

        speechSynthesizer.setSpeechSynthesizerListener(SpeechSynthesizerListener);

        AuthInfo authInfo = speechSynthesizer.auth(TtsMode);

        speechSynthesizer.initTts(TtsMode);

        (3) 參數(shù)設置

        設置PARAM_VOLUME、PARAM_SPEED、PARAM_PITCH、PARAM_SPEAKER、PARAM_AUDIO_ENCODE、PARAM_AUDIO_RATE等參數(shù)。

        (4) 授權驗證接口

        AuthInfo authInfo=speechSynthesizer.auth(TtsMode ttsMode);

        (5) Tts初始化接口

        int initTts(TtsMode ttsMode);

        (6) 合成并播放

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

        1.2.3 藍牙模塊

        (1) 打開/關閉藍牙

        獲得藍牙適配器:

        blueadapter=BluetoothAdapter.getDefaultAdapter();

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

        (2) 搜索藍牙

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

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

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

        (3) 藍牙配對

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

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

        部分代碼如下:

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

        socket.connect();

        Intent tent=new Intent(MainActivity.CONNECT_FINAL_ACTION);

        MainActivity.this.sendBroadcast(tent);

        (5) 指令發(fā)送

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

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

        通過blueSocket對象獲取輸出流:

        tmpOut=blueSocket.getOutputStream();

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

        1.2.4 SQLite數(shù)據庫模塊

        (1) 創(chuàng)建zhiling表

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

        (2) 添加數(shù)據

        獲取SQLiteDatabase對象:

        SQLiteDatabase db=dbHelper.getWritableDatabase();

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

        (3) 顯示列表

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

        (4) 數(shù)據庫查詢

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

        1.3 Toast提示

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

        2 下位機的設計

        2.1 下位機硬件設計

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

        圖2 下位機硬件原理圖

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

        圖3 下位機實物圖

        2.2 下位機軟件設計

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

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

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

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

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

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

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

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

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

        3 系統(tǒng)測試

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

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

        結 語

        [1] 張濤.基于Android的智能家居系統(tǒng)的設計與實現(xiàn)[D].合肥:安徽大學,2015.

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

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

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

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

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

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

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

        猜你喜歡
        下位調用藍牙
        藍牙音箱的直線之美
        核電項目物項調用管理的應用研究
        發(fā)射機房監(jiān)控系統(tǒng)之下位機
        LabWindows/CVI下基于ActiveX技術的Excel調用
        測控技術(2018年5期)2018-12-09 09:04:46
        簡單、易用,可玩性強Q AcousticsBT3藍牙音箱
        適合自己的才是最好的 德生(TECSUN) BT-50藍牙耳機放大器
        緊急:藍牙指尖陀螺自燃!安全隱患頻出
        玩具世界(2017年8期)2017-02-06 03:01:38
        基于系統(tǒng)調用的惡意軟件檢測技術研究
        景洪電廠監(jiān)控系統(tǒng)下位機數(shù)據傳輸網絡改造
        圍觀黨“下位”,吐槽帝“登基”
        北京紀事(2016年5期)2016-05-07 13:17:02
        激情一区二区三区视频| 大肉大捧一进一出好爽视色大师| 久久久精品亚洲人与狗| 李白姓白白又白类似的套路| 中文字幕在线乱码一区| 射精区-区区三区| 亚洲成av人影院| 国产精品熟女一区二区| 国产做无码视频在线观看浪潮| 中文字幕经典一区| 亚欧乱色束缚一区二区三区| 亚洲国产综合性感三级自拍| 邻居美少妇张开腿让我爽了一夜| 色噜噜亚洲男人的天堂| 久久久久久亚洲av无码蜜芽| 又黄又爽又色又刺激的视频| 亚洲国产精品久久久久久网站| 亚洲欧美香港在线观看三级片| av免费一区在线播放| 中文日本强暴人妻另类视频| 人妻少妇精品视频专区vr| 欧美放荡的少妇| 熟女俱乐部五十路二区av| 国产在线白浆一区二区三区在线| 中文字幕色一区二区三区页不卡| 97成人精品视频在线| 浪货趴办公桌~h揉秘书电影| 少妇人妻陈艳和黑人教练| 无码丰满少妇2在线观看| 区一区一日本高清视频在线观看| 日本高清一区二区在线播放| 日韩三级一区二区三区| 丰满少妇人妻无码专区| 内射少妇36p九色| 免费的一级毛片| 蜜桃视频一区二区三区在线| 国产日产在线视频一区| 亚洲色婷婷一区二区三区| 亚洲男同帅gay片在线观看| 无码之国产精品网址蜜芽| 中文字幕一二区中文字幕|