【 開發指南 】智能家居技能

本文做者:DuerOs算法

目錄服務器

1、教學視頻markdown

2、總體架構架構

3、開發步驟&資料整理app

4、常見問題解答異步

5、智能家居文檔 樹狀提綱學習

 

—————————————————————————————————————————————測試

 

1、教學視頻 優化

 

>>點擊觀看<<spa

 

 

2、總體架構

面向 智能設備廠商 的技能類型

智能家居技能讓用戶經過語音來控制智能設備,查看設備的狀態,如控制開燈、關燈。智能家居技能還支持 智能場景 的設置。

開發者僅需參照智能家居協議,實現受權及通信,便可接入DuerOS設備雲,成爲受控設備。

當用戶發出語音指令時,DuerOS解析出用戶的意圖,而後向技能發送該意圖相應的指令。技能收到指令時,對設備進行相應的操做。

參見文檔:

https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/smart-home-skill/intro-smart-skill_markdown

 

 

3、開發步驟

 

前期準備

一、開發者認證

二、建立智能家居技能

流程詳見文檔:

https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/smart-home-skill/create-smart-skill_markdown

三、配置OAuth 2.0 帳號關聯

四、配置設備雲服務地址

 

開發步驟

一、學習Smarthome協議

https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/intro-protocol_markdown

二、填寫技能基礎信息

三、配置服務受權信息

四、根據Smarthome協議進行開發

  • 設備發現
  • 設備控制
  • 設備查詢
  • 異步上報

五、模擬測試

六、申請發佈

七、錄製視頻OR寄送設備,等待審覈上線

八、版本迭代管理

詳細步驟參見文檔:https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/smart-home-skill/create-smart-skill_markdown

 

開發資料

技術文檔:https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/smart-home-skill/intro-smart-skill_markdown

技術課堂:https://dueros.baidu.com/didp/news/technicalclass?id=dbp

開發協議:https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/intro-protocol_markdown

 

 

4、常見問題解答

如何搭建DuerOS智能家居系統

中控設備(如:小度音箱、小度在家等)

經過 設備開放平臺,將設備接入DCS-SDK,具備DuerOS的對話AI能力;

受控設備(如:智能燈、空調等)

經過 技能開放平臺,建立「智能家居技能」,只需受權設備信息和輕量化開發,便可輕鬆實現智能家居的指令控制;

 

智能家居技能支持哪些功能?

開關控制:打開、關閉電燈等

調控功能:調節房間的亮度、溫度和溼度,或調整冰箱溫度等

設備操控:播放家電娛樂設備、切換電視頻道、調整音量大小、電視快進和回訪等控制

智能場景:智能場景是指一些智能設備的組合使用,把多個智能設備調到預先設定好的狀態。如用戶使用睡眠場景時,智能家居技能會調暗燈光、關上窗簾。

 

目前可控制的設備類型和指令?

設備類型:

燈、空調、空氣淨化器、熱水器、洗衣機、窗簾、插座、場景控制、電視、電風扇、加溼器、掃地機器人、取暖器、烤箱、微波爐、電飯煲、壓力鍋、烹飪機、破壁機

 

控制功能及示例指令:

 

 

有哪些成功的合做案例?目前哪些設備已能夠被DuerOS控制?如何購買?

 

一、成功案例: Broadlink、小蔥智能、LifeSmart、塗鴉智能、時在智能、咖浦智能…

 

二、查看已接入設備及購買方式

下載並打開 小度在家\小度音箱\...app

進入「智能家居」板塊,點擊「查看能夠控制哪些設備」

選擇所需的設備類別,便可查看可控的品牌和型號,點擊所需商品將會跳轉至相應的購買連接

 

用戶如何使用 智能家居技能?

將中控設備(如:音箱)和被控設備(如:燈)成功聯上WIFI

「技能商店」裏啓用技能,並登錄受權帳號

便可經過「小度小度,打開燈」等語音指令進行控制;

 

有哪幾種「發現設備」的方式?

法① 用戶啓用技能,並登錄受權時,DuerOS會自動拉取用戶的設備列表

法② 爲開發者提供用戶設備的接口,開發者能夠主動向DuerOS推送用戶設備的更新列表數據;

參照文檔:https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/discovery-message_markdown

 

法③ 用戶也能夠經過「小度小度,發現設備」的語音指令,來主動更新設備列表

 

