本文做者:DuerOs算法
目錄服務器
1、教學視頻markdown
2、總體架構架構
3、開發步驟&資料整理app
4、常見問題解答異步
5、智能家居文檔 樹狀提綱學習
—————————————————————————————————————————————測試
1、教學視頻 優化
>>點擊觀看<<spa
2、總體架構
面向 智能設備廠商 的技能類型
智能家居技能讓用戶經過語音來控制智能設備,查看設備的狀態,如控制開燈、關燈。智能家居技能還支持 智能場景 的設置。
開發者僅需參照智能家居協議,實現受權及通信,便可接入DuerOS設備雲,成爲受控設備。
當用戶發出語音指令時,DuerOS解析出用戶的意圖,而後向技能發送該意圖相應的指令。技能收到指令時,對設備進行相應的操做。
參見文檔:
3、開發步驟
前期準備
一、開發者認證
二、建立智能家居技能
流程詳見文檔:
三、配置OAuth 2.0 帳號關聯
四、配置設備雲服務地址
開發步驟
一、學習Smarthome協議
二、填寫技能基礎信息
三、配置服務受權信息
四、根據Smarthome協議進行開發
五、模擬測試
六、申請發佈
七、錄製視頻OR寄送設備,等待審覈上線
八、版本迭代管理
開發資料
技術課堂:https://dueros.baidu.com/didp/news/technicalclass?id=dbp
4、常見問題解答
如何搭建DuerOS智能家居系統
中控設備(如:小度音箱、小度在家等)
經過 設備開放平臺,將設備接入DCS-SDK,具備DuerOS的對話AI能力;
受控設備(如:智能燈、空調等)
經過 技能開放平臺,建立「智能家居技能」,只需受權設備信息和輕量化開發,便可輕鬆實現智能家居的指令控制;
智能家居技能支持哪些功能?
開關控制:打開、關閉電燈等
調控功能:調節房間的亮度、溫度和溼度,或調整冰箱溫度等
設備操控:播放家電娛樂設備、切換電視頻道、調整音量大小、電視快進和回訪等控制
智能場景:智能場景是指一些智能設備的組合使用,把多個智能設備調到預先設定好的狀態。如用戶使用睡眠場景時,智能家居技能會調暗燈光、關上窗簾。
目前可控制的設備類型和指令?
設備類型:
燈、空調、空氣淨化器、熱水器、洗衣機、窗簾、插座、場景控制、電視、電風扇、加溼器、掃地機器人、取暖器、烤箱、微波爐、電飯煲、壓力鍋、烹飪機、破壁機
控制功能及示例指令:
有哪些成功的合做案例?目前哪些設備已能夠被DuerOS控制?如何購買?
一、成功案例: Broadlink、小蔥智能、LifeSmart、塗鴉智能、時在智能、咖浦智能…
二、查看已接入設備及購買方式
下載並打開 小度在家\小度音箱\...app
進入「智能家居」板塊,點擊「查看能夠控制哪些設備」
選擇所需的設備類別,便可查看可控的品牌和型號,點擊所需商品將會跳轉至相應的購買連接
用戶如何使用 智能家居技能?
將中控設備(如:音箱)和被控設備(如:燈)成功聯上WIFI
在「技能商店」裏啓用技能,並登錄受權帳號
便可經過「小度小度,打開燈」等語音指令進行控制;
有哪幾種「發現設備」的方式?
法① 用戶啓用技能,並登錄受權時,DuerOS會自動拉取用戶的設備列表
法② 爲開發者提供用戶設備的接口,開發者能夠主動向DuerOS推送用戶設備的更新列表數據;
法③ 用戶也能夠經過「小度小度,發現設備」的語音指令,來主動更新設備列表
開發實現&圖示
支持設備的新增或名稱的改變,可經過同步更新(A-B)或異步更新(1-2-3)的方式來實現。
如何區分多臺同類的設備?如:客廳燈、臥室燈
多個同類型的設備(如:多個燈),支持用戶經過開發者\廠商的app來設置每一個設備名稱(如:客廳燈);
開發配置
設備名稱
經過 discoveredAppliance.friendlyName字段,來傳遞用戶設置的設備名稱
是字符串類型,不能包含特殊字符和標點符號,長度不能超過128個字符。
分組控制
結構化同步廠商分組信息,支持如下表達
引導、澄清
一、當用戶的表達指向多個設備,咱們想辦法引導用戶明確表達
按設備名稱澄清:「打開臺燈仍是牀頭燈?」
補充房間信息澄清:「打開臥室的燈仍是客廳的燈?」
二、多個設備請用戶表達設備名稱
三、沒法分辨引導用戶更名
用戶使用
一、用戶若是爲各設備設置了不一樣的名稱,但在表述時只是說了「小度小度,打開燈」
音箱會與用戶確認「請問您要打開哪一個燈?」
二、用戶若是沒有配置不一樣名稱,則在控制時,會對全部的同款設備進行控制;
工做原理 & 技能調用流程
技能工做原理
技能調用方式
開發是否須要使用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 ,標題註明:【智能家居】
智能家居技能模擬測試\真機測試步驟?
模擬測試
一、在平臺右側對話測試框內,輸入「發現設備」,會反饋提示「正在查找設備,須要xx秒」
二、成功發現設備後,便可輸入控制命令(如:打開燈),來操控綁定的設備;
真機測試
一、進入真機測試頁面,點擊啓用
二、在真機設備上登陸同一個百度帳號
三、經過語音輸入「小度小度,打開技能調試模式」進入技能;
四、能夠經過「小度小度,發現設備」來更新可控設備列表,經過語音控制指令,測試控制智能家居。
如何發佈上線智能家居技能?審覈和視頻錄製有哪些要求?須要提供哪些資料?
申請上線:
技能開發完成,並經過模擬測試驗證後,便可填寫技能相關信息,在平臺上申請發佈上線;
錄製視頻:
技能提交申請上線後,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識別狀況,也歡迎各位開發者爲咱們提供建議和需求一同優化技能體驗。
若有識別率較低的詞句,歡迎將此類例子及常見表達方式或誤識別結果反饋給咱們,定向的作泛化提優。
5、智能家居文檔 樹狀提綱