天天看點

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

名詞解釋

AliOS Things: 阿裡雲智能IoT團隊自研的物聯網作業系統

HaaS:全稱是Hardware as a Service,阿裡雲智能IoT團隊基于AliOS Things系統推出的硬體即服務

HaaS UI:全稱是Hardware as a Service User Interface,是源自AliOS Things作業系統上的一套應用&圖形解決方案,支援C/C++和 JS兩種開發語言

1、阿裡雲智能物聯網平台簡介

阿裡雲智能物聯網平台為裝置提供安全可靠的連接配接通信能力,向下連接配接海量裝置,支撐裝置資料采集上雲;向上提供雲端API,服務端通過調用雲端API将指令下發至裝置端,實作遠端控制。

2、HaaS UI IoT平台接口簡介

阿裡雲智能物聯網平台支援海量裝置連接配接上雲,裝置與雲端可以通過js形式的IoT接口進行穩定可靠的雙向通信,這些接口簡稱jsapi_iot。

jsapi_iot提供了裝置上報屬性、裝置上報事件、雲端設定屬性、雲端下發服務、mqtt連接配接狀态監聽等接口,可友善開發者使用阿裡雲物聯網平台的相關功能。

示例代碼

  1. /* iot - 阿裡雲IoT連接配接平台連接配接元件示例,産品功能定義:
  2. * [功能類型] ------ [功能名稱] ------ [标志符] ------ [資料類型]
  3. * 屬性 主燈開關 LightSwitch bool (0-關閉 1-開啟)
  4. * 服務 開關翻轉 ToggleLightSwitch -
  5. * 事件 故障上報 Error 參數标志符:ErrorCode
  6. * */
  7. import * as iot from 'iot';
  8. this.device = iot.device();
  9. /* 網絡連接配接事件 */
  10. device.on('connect', function () {
  11. console.log('(re)connected');
  12. });
  13. /* 網絡斷開事件 */
  14. device.on('disconnect', function () {
  15. console.log('disconnect ');
  16. /* 雲端設定屬性事件 */
  17. device.on('props', function (payload) {
  18. console.log('cloud req data is ', payload);
  19. console.log('LightSwitch ', payload.LightSwitch ? 'ON' : 'OFF');
  20. /* 雲端下發服務事件 */
  21. device.on('service', function (id, payload) {
  22. console.log('received cloud serviceid is ' + id);
  23. console.log('received cloud req_data is ' + payload);

2.1、device(Object option)

建立

iot

執行個體,同時會開始嘗試連接配接阿裡雲IoT平台。iot執行個體預設開啟TLS加密。

入參

屬性 類型 必填 描述
region String 阿裡雲region,預設值:cn-shanghai。阿裡雲region詳細說明見 阿裡雲物聯網平台 - 地域和可用區

傳回

  • 執行個體。

2.2、iot 執行個體

事件

當iot client 連接配接到iot平台時,觸發connect事件。斷開重連時也會觸發該事件。

當連接配接斷開時,觸發'disconnect'事件。

當iot雲端下發屬性設定時,觸發props事件。

當iot雲端調用裝置service時,觸發service事件。

方法

上報屬性。

上報事件。

注冊iot事件回調函數。

當iot client 連接配接到iot平台時,觸發'connect'事件。斷開重連時也會觸發該事件。

當連接配接斷開時,觸發'disconnect'事件。三元組錯誤、三元組重複上線、服務端斷開連接配接、主動斷開連接配接、網絡發生異常等都會觸發該事件。該事件觸發時,會自動嘗試重連。

當iot雲端下發屬性設定時,觸發'props'事件。

回調函數參數有:

payload Object 服務端設定裝置屬性的内容

當iot雲端調用裝置service時,觸發'service'事件。

id 服務标志符,詳細請參考 什麼是物的模型

方法:iot.postProps(Object options)

上報裝置屬性。

Object類型,其屬性有:

裝置定義的屬性參數。詳細請參考
success Function 上報裝置屬性成功的回調函數
fail 上報裝置屬性失敗的回調函數

方法:iot.postEvent(Object options)

上報裝置的事件。

事件标志符,詳細請參考
params 要上報的事件參數
上報裝置事件成功的回調函數,其函數參數參見下面說明
上報裝置事件失敗的回調函數

success回調函數參數:

res 服務端reply的消息内容

方法:iot.on(String event, Function callback)

監聽事件。

event 注冊的事件名稱
callback 監聽事件的回調函數

3、裝置建立與三元組擷取

登入阿裡雲IoT官網,iot.aliyun.com,點選企業物聯網平台:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

進入控制台:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

點選公共執行個體:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

點選建立産品:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

根據需要配置産品相關屬性并點選确認:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

然後添加裝置:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

點選前往添加:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

選擇産品為上一步添加的産品,DeviceName自己命名:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

裝置添加完成後,點選“檢視”即可檢視裝置三元組資訊:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

裝置三元組資訊如下所示:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

拿到裝置三元組之後,就可以注冊裝置到阿裡雲物聯網平台了:

  1. this.iot_device = iot.device({
  2. productKey: "xxx",
  3. deviceName: "xxx",
  4. deviceSecret: "xxx",
  5. region: "" // 預設是cn-shanghai

4、裝置上報屬性示例

首先需要在産品中建立相應屬性,在産品頁面點選檢視:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

選擇功能定義:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

點選編輯草稿:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

點選添加自定義功能:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

配置屬性相關資訊,點選确認:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

屬性配置完成後,點選釋出上線,至此,屬性就配置完成了:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

屬性建立完成後,裝置就可以将對應的屬性上報到物聯網平台了,裝置屬性上報示例代碼如下:

  1. // 先注冊裝置到阿裡雲物聯網平台
  2. // 裝置屬性上報
  3. postProps() {
  4. this.LightSwitch = this.LightSwitch == 0 ? 1 : 0;
  5. this.iot_device.postProps({
  6. payload: {
  7. LightSwitch: this.LightSwitch
  8. },
  9. success: function () {
  10. console.log('postProps success');
  11. fail: function () {
  12. console.log('postProps failed');
  13. }

下面将模拟開關燈,以示例阿裡雲物聯網平台收到的裝置屬性上報資料。當燈打開時,向平台上報“開”,當燈關閉時,向平台上報“關”,物聯網平台将實時顯示裝置上報的資料:

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

開發者技術支援

如需更多技術支援,可加入釘釘開發者群,或者關注微信公衆号

HaaS UI基礎教學十:IoT平台連接配接1、阿裡雲智能物聯網平台簡介2、HaaS UI IoT平台接口簡介3、裝置建立與三元組擷取4、裝置上報屬性示例開發者技術支援

更多技術與解決方案介紹,請通路阿裡雲AIoT首頁

https://iot.aliyun.com/

繼續閱讀