日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Nodejs版本SDK

更新時(shí)間:

設(shè)備接入SDK用于您在網(wǎng)關(guān)上開(kāi)發(fā)驅(qū)動(dòng),將設(shè)備連接到網(wǎng)關(guān),進(jìn)而連接到物聯(lián)網(wǎng)平臺(tái)。

Node.js版本開(kāi)源的SDK源碼請(qǐng)見(jiàn)開(kāi)源的Node.js庫(kù)

安裝和使用

  1. 您可以通過(guò)如下命令來(lái)安裝SDK。
    npm install linkedge-thing-access-sdk
  2. 安裝完成后,您可以根據(jù)SDK接口進(jìn)行驅(qū)動(dòng)開(kāi)發(fā)。
    重要 完成驅(qū)動(dòng)開(kāi)發(fā)后,直接運(yùn)行會(huì)提示錯(cuò)誤,必須通過(guò)物聯(lián)網(wǎng)平臺(tái)控制臺(tái),將已開(kāi)發(fā)的驅(qū)動(dòng)部署到網(wǎng)關(guān)中方可執(zhí)行。部署驅(qū)動(dòng)到網(wǎng)關(guān)的操作請(qǐng)參考驅(qū)動(dòng)開(kāi)發(fā)

    使用SDK開(kāi)發(fā)驅(qū)動(dòng)的示例代碼片段如下所示。

    const {
      Config,
      ThingAccessClient
    } = require('linkedge-thing-access-sdk');
    
    const callbacks = {
      setProperties: function (properties) {
        // Set properties to the physical thing and return the result.
        // Return an object representing the result or the promise wrapper of the object.
        return {
          code: 0,
          message: 'success',
        };
      },
      getProperties: function (keys) {
        // Get properties from the physical thing and return the result.
        // Return an object representing the result or the promise wrapper of the object.
        return {
          code: 0,
          message: 'success',
          params: {
            key1: 'value1',
            key2: 'value2',
          }
        };
      },
      callService: function (name, args) {
        // Call services on the physical thing and return the result.
        // Return an object representing the result or the promise wrapper of the object.
        return new Promise((resolve) => {
          resolve({
            code: 0,
            message: 'success',
          });
        });
      }
    };
    Config.get()
      .then(config => {
        const thingInfos = config.getThingInfos();
        thingInfos.forEach(thingInfo => {
          const client = new ThingAccessClient(thingInfo, callbacks);
          client.registerAndOnline()
            .then(() => {
              return new Promise(() => {
                setInterval(() => {
                  client.reportEvent('high_temperature', { temperature: 41 });
                  client.reportProperties({ 'temperature': 41 });
                }, 2000);
              });
            })
            .catch(err => {
              console.log(err);
              client.cleanup();
            });
            .catch(err => {
              console.log(err);
            });
        });
      });

常量定義