開發實現&圖示

支持設備的新增或名稱的改變,可經過同步更新(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 ,標題註明:【智能家居】

 

 

智能家居技能模擬測試\真機測試步驟?

  1. 建立技能
  2. 在平臺完成配置服務受權(DuerOS與開發者的設備雲、App帳號等打通)
  3. 在開發者的APP裏成功登錄並受權帳號;

 

模擬測試

一、在平臺右側對話測試框內,輸入「發現設備」,會反饋提示「正在查找設備,須要xx秒」

二、成功發現設備後,便可輸入控制命令(如:打開燈),來操控綁定的設備;

 

真機測試

一、進入真機測試頁面,點擊啓用

二、在真機設備上登陸同一個百度帳號

三、經過語音輸入「小度小度,打開技能調試模式」進入技能;

四、能夠經過「小度小度,發現設備」來更新可控設備列表,經過語音控制指令,測試控制智能家居。

 

 

如何發佈上線智能家居技能?審覈和視頻錄製有哪些要求?須要提供哪些資料?

 

申請上線:

技能開發完成,並經過模擬測試驗證後,便可填寫技能相關信息,在平臺上申請發佈上線;

 

錄製視頻:

技能提交申請上線後,DuerOS會進行技能的審覈。

爲了儘快經過審覈,請錄製設備控制視頻,內容需包含主控和全部被控設備,須要能夠成功控制被控設備的相關功能項。


視頻請發送至 xudandan02@baidu.com

郵件格式:

郵件標題:【技能審覈】待審覈技能名稱
郵件正文:正文需註明待審覈技能ID,視頻文件可以使用附件或者網盤連接的形式發送

 

設備寄送(可選):

將技能中涉及的全部智能家居設備和設備相關使用文檔郵寄給DuerOS,以便DuerOS審覈該技能;

寄送前需將設備與開發者帳號受權綁定完成,並在使用文檔中提供對應的帳號和密碼。

 

寄送信息:

通信地址:北京市海淀區西北旺東路10號院百度科技園4號樓

收件人:張忠琦

聯繫電話: 18521725422

 

正式發佈上線的技能,將會在哪裏顯示?

小度音箱 等無屏音箱

針對無屏音箱等設備,可使用 小度音箱\廠商自有 app

「智能家居」 裏查看並啓用已上線的智能家居技能;

 

小度在家 等有屏設備

小度在家\廠商自有app——發現更多——智能家居

小度在家設備內——更多——智能家居

 

 

亮度\風速…等是否支持設置成50%的程度值,是否提供相應的接口信息?

支持亮度等程度值的設定。以亮度爲例,使用value參數,可控制燈光亮度的百分比值

爲double類型,取值範圍爲0~100。其中0表示燈在打開時的最小亮度,100表示燈的最大亮度。

 

詳情可參考 智能家居控制協議——控制消息:

https://dueros.baidu.com/didp/doc/dueros-bot-platform/dbp-smart-home/protocol/control-message_markdown

 

 

是否支持場景模式?如何自定義?

支持用戶\開發者經過開發者\廠商的app來自定義場景模式的名稱和功能;

 

開發配置:

經過SCENE_TRIGGER來觸發場景模式控制;SCENE_TRIGGER 描述特定設備的組合場景

設備之間沒有相互關聯,無特定操做順序。例如「打開睡眠模式」包括關燈和鎖上房門,可是關燈和鎖上房門之間沒有必然聯繫,能夠先關燈而後鎖上房門,也能夠先鎖上房門後關燈。

使用 friendlyName字段,來傳遞場景模式的名稱;

 

控制燈光顏色,使用的是什麼色彩模式?

DuerOS採用的是HSB其中H表明色相;S表明飽和度;B表明亮度。;

 

設備名稱出現ASR識別錯誤,要如何修正?

DuerOS會經過數據訓練和算法升級不斷優化ASR識別狀況,也歡迎各位開發者爲咱們提供建議和需求一同優化技能體驗。

若有識別率較低的詞句,歡迎將此類例子及常見表達方式或誤識別結果反饋給咱們,定向的作泛化提優。

 

5、智能家居文檔 樹狀提綱

 

 

原文連接地址:https://developer.baidu.com/topic/show/290030

相關文章
相關標籤/搜索