在前一個(gè)帖子中锣光,給大家?guī)砹薖ython版本的DuerOS SDK笆怠。但DuerOS的測(cè)試環(huán)境卻聲明為Ubuntu,相信很多同學(xué)會(huì)疑惑:Python不是跨平臺(tái)的嗎誊爹?為什么要限制測(cè)試平臺(tái)呢蹬刷?真實(shí)的情況呢是這樣的:
首先,Python跨平臺(tái)這個(gè)沒毛病频丘。但問題在于DuerOS運(yùn)行所需要的依賴環(huán)境確實(shí)跟平臺(tái)相關(guān)的办成。比如DuerOS是基于Http2 ALPN的,但樹莓派官方鏡像的OpenSSL并不支持椎镣,而對(duì)應(yīng)的Python庫依賴于OpenSSL诈火。為了在樹莓派平臺(tái)上支持Python的DuerOS SDK,專門交叉編譯了OpenSSL和Python状答。
所以冷守,這里限制了平臺(tái)主要是方便同學(xué)能將DuerOS快速的Run起來。當(dāng)然惊科,如果想在MacOS拍摇、Windows平臺(tái)運(yùn)行DuerOS Python SDK也是沒問題的,只是在依賴配置方面可能要多花些時(shí)間馆截。
好了充活,廢話不多說,直接上干貨:
樹莓派DuerOS Python 版本支持
準(zhǔn)備
按照個(gè)人版使用說明完成如下3步(http://open.duer.baidu.com/doc/device-devkit/intro_markdown)
- 鏡像下載蜡娶,燒錄安裝
- 配網(wǎng)
- 驗(yàn)證“小度小度”
開始
-
停止現(xiàn)有小度功能混卵,因?yàn)闀?huì)占用MIC資源
sudo systemctl disable duer sudo systemctl stop duer
-
安裝依賴包
sudo apt-get update sudo apt-get install python-dateutil sudo apt-get install gir1.2-gstreamer-1.0 sudo apt-get install python-pyaudio sudo apt-get install libatlas-base-dev sudo apt-get install python-dev sudo pip install tornado sudo pip install hyper
hyper庫用來支持http2.0 client, pyaudio用來支持錄音,tornado用來完成oauth認(rèn)證窖张。
-
下載編譯好的openssl和Python安裝包幕随,并進(jìn)行安裝, 需要更新openssl才能支持python sdk的使用。
*從如下地址下載openssl安裝包*(鏈接: https://pan.baidu.com/s/1skAP6WH 密碼: wknz) *從如下地址下載python2.7.14安裝包*(鏈接: https://pan.baidu.com/s/1o8MHkzK 密碼: ngx4) tar -zxvf openssl1.1.tar.gz -C /usr tar -zxvf python2.7.14.tar.gz -C /usr/local/ sudo rm -rf /usr/bin/python sudo ln -s /usr/local/python2.7.14/bin/python /usr/bin/python
-
下載Python SDK和參考示例代碼
git clone https://github.com/MyDuerOS/DuerOS-Python-Client.git cd DuerOS-Python-Client git checkout raspberry-dev
運(yùn)行和測(cè)試
-
授權(quán)
./auth.py
直接運(yùn)行使用默認(rèn)的client_id和client_secret宿接,開發(fā)者可以替換成自己在DuerOS開放平臺(tái)申請(qǐng)的client_id和client_secret赘淮,進(jìn)而實(shí)現(xiàn)在控制臺(tái)自定義的配置屬性。
其中睦霎,
需要在開放平臺(tái)中“安全設(shè)置”的“授權(quán)回調(diào)頁"梢卸,設(shè)置成
http://127.0.0.1:3000/authresponse
-
喚醒加識(shí)別
./wakeup_trigger_start.sh
-
enter按鍵觸發(fā)識(shí)別
./enter_trigger_start.sh