名稱(chēng)類(lèi)型描述
PRODUCT_KEYString配置對(duì)象(傳給ThingAccessClient構(gòu)造函數(shù))的鍵值,指定云端分配的productKey。
DEVICE_NAMEString配置對(duì)象(傳給ThingAccessClient構(gòu)造函數(shù))的鍵值,指定云端分配的deviceName。
LOCAL_NAMEString配置對(duì)象(傳給ThingAccessClient構(gòu)造函數(shù))的鍵值,指定本地自定義的設(shè)備名。
CALL_SERVICEString回調(diào)對(duì)象(傳給ThingAccessClient構(gòu)造函數(shù))的鍵值,指定調(diào)用設(shè)備服務(wù)回調(diào)函數(shù)。回調(diào)函數(shù)格式請(qǐng)參見(jiàn)callbacks.callService()
GET_PROPERTIESString回調(diào)對(duì)象(傳給ThingAccessClient構(gòu)造函數(shù))的鍵值,指定獲取設(shè)備屬性回調(diào)函數(shù)。回調(diào)函數(shù)格式請(qǐng)參見(jiàn)callbacks.getProperties()
SET_PROPERTIESString回調(diào)對(duì)象(傳給ThingAccessClient構(gòu)造函數(shù))的鍵值,指定設(shè)置設(shè)備屬性回調(diào)函數(shù)。回調(diào)函數(shù)格式請(qǐng)參見(jiàn)callbacks.setProperties()
RESULT_SUCCESSNumber操作成功。用于回調(diào)函數(shù)返回狀態(tài)碼。
RESULT_FAILURENumber操作失敗。用于回調(diào)函數(shù)返回狀態(tài)碼。
ERROR_CLEANUPString調(diào)用cleanup()出錯(cuò)錯(cuò)誤碼。
ERROR_CONNECTString調(diào)用registerAndOnline()出錯(cuò)錯(cuò)誤碼。
ERROR_DISCONNECTString調(diào)用offline()出錯(cuò)錯(cuò)誤碼。
ERROR_GET_CONFIGString調(diào)用getConfig()出錯(cuò)錯(cuò)誤碼。
ERROR_GET_TSLString調(diào)用getTsl()出錯(cuò)錯(cuò)誤碼。
ERROR_GET_TSL_EXT_INFOString調(diào)用getTslExtInfo()出錯(cuò)錯(cuò)誤碼。
ERROR_UNREGISTERString調(diào)用unregister()出錯(cuò)錯(cuò)誤碼。

Config

驅(qū)動(dòng)相關(guān)配置信息。

  • static get()

    返回全局的驅(qū)動(dòng)配置對(duì)象,該配置通常在設(shè)備與驅(qū)動(dòng)程序關(guān)聯(lián)時(shí)由系統(tǒng)自動(dòng)生成。

    說(shuō)明 該接口的Config.get()調(diào)用方法與getConfig()接口的區(qū)別在于,getConfig()返回配置字符串,Config.get()返回配置對(duì)象。
    返回值:
    Promise<Config>
  • static registerChangedCallback(callback)

    注冊(cè)配置變更回調(diào)函數(shù)。

    表 1. 請(qǐng)求參數(shù)
    名稱(chēng)類(lèi)型描述
    callback(String)Function回調(diào)函數(shù),配置變更時(shí)被調(diào)用。
  • static unregisterChangedCallback(callback)

    注銷(xiāo)配置變更回調(diào)函數(shù)。

    表 2. 請(qǐng)求參數(shù)
    名稱(chēng)類(lèi)型描述
    callback(String)Function回調(diào)函數(shù),配置變更時(shí)被調(diào)用。
  • Config(string)

    基于配置字符串構(gòu)造新的Config對(duì)象。

    表 3. 請(qǐng)求參數(shù)
    名稱(chēng)類(lèi)型描述
    stringStringJSON配置字符串。
  • getThingInfos()

    返回所有設(shè)備相關(guān)信息。

    返回值:
    ThingInfo[]
  • getDriverInfo()

    返回驅(qū)動(dòng)相關(guān)信息。

    返回值:
    Object

ThingInfo

此類(lèi)(結(jié)構(gòu))接口用于標(biāo)識(shí)連接到Link IoT Edge的設(shè)備信息,即某個(gè)設(shè)備連接到了Link IoT Edge,那么可以通過(guò)此類(lèi)接口標(biāo)識(shí)該設(shè)備的productKey, deviceName, 自定義配置等信息。

ThingInfo(productKey, deviceName, custom)

構(gòu)造一個(gè)新的ThingInfo對(duì)象。

表 4. 請(qǐng)求參數(shù)
名稱(chēng)類(lèi)型描述
productKeyString產(chǎn)品唯一標(biāo)識(shí)。
deviceNameString設(shè)備名稱(chēng)。
customObject設(shè)備自定義配置。

ThingAccessClient

