小度智能音箱开发
1、Dueros 開放平臺
https://dueros.baidu.com/dbp
2、Dueros 技術(shù)開發(fā)控制臺
https://dueros.baidu.com/dbp/bot/index#/addbot/0
3、Dueros 智能家居開發(fā)文檔
https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/smart-home-skill/intro-smart-skill_markdown
4、Dueros 智能家居開發(fā)例子及心得
https://developer.baidu.com/forum/topic/show/290891
5、阮一峰 OAuth2.0 詳解
http://www.ruanyifeng.com/blog/2019/04/oauth-grant-types.html?utm_source=tuicool&utm_medium=referral (實(shí)例流程)
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html(比喻說明)
6、小度酒店行業(yè)板開放平臺
https://dueros.baidu.com/business/emp/view/doc?md=%2Fmd%2Femp-hotel-setting%2Fhotel-create.md
目錄
一、教學(xué)視頻
二、整體架構(gòu)
三、開發(fā)步驟&資料整理
四、常見問題解答
(持續(xù)更新,最近更新 2018.08.15)
五、智能家居文檔 樹狀提綱
—————————————————————————————————————————————
一、教學(xué)視頻
>>點(diǎn)擊觀看<<
二、整體架構(gòu)
面向智能設(shè)備廠商的技能類型
智能家居技能讓用戶通過語音來控制智能設(shè)備,查看設(shè)備的狀態(tài),如控制開燈、關(guān)燈。智能家居技能還支持智能場景的設(shè)置。
開發(fā)者僅需參照智能家居協(xié)議,實(shí)現(xiàn)授權(quán)及通訊,即可接入DuerOS設(shè)備云,成為受控設(shè)備。
當(dāng)用戶發(fā)出語音指令時(shí),DuerOS解析出用戶的意圖,然后向技能發(fā)送該意圖相應(yīng)的指令。技能收到指令時(shí),對設(shè)備進(jìn)行相應(yīng)的操作。
參見文檔:
https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/smart-home-skill/intro-smart-skill_markdown
三、開發(fā)步驟
前期準(zhǔn)備
1、開發(fā)者認(rèn)證
2、創(chuàng)建智能家居技能
流程詳見文檔:
https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/smart-home-skill/create-smart-skill_markdown
3、配置OAuth 2.0 賬號關(guān)聯(lián)
4、配置設(shè)備云服務(wù)地址
開發(fā)步驟
1、學(xué)習(xí)Smarthome協(xié)議
https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/intro-protocol_markdown
2、填寫技能基礎(chǔ)信息
3、配置服務(wù)授權(quán)信息
4、根據(jù)Smarthome協(xié)議進(jìn)行開發(fā)
設(shè)備發(fā)現(xiàn)
設(shè)備控制
設(shè)備查詢
異步上報(bào)
5、模擬測試
6、申請發(fā)布
7、錄制視頻OR寄送設(shè)備,等待審核上線
8、版本迭代管理
詳細(xì)步驟參見文檔:https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/smart-home-skill/create-smart-skill_markdown
開發(fā)資料
技術(shù)文檔:https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/smart-home-skill/intro-smart-skill_markdown
技術(shù)課堂:https://dueros.baidu.com/didp/news/technicalclass?id=dbp
開發(fā)協(xié)議:https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/intro-protocol_markdown
四、常見問題解答
如何搭建DuerOS智能家居系統(tǒng)
中控設(shè)備(如:小度音箱、小度在家等)
通過設(shè)備開放平臺,將設(shè)備接入DCS-SDK,具有DuerOS的對話AI能力;
受控設(shè)備(如:智能燈、空調(diào)等)
通過技能開放平臺,創(chuàng)建“智能家居技能”,只需授權(quán)設(shè)備信息和輕量化開發(fā),即可輕松實(shí)現(xiàn)智能家居的指令控制;
智能家居技能支持哪些功能?
開關(guān)控制:打開、關(guān)閉電燈等
調(diào)控功能:調(diào)節(jié)房間的亮度、溫度和濕度,或調(diào)整冰箱溫度等
設(shè)備操控:播放家電娛樂設(shè)備、切換電視頻道、調(diào)整音量大小、電視快進(jìn)和回訪等控制
智能場景:智能場景是指一些智能設(shè)備的組合使用,把多個(gè)智能設(shè)備調(diào)到預(yù)先設(shè)定好的狀態(tài)。如用戶使用睡眠場景時(shí),智能家居技能會(huì)調(diào)暗燈光、關(guān)上窗簾。
目前可控制的設(shè)備類型和指令?
設(shè)備類型:
燈、空調(diào)、空氣凈化器、熱水器、洗衣機(jī)、窗簾、插座、場景控制、電視、電風(fēng)扇、加濕器、掃地機(jī)器人、取暖器、烤箱、微波爐、電飯煲、壓力鍋、烹飪機(jī)、破壁機(jī)
控制功能及示例指令:
有哪些成功的合作案例?目前哪些設(shè)備已可以被DuerOS控制?如何購買?
1、成功案例:Broadlink、小蔥智能、LifeSmart、涂鴉智能、時(shí)在智能、咖浦智能…
2、查看已接入設(shè)備及購買方式
下載并打開 小度在家小度音箱...app
進(jìn)入“智能家居”板塊,點(diǎn)擊“查看可以控制哪些設(shè)備”
選擇所需的設(shè)備類別,即可查看可控的品牌和型號,點(diǎn)擊所需商品將會(huì)跳轉(zhuǎn)至相應(yīng)的購買鏈接
用戶如何使用 智能家居技能?
將中控設(shè)備(如:音箱)和被控設(shè)備(如:燈)成功聯(lián)上WIFI
在“技能商店”里啟用技能,并登陸授權(quán)賬號
即可通過“小度小度,打開燈”等語音指令進(jìn)行控制;
有哪幾種“發(fā)現(xiàn)設(shè)備”的方式?
法① 用戶啟用技能,并登陸授權(quán)時(shí),DuerOS會(huì)自動(dòng)拉取用戶的設(shè)備列表
法② 為開發(fā)者提供用戶設(shè)備的接口,開發(fā)者可以主動(dòng)向DuerOS推送用戶設(shè)備的更新列表數(shù)據(jù);
參照文檔:https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/discovery-message_markdown
法③ 用戶也可以通過“小度小度,發(fā)現(xiàn)設(shè)備”的語音指令,來主動(dòng)更新設(shè)備列表
開發(fā)實(shí)現(xiàn)&圖示
支持設(shè)備的新增或名稱的改變,可通過同步更新(A-B)或異步更新(1-2-3)的方式來實(shí)現(xiàn)。
如何區(qū)分多臺同類的設(shè)備?如:客廳燈、臥室燈
多個(gè)同類型的設(shè)備(如:多個(gè)燈),支持用戶通過開發(fā)者廠商的app來設(shè)置每個(gè)設(shè)備名稱(如:客廳燈);
開發(fā)配置
設(shè)備名稱
通過 discoveredAppliance.friendlyName字段,來傳遞用戶設(shè)置的設(shè)備名稱
是字符串類型,不能包含特殊字符和標(biāo)點(diǎn)符號,長度不能超過128個(gè)字符。
分組控制
結(jié)構(gòu)化同步廠商分組信息,支持以下表達(dá)
引導(dǎo)、澄清
1、當(dāng)用戶的表達(dá)指向多個(gè)設(shè)備,我們想辦法引導(dǎo)用戶明確表達(dá)
按設(shè)備名稱澄清:“打開臺燈還是床頭燈?”
補(bǔ)充房間信息澄清:“打開臥室的燈還是客廳的燈?”
2、多個(gè)設(shè)備請用戶表達(dá)設(shè)備名稱
3、無法分辨引導(dǎo)用戶改名
用戶使用
1、用戶如果為各設(shè)備設(shè)置了不同的名稱,但在表述時(shí)只是說了“小度小度,打開燈”
音箱會(huì)與用戶確認(rèn)“請問您要打開哪個(gè)燈?”
2、用戶如果沒有配置不同名稱,則在控制時(shí),會(huì)對所有的同款設(shè)備進(jìn)行控制;
工作原理 & 技能調(diào)用流程
技能工作原理
技能調(diào)用方式
開發(fā)是否需要使用BOT-SDK?
智能家居無需考慮NLU的具體實(shí)現(xiàn),不用使用BOT-SDK;只需參照智能家居協(xié)議進(jìn)行開發(fā)即可。
如何填寫配置服務(wù)的授權(quán)內(nèi)容?
授權(quán)目的:授權(quán)DuerOS將識別后的控制指令,發(fā)給開發(fā)者的服務(wù)器或設(shè)備云。
授權(quán)內(nèi)容說明
授權(quán)地址:開發(fā)者授權(quán)DuerOS訪問的服務(wù)器或設(shè)備云地址,需遵守OAuth 2.0標(biāo)準(zhǔn)(打通百度賬號和自有賬號)。
Client_Id:開發(fā)者分配給DuerOS SH的Client_ID
ClientSecret:開發(fā)者分配給DuerOS SH的密鑰
Scope:獲取的用戶數(shù)據(jù)的權(quán)限列表(名稱,頭像,年齡,性別…),多個(gè)權(quán)限之間請使用空格進(jìn)行分開。
回調(diào)地址:每個(gè)技能創(chuàng)建時(shí),在開放平臺上生成的唯一URL地址,該地址不能修改。
Token地址:用于獲取開發(fā)者的Access Token,以便DuerOS訪問他們的服務(wù)器。需要遵守OAuth 2.0標(biāo)準(zhǔn)協(xié)議。
請求方式:Access Token的請求方式。
WebService:智能家居設(shè)備的設(shè)備云服務(wù)部署地址。
當(dāng)前平臺不支持的設(shè)備類型或控制指令,要如何設(shè)置?
平臺暫時(shí)不支持開發(fā)者自行擴(kuò)充,如有相關(guān)的需求,可聯(lián)系我們補(bǔ)充優(yōu)化相關(guān)的功能。
商務(wù)溝通郵箱:dueros-bd@baidu.com,標(biāo)題注明:【智能家居】
智能家居技能模擬測試真機(jī)測試步驟?
創(chuàng)建技能
在平臺完成配置服務(wù)授權(quán)(DuerOS與開發(fā)者的設(shè)備云、App賬號等打通)
在開發(fā)者的APP里成功登陸并授權(quán)賬號;
模擬測試
1、在平臺右側(cè)對話測試框內(nèi),輸入“發(fā)現(xiàn)設(shè)備”,會(huì)反饋提示“正在查找設(shè)備,需要xx秒”
2、成功發(fā)現(xiàn)設(shè)備后,即可輸入控制命令(如:打開燈),來操控綁定的設(shè)備;
真機(jī)測試
1、進(jìn)入真機(jī)測試頁面,點(diǎn)擊啟用
2、在真機(jī)設(shè)備上登錄同一個(gè)百度賬號
3、通過語音輸入“小度小度,打開技能調(diào)試模式”進(jìn)入技能;
4、可以通過“小度小度,發(fā)現(xiàn)設(shè)備”來更新可控設(shè)備列表,通過語音控制指令,測試控制智能家居。
如何發(fā)布上線智能家居技能?審核和視頻錄制有哪些要求?需要提供哪些資料?
申請上線:
技能開發(fā)完成,并通過模擬測試驗(yàn)證后,即可填寫技能相關(guān)信息,在平臺上申請發(fā)布上線;
錄制視頻:
技能提交申請上線后,DuerOS會(huì)進(jìn)行技能的審核。
為了盡快通過審核,請錄制設(shè)備控制視頻,內(nèi)容需包含主控和所有被控設(shè)備,需要可以成功控制被控設(shè)備的相關(guān)功能項(xiàng)。
視頻請發(fā)送至xudandan02@baidu.com
郵件格式:
郵件標(biāo)題:【技能審核】待審核技能名稱
郵件正文:正文需注明待審核技能ID,視頻文件可使用附件或者網(wǎng)盤鏈接的形式發(fā)送
設(shè)備寄送(可選):
將技能中涉及的所有智能家居設(shè)備和設(shè)備相關(guān)使用文檔郵寄給DuerOS,以便DuerOS審核該技能;
寄送前需將設(shè)備與開發(fā)者賬號授權(quán)綁定完成,并在使用文檔中提供對應(yīng)的賬號和密碼。
寄送信息:
通訊地址:北京市海淀區(qū)西北旺東路10號院百度科技園4號樓
收件人:張忠琦
聯(lián)系電話: 18521725422
正式發(fā)布上線的技能,將會(huì)在哪里顯示?
小度音箱 等無屏音箱
針對無屏音箱等設(shè)備,可以使用 小度音箱廠商自有 app
“智能家居” 里查看并啟用已上線的智能家居技能;
小度在家 等有屏設(shè)備
小度在家廠商自有app——發(fā)現(xiàn)更多——智能家居
小度在家設(shè)備內(nèi)——更多——智能家居
亮度風(fēng)速…等是否支持設(shè)置成50%的程度值,是否提供相應(yīng)的接口信息?
支持亮度等程度值的設(shè)定。以亮度為例,使用value參數(shù),可控制燈光亮度的百分比值
為double類型,取值范圍為0~100。其中0表示燈在打開時(shí)的最小亮度,100表示燈的最大亮度。
詳情可參考 智能家居控制協(xié)議——控制消息:
https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/control-message_markdown
是否支持場景模式?如何自定義?
支持用戶開發(fā)者通過開發(fā)者廠商的app來自定義場景模式的名稱和功能;
開發(fā)配置:
通過SCENE_TRIGGER來觸發(fā)場景模式控制;SCENE_TRIGGER 描述特定設(shè)備的組合場景
設(shè)備之間沒有相互關(guān)聯(lián),無特定操作順序。例如“打開睡眠模式”包括關(guān)燈和鎖上房門,但是關(guān)燈和鎖上房門之間沒有必然聯(lián)系,可以先關(guān)燈然后鎖上房門,也可以先鎖上房門后關(guān)燈。
使用 friendlyName字段,來傳遞場景模式的名稱;
控制燈光顏色,使用的是什么色彩模式?
DuerOS采用的是HSB其中H代表色相;S代表飽和度;B代表亮度。;
設(shè)備名稱出現(xiàn)ASR識別錯(cuò)誤,要如何修正?
DuerOS會(huì)通過數(shù)據(jù)訓(xùn)練和算法升級不斷優(yōu)化ASR識別情況,也歡迎各位開發(fā)者為我們提供建議和需求一同優(yōu)化技能體驗(yàn)。
如有識別率較低的詞句,歡迎將此類例子及常見表達(dá)方式或誤識別結(jié)果反饋給我們,定向的做泛化提優(yōu)。
五、智能家居文檔 樹狀提綱
總結(jié)
- 上一篇: 花鱼儿家的家常小菜~~~~~~丁香鱼炒花
- 下一篇: Mac下使用Homebrew安装Sphi