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