設(shè)備接入客戶(hù)端,您可以通過(guò)該客戶(hù)端來(lái)主動(dòng)上報(bào)設(shè)備屬性或事件,也可被動(dòng)接受云端下發(fā)的指令。

  • ThingAccessClient(config, callbacks)

    構(gòu)造函數(shù),使用指定的config和callbacks構(gòu)造。

    表 5. 請(qǐng)求參數(shù)
    名稱(chēng)類(lèi)型描述
    configObject元數(shù)據(jù),用于配置該客戶(hù)端。取值格式為:
    {
        "productKey": "Your Product Key", 
        "deviceName": "Your Device Name"
    }
    callbacksObject回調(diào)函數(shù)對(duì)象。取值格式為:
    callbacks: {
        setProperties: function(properties) {},
        getProperties: function(keys) {},
        callService: function(name, args) {}
    }
    • 指定設(shè)置設(shè)備屬性的回調(diào)參數(shù),請(qǐng)參見(jiàn)本文下方callbacks.setProperties內(nèi)容
    • 指定獲取設(shè)備屬性的回調(diào)參數(shù),請(qǐng)參見(jiàn)本文下方callbacks.getProperties內(nèi)容
    • 指定調(diào)用設(shè)備服務(wù)的回調(diào)參數(shù),請(qǐng)參見(jiàn)本文下方callbacks.callService內(nèi)容
  • callbacks.setProperties(properties)

    設(shè)置具體設(shè)備屬性的回調(diào)函數(shù)。通過(guò)回調(diào)函數(shù),實(shí)現(xiàn)設(shè)置設(shè)備的屬性。

    表 6. 請(qǐng)求參數(shù)
    名稱(chēng)類(lèi)型描述
    propertiesObject設(shè)置屬性的對(duì)象,取值格式為:
    {
        "key1": "value1", 
        "key2": "value2"
    }
    返回值:
    {
      "code": 0,
      "message": "string",
      "params": {}
    }
    表 7. 返回參數(shù)
    名稱(chēng)類(lèi)型描述
    codeNumber狀態(tài)碼。
    • 0:接口調(diào)用成功。
    • 非0:接口調(diào)用失敗,報(bào)非0值對(duì)應(yīng)的錯(cuò)誤。
    messageString可選參數(shù),狀態(tài)描述信息。
    paramsObject可選參數(shù),用于返回每個(gè)屬性的設(shè)置結(jié)果,其值為每個(gè)屬性設(shè)置后的實(shí)際值。
  • callbacks.getProperties(keys)

    獲取具體設(shè)備屬性的回調(diào)函數(shù)。通過(guò)回調(diào)函數(shù),實(shí)現(xiàn)獲取設(shè)備的屬性。

    表 8. 請(qǐng)求參數(shù)
    名稱(chēng)類(lèi)型描述
    keysString[]獲取屬性對(duì)應(yīng)的名稱(chēng),取值格式為:
    ['key1', 'key2']
    返回值:
    {
      "code": 0,
      "message": "string",
      "params": {}
    }
    表 9. 返回參數(shù)
    名稱(chēng)類(lèi)型描述
    codeNumber狀態(tài)碼。
    • 0:接口調(diào)用成功。
    • 非0:接口調(diào)用失敗,報(bào)非0值對(duì)應(yīng)的錯(cuò)誤。
    messageString可選參數(shù),狀態(tài)描述信息。
    paramsObject可選參數(shù),用于獲取屬性成功時(shí),返回對(duì)應(yīng)的屬性值。
  • callbacks.callService(name, args)

    調(diào)用設(shè)備服務(wù)回調(diào)函數(shù)。通過(guò)回調(diào)函數(shù),實(shí)現(xiàn)調(diào)動(dòng)設(shè)備服務(wù)。

    表 10. 請(qǐng)求參數(shù)
    名稱(chēng)類(lèi)型描述
    nameString設(shè)備服務(wù)名稱(chēng)。
    argsObject服務(wù)入?yún)⒘斜恚≈蹈袷綖椋?
    {
        "key1": "value1", 
        "key2": "value2"
    }
    表 11. 返回參數(shù)
    名稱(chēng)類(lèi)型描述
    codeNumber狀態(tài)碼。
    • 0:接口調(diào)用成功。
    • 非0:接口調(diào)用失敗,報(bào)非0值對(duì)應(yīng)的錯(cuò)誤。
    messageString可選參數(shù),狀態(tài)描述信息。
    paramsObject可選參數(shù),用于調(diào)用設(shè)備服務(wù)成功時(shí),返回額外的信息。
  • setup()
    設(shè)備接入客戶(hù)端初始化。
    重要 Link IoT Edge當(dāng)前版本已不再使用該接口,之前遺留的調(diào)用不受影響。
    返回值:
    Promise<Void>
  • registerAndOnline()

    將設(shè)備注冊(cè)到網(wǎng)關(guān)中并通知網(wǎng)關(guān)上線(xiàn)設(shè)備。設(shè)備需要注冊(cè)并上線(xiàn)后,設(shè)備端才能收到云端下發(fā)的指令或者發(fā)送數(shù)據(jù)到云端。

    返回值:
    Promise<Void>
  • online()

    通知網(wǎng)關(guān)設(shè)備已上線(xiàn),該接口一般在設(shè)備離線(xiàn)后再次上線(xiàn)時(shí)使用。

    返回值:
    Promise<Void>
  • offline()

    通知網(wǎng)關(guān)設(shè)備已離線(xiàn)。

    返回值:
    Promise<Void>
  • reportEvent(eventName, args)

    主動(dòng)上報(bào)設(shè)備事件。

    表 12. 請(qǐng)求參數(shù)
    名稱(chēng)類(lèi)型描述
    eventNameString事件對(duì)應(yīng)的名稱(chēng),與您在產(chǎn)品定義中創(chuàng)建事件的名稱(chēng)一致。
    argsObject事件中包含的屬性key與value,取值格式為:
    {
        "key1": "value1", 
        "key2": "value2"
    }
  • reportProperties(properties)

    主動(dòng)上報(bào)設(shè)備屬性。

    表 13. 請(qǐng)求參數(shù)
    名稱(chēng)類(lèi)型描述
    propertiesObject屬性中包含的屬性key與value,取值格式為:
    {
        "key1": "value1", 
        "key2": "value2"
    }
  • getTsl()

    返回TSL字符串,數(shù)據(jù)格式與云端一致。

    返回值:
    Promise<Void>
  • getTslConfig()
    重要 Link IoT Edge當(dāng)前版本已不再使用該接口,已使用getTslExtInfo()接口代替,之前遺留的調(diào)用不受影響。

    返回TSL配置字符串。

    返回值:
    Promise<String>
  • getTslExtInfo()

    返回TSL擴(kuò)展信息字符串。

    返回值:
    Promise<String>
  • cleanup()

    資源回收接口,您可以使用該接口回收您的資源。

    返回值:
    Promise<Void>
  • unregister()

    從網(wǎng)關(guān)中移除設(shè)備。請(qǐng)謹(jǐn)慎使用該接口。

    返回值:
    Promise<Void>

getConfig()

獲取驅(qū)動(dòng)配置字符串,該配置通常在設(shè)備與驅(qū)動(dòng)程序關(guān)聯(lián)時(shí)由系統(tǒng)自動(dòng)生成。
說(shuō)明 該接口與static get()接口Config.get()調(diào)用方法的區(qū)別在于getConfig()返回配置字符串,Config.get()返回配置對(duì)象。
返回值:
Promise<String>

destroy()

銷(xiāo)毀庫(kù)內(nèi)部所有資源。通常不再使用此庫(kù)時(shí)調(diào)用destroy()接口。

返回值:
Promise<Void>