阿里IOT
設備接入指南
一個設備要介入阿里云物聯網平臺,主要包含三個主要步驟:
接入云平臺:主要在云平臺上進行產品定義(設備的屬性、事件等)
設備端開發:基于阿里云IOT提供的AliOS或者SDK進行設備端開發,建立阿里云連接通道
設備上下行調試:在云平臺上申請測試設備的三元組(可以理解為該設備上云的身份賬號),將其寫入設備端,就可以進行設備和云端的上下行調試,確保設備能夠連上云平臺。
設備調試通過后,就可以在云平臺上批量申請三元組,進行設備批量生產。
1. 接入云平臺
現阿里云IOT根據用戶的需求不同,提供不同的云平臺,您可以根據自身的產品定位選擇適合您的云平臺:
阿里云物聯網平臺
適合用戶
: 軟件開發者、硬件開發者、有一定軟硬件開發能力的方案商/設備廠商
平臺特點
:物聯網平臺是阿里云面向物聯網領域開發人員推出的 通用設備管理平臺,提供各種基礎能力,旨在幫助開發者搭建數據通道,方便終端和云端進行雙向通信,設備廠商需要自己開發設備管理的手機APP或者web頁面。
智能生活開放平臺
適合用戶
: 家電產品方案商/設備廠商、硬件開發者
平臺特點
:針對生活領域的物聯網平臺,基于物聯網平臺進行了擴展,目標是解決家電設備快速智能化的問題,提供了手機APP端的設備入網、控制SDK。平臺特有功能包含:APP配置及開發、項目管理、量產管理、服務中心、運營中心等功能
工業互聯網平臺
適合用戶
: 工業領域的方案商/設備廠商、熟悉組態軟件的開發者
平臺特點
:針對工業領域的物聯網平臺,將互聯網技術,云技術進行重新封裝,降低用戶在生成工業物聯網應用時的學習成本,提高開發效率,使工業用戶可以快速地在平臺上完成包括設備資產管理、遠程運維、生產管理等一系列工業互聯網應用的開發,并一鍵發布應用到互聯網環境中,實現一站式的應用開發與發布。
1.1 接入流程
盡管平臺提供的服務不同,但各平臺在設備接入流程上,大同小異。目前您可以根據以下流程在您選擇的云平臺中完成接入設備的操作,后續我們會逐步統一各個云平臺的接入流程和體驗。詳見鏈接
2. 設備端開發
為了能夠快速的將設備接入阿里云Iot平臺并且能夠對設備進行遠程控制和管理,阿里云提供兩種方法進行設備接入:基于AliOS Things 進行設備接入、基于Link Kit SDK 進行設備的接入的方式。
2.1 基于AliOS Things 進行設備接入
設備廠商可以選用經過阿里云IoT認證過的模組/芯片進行產品開發,由于認證過的模組/芯片已實現對模組/芯片的對接、支持將設備連接到阿里云IoT云平臺,設備廠商可以避免硬件適配的時間與人力成本,將精力關注于產品的業務功能開發。
點擊查詢 - 阿里云Iot已認證的模組/芯片
同時,您也可以不依賴聯網模塊,完全自主的開發一款自帶連接阿里云IoT功能的物聯網設備。在您的開發過程中AliOS Things將為您提供包括調度內核,常用中間件以及豐富的應用組件的支持,使您的設備開發事半功倍。AliOS Things以開源的方式提供給用戶使用,您可以到如下的代碼倉庫獲得相應源碼:
點擊獲取 - AliOS Things 物聯網操作系統
2.2 基于Link Kit SDK 進行設備接入
對于不適合移植AliOS的應用場景,阿里云IoT提供設備端接入SDK(Link Kit SDK)用于將設備快速接入阿里云IoT平臺,請 點擊此處 獲取更多Link Kit SDK的介紹,以及Link Kit SDK的 開發過程。
由于設備的運行環境不同,Link Kit SDK提供了多種語言版本,客戶可以基于自己期望采用的開發語言進行設備接入.
2.2.1 C 語言Link Kit SDK
設備上運行的操作系統類型繁多,常見的諸如Linux、FreeRTOS、Windows等,C Link Kit SDK定義了硬件接口抽象層,廠商將這些接口抽象層適配到嵌入式設備的操作系統后,Link Kit SDK可以在相應的操作系統上運行。
嵌入式設備上軟件結構示意圖如下所示:
- 廠商需要實現Link Kit SDK HAL的適配,然后進行產品功能的開發
- 對于使用嵌入式Linux進行設備開發的廠商,SDK中包含一份基于ubuntu的HAL實現,設備廠商可以參考
3.設備上下行調試
開發完成之后你可以進行設備上下行調試來測試設備是否與云端正常通信。如果通信正常,恭喜您已經將設備成功地接入了阿里云IOT平臺。
云平臺名 | 操作說明 |
---|---|
阿里云物聯網平臺 | 上線設備 |
智能生活開放平臺 | 設備調試 |
工業互聯網平臺 | 查看設備數據 |
4.其他資料
4.1 平臺詳細介紹
如果您還有更多需求可以參考各個平臺的詳細說明文檔。
云平臺名 | 說明文檔 |
---|---|
阿里云物聯網平臺 | 文檔入口 基礎版快速入門 高級版快速入門 |
智能生活開放平臺 | 文檔入口 快速入門 |
工業互聯網平臺 | 文檔入口 |
4.2 芯片/模組合作伙伴
我們邀請芯片商或模組商成為阿里云IOT模組/芯片合作伙伴,這樣可以享受更多商業機會。詳情請見芯片模組合作伙伴計劃
您的角色 | 認證流程 |
---|---|
模組商 | IoT模組認證流程介紹 阿里云Link測試認證服務在線申請 |
芯片商 | 集成AliOS-Things 阿里云Link測試認證服務在線申請 |
其余SDK 詳情見 ?? 阿里云IOT - 開發者社區
設備技術認證流程詳見 ?? 阿里云IOT技術認證
小米IOT
平臺概況
小米IoT開發者平臺面向智能家居、智能家電、健康可穿戴、出行車載等領域,開放智能硬件接入、智能硬件控制、自動化場景、AI技術、新零售渠道等小米特色優質資源,與合作伙伴一起打造極致的物聯網體驗。
平臺現已向以下類型的開發者開放合作——
- 智能硬件企業:企業希望自己的智能硬件支持小愛同學控制、支持米家APP控制、支持與米家智能硬件互聯互通。
- 智能硬件方案商:企業希望將智能硬件接入小米IoT平臺作為解決方案提供給自己的客戶;同時,優秀的方案商也有機會成為平臺的認證方案商,平臺會引薦有研發資源支持需要的智能硬件企業。
- 語音AI平臺:企業希望其語音AI服務的智能家居技能支持控制小米智能家居。
- 酒店/公寓/地產企業:企業希望其智慧化項目引入小米智能家居。
注:小米IoT開發者平臺當前僅面向中國大陸地區的企業開放,暫未面向個人開發者開放。
技術方案
小米IoT開發者平臺為智能硬件的接入提供兩類技術方案:
方案一:設備直連接入
設備直連接入,即智能硬件通過嵌入小米智能模組或集成SDK的方式直接連接到小米IoT平臺。該方案適用于以下開發者(任一條件):
- 新產品接入,同時無自有智能云、或相對缺少產品智能化經驗。
- 希望產品與米家APP在體驗上深度集成,用戶可使用米家APP完成從配網添加到控制管理的全部操作。
- 希望產品在小米眾籌平臺或小米有品中銷售。
- 希望產品接入后獲得合作推廣資源(如營銷、運營等)。
方案二:云對云接入
云對云接入,即開發者自有智能云與小米IoT平臺對接,其智能硬件連接自有智能云后,也間接實現了與小米IoT平臺的接入。該方案適用于以下開發者:
- 已有自己的智能云和智能家居APP,產品主要在自有APP中進行添加和管理,但希望同時能被小愛同學、米家APP控制,或者希望與小米IoT平臺的其他智能硬件實現互聯互通。
- 希望產品接入后獲得合作推廣資源(如營銷、運營等)。
應用接入
針對開發者的應用(包括APP、Web、AI、云)希望控制已接入小米IoT平臺的智能硬件,平臺提供Open API或SDK供應用進行調用。
接入流程
智能硬件接入流程
Step 1:成為開發者
開發者需先在小米IoT開發者平臺遞交企業開發組申請,已審核通過的企業即成為平臺的開發者,可獲得平臺的開發使用權限。
Step 2:創建產品
對于擬接入平臺的產品,建議開發者先行規劃產品功能和技術方案,并根據產品規劃在平臺創建產品。成功創建產品過后可獲得產品在平臺的唯一標識等參數,用于產品開發使用。
Step 3:研發產品
完成產品創建后,即可按照開發文檔引導進行配置、開發、調試工作。
針對直連接入產品,開發者可視產品功能和性能需要選用對應的小米智能模組或設備SDK,產品開發內容主要包括固件開發和米家APP擴展程序開發。
針對云接入產品,產品開發內容主要是在自有智能云上按小米IoT設備通信標準與自有協議進行適配。
Step 4:認證產品
產品在開發過程中僅支持有限數量的小米賬號進行開發和調試使用(即開發測試人員)。若開發者希望產品上線被全部用戶所使用,需向平臺申請產品上線并提交相關檢驗用材料。
平臺的檢驗內容主要涉及與平臺相關的軟件和物料部分,包括平臺配置、米家擴展程序、設備固件等,也會包括整體的用戶交互體驗;但對于硬件本身的質量、包材質量、與平臺無關的軟件功能等不在平臺的檢驗范圍之內,由開發者自行保證。
Step 5:發布產品
對于已通過平臺檢驗的產品,平臺會與開發者就產品簽訂商務協議,并將產品相關配置正式上線。同時,平臺會向產品正式授權使用“已接入米家 / works with mijia”商標,該商標代表該產品可以通過米家APP或小愛同學控制,可用于產品的包裝、說明書、電商頁面、宣傳物料等地方。
在完成產品上線相關事宜后,產品即可在市場上進行銷售和推廣。
注:智能硬件需要以直連接入的方式接入平臺后,方可具備上架小米眾籌或小米有品等渠道的資質;最終產品是否可成功入駐上述渠道,以有品團隊的選品評估結論為準,可詳見入駐有品。
應用接入流程
Step 1:成為開發者
由于應用需要開通小米賬號授權服務,開發者除了需成為小米IoT開發者平臺的企業開發者外,還需注冊成為小米開放平臺的企業開發者。
Step 2:創建應用
開發者先在小米開放平臺創建應用并開通賬號服務,應用信息會自動同步至小米IoT開發者平臺,開發者繼續申請并獲得IoT平臺的權限后,便可獲得權限使用Open API或SDK。
Step 3:研發應用
開發者可按照開發文檔引導進行配置、開發、調試工作。
Step 4:發布應用
開發者在開發階段,平臺對Open API有使用頻率和次數的限制。在應用開發完畢后,開發者需向平臺申請上線應用并與平臺簽訂商務協議。
在完成應用上線相關事宜后,應用即可在市場上進行發布和推廣。
注:該步驟主要面向控制其他企業開發組硬件的應用。針對控制自己企業開發組的硬件的應用(如將自有硬件對接Alexa),暫無需經過該步驟。
開放能力
** 2.1 智能硬件直連接入**
智能硬件以硬件直連的方式接入小米IoT開發者平臺,即硬件中嵌入小米智能模組或集成設備SDK。
小米智能模組中已內置標準的設備SDK,且將功能接口封裝為串口通信指令格式。適合于自帶MCU的、控制功能相對簡單的智能硬件,開發者可直接使用MCU對接小米智能模組,并按照標準格式通過串口向模組上報或拉取數據。
設備SDK適合于帶操作系統的、控制功能相對復雜的智能硬件,也適合無MCU、直接在模組中開發功能的智能硬件,SDK中已實現設備配網、賬號綁定、云端通信、OTA等功能,開發者只需調用接口并實現硬件自身的功能邏輯即可。
注:智能硬件與平臺進行信令及數據交換的數據格式需為Json格式。
硬件交互體驗
用戶可直接使用米家APP添加設備,針對Wi-Fi和藍牙設備,還可使用米家APP為設備進行配網或配對,詳見 《硬件配網綁定》。
整個添加設備的過程均為米家APP的通用功能,無需開發者開發。開發者負責開發的部分只有對應產品的控制界面部分(即米家APP擴展程序),詳見 《米家APP控制》。
硬件開發類型
針對開發者不同的硬件開發類型,平臺提供對應的技術和資料支持:
IP設備
包括Wi-Fi類智能硬件和3/4G智能硬件。
RTOS設備
- MCU + 小米Wi-Fi模組
適用于配有MCU、控制功能相對簡單的Wi-Fi類智能硬件,開發者只需在MCU按照與模組的標準串口通信格式進行功能開發和信令傳遞即可。
小米Wi-Fi模組當前包括Wi-Fi單模模組和Wi-Fi藍牙雙模模組兩類模組,目前在售型號請詳見《模組采購》。
- 基于設備SDK(RTOS版本)開發
適用于未配有MCU、利用模組實現硬件自身的功能邏輯的設備,或者已配有MCU、但還需在模組進行二次開發才可以實現預期需要的設備(如MCU通過串口傳輸的數據還需再加工格式才可以上報)。該模式下,開發者可下載對應模組的SDK進行二次開發。
注:現階段暫未開放設備SDK,建議優先使用“MCU + 小米Wi-Fi模組”的開發方式。
Android設備
基于設備SDK(Android版本)開發,適用于Android系統的智能硬件。
注:內測中。
Linux設備
基于設備SDK(Linux版本)開發,適用于Linux系統的智能硬件。
Linux SDK下載請詳見《Linux SDK》。
注:內測中
藍牙BLE設備
基于設備SDK(BLE版本)開發,適用于BLE類型的智能硬件,不支持傳統藍牙類型的。
芯片品牌 | 芯片型號 | SDK |
---|---|---|
Nordic | 51/52 | https://github.com/MiEcosystem/mijia_ble/tree/Nordic |
Dialog | DA14585 | https://github.com/MiEcosystem/mijia_ble/tree/Dialog |
NXP | QN908x / QN902x | https://github.com/MiEcosystem/mijia_ble/tree/NXP |
Cypress | 20706 | https://github.com/MiEcosystem/mijia_ble/tree/cypress |
ST | BlueNRG-1/2 | https://github.com/MiEcosystem/mijia_ble/tree/ST |
Silicon Labs | BG13 | https://github.com/MiEcosystem/mijia_ble/tree/Silabs |
平臺提供兩類BLE協議,MI Beacon(藍牙廣播協議,負責發現和公共事件通報) 和MI Ble Service(藍牙連接協議,負責數據傳輸),分別詳見《MI Beacon 介紹》和《MI Ble Service 介紹》。
BLE設備的具體技術接入方案可詳見SDK README文檔。SDK完整使用需通過申請獲取lib文件。申請請發送BLE SDK使用申請郵件,詳見《開發者反饋指引》。
硬件接入流程
- 創建產品
- 定義產品功能
- 配置功能物料
- 開發硬件
- 開發米家APP擴展程序
- 配置自動化
- 配置消息推送
- 上線產品
以上流程適合一般智能硬件的開發接入。特殊類型的智能硬件(如智能音箱)的開發接入亦符合一般智能硬件的開發接入過程,僅在部分步驟中可能或增加、或省略一些操作。
詳見 ?? 智能硬件直連接入創建產品
2.2 智能硬件云接入
智能硬件以云對云方式接入小米IoT開發者平臺,即開發者自有智能云與小米IoT平臺對接,其智能硬件連接自有智能云后,也間接實現了與小米IoT平臺的接入。
注:現階段針對云對云方式接入的產品暫先支持小愛同學進行控制,后續陸續會支持米家APP控制和與其他智能硬件互聯互通。
該方式適用于符合以下條件的開發者(第三方廠商):
- 擬接入MIOT平臺的智能硬件為IP聯網硬件,即Wi-Fi類硬件、2-4G類硬件、網關+子設備類硬件(如Zigbee設備)等;
- 擁有自己的云(服務器),且云的穩定性和可靠性較好,擬接入MIOT平臺的自有智能硬件連接到自己的云;
- 擁有自己的APP,支持對自有智能硬件進行配網和添加;
- 擁有獨立的用戶賬號體系(非使用微信登錄等第三方開放賬號),且賬號體系支持Oauth 2.0協議對外授權。OAuth登錄頁面需要有針對移動端進行適配。
硬件交互體驗
用戶可通過以下任一方式實現將設備添加到小愛同學可控制設備列表里。
小愛音箱APP
用戶購買并拿到設備后,先使用開發者自有APP進行配網和添加綁定;然后,用戶只需在小愛音箱APP中綁定在開發者自有APP的賬號,即可將自有APP中的設備添加到小愛同學可控制設備列表中。
注:當前支持Android版小愛音箱APP,iOS版即將推出。
米家APP
用戶購買并拿到設備后,先使用開發者自有APP進行配網和添加綁定;然后,用戶只需在米家APP中綁定在開發者自有APP的賬號,即可將自有APP中的設備添加到小愛同學可控制設備列表中。
注:由于該功能近期剛推出,當前功能入口和界面還會隨功能演進和推廣進行進一步完善和調整,以保證用戶的實際使用體驗。
硬件接入流程
- 配置參數
- 創建產品
- 定義產品功能
- 適配平臺協議
- 上線產品
智能硬件云接入見 ?? 智能硬件云接入
小米 平臺相關SDK ?? 下載地址
平臺完整智能詳見 ?? 小米IOT開發指南