.NET Core 跨平臺物聯網開發:SDK 屬性、方法、委託、類(四)

系列教程目錄

 (一) 鏈接阿里雲IOT

 (二) 設置委託事件

 (三) 上報屬性

 (四)  SDK文檔 屬性、方法、委託、類

 http://pan.whuanle.cn/index.php?dir=uploads/阿里雲IOT/AliIOTXFclient-dll類庫&responsephp

下載三個庫,頭部引入 便可使用html

using AliIOTXFClient;

示例下載地址json

http://pan.whuanle.cn/index.php?dir=uploads/阿里雲IOT/demo示例服務器

 

AliIOTXFClient.XFMQTT 類是核心功能ide

生成設備屬性、服務、事件通信的topic

public readonly ThingModel thingModel

有四個主要屬性,用來獲取或設置屬性、服務、事件的Topic地址。post

 

名稱 說明
upTopic

用於上傳設備屬性數據,有如下幾個字段阿里雲

設備上報屬性請求Topic--透傳:up_raw 加密

設備上報屬性響應Topic--透傳:up_raw_replyspa

設備上報屬性請求Topic--Alink JSON: postcode

設備上報屬性響應Topic--Alink JSON:post_reply


setTopic

 設置設備屬性,有如下幾個字段

下行(透傳)響應Topic:down_raw

下行(透傳)響應Topic:down_raw_reply

下行(Alink JSON)請求Topic:set

下行(Alink JSON)響應Topic:set_reply

eventTopic

 設備事件上報,有如下幾個字段

上行(透傳) 請求Topic:up_raw

上行(透傳)響應Topic:up_raw_reply

上行(Alink JSON)請求Topic:post

上行(Alink JSON)響應Topic:post_reply

serviceTopic

 設備服務調用

下行(透傳)請求Topic:down_raw

下行(透傳)響應Topic:down_raw_reply

下行(Alink JSON)請求Topic:identifier

下行(Alink JSON)Topic:identifier_reply

 

與鏈接前有關

初始化鏈接設置

public void Init(string DeviceSecret, string RegionId)

 

生成惟一clientId

public string CreateClientId()

 

建立MQTT鏈接並與服務器通信,訂閱須要的Topic

public void ConnectMqtt(string[] SubTopic, byte[] QOS = null)

 

委託


 訂閱回調 - 當收到服務器消息時

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgPublishEventHandler PubEventHandler;

 

 當 QOS=1或2時,收到訂閱觸發

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgPublishedEventHandler PubedEventHandler;

 

 向服務器發佈 Topic 時

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgSubscribedEventHandler SubedEventHandler;

 

向服務器發佈 Topic 失敗時

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgUnsubscribedEventHandler UnSubedEventHandler;

 

 斷開鏈接時

public uPLibrary.Networking.M2Mqtt.MqttClient.ConnectionClosedEventHandler ConnectionClosedEventHandler;

 

默認的方法

Default_PubEventHandler(object sender, MqttMsgPublishEventArgs e)
public void Default_PubedEventHandler(object sender, MqttMsgPublishedEventArgs e)
public void Default_SubedEventHandler(object sender, MqttMsgSubscribedEventArgs e)
public void Default_UnSubedEventHandler(object sender, MqttMsgUnsubscribedEventArgs e)
public void Default_ConnectionClosedEventHandler(object sender, EventArgs e)

 

發佈消息

上傳屬性或發佈 Topic

public int Subscribe(string PubTopic, byte[] content)

上傳屬性或發佈 Topic

public int Subscribe(string PubTopic, string content)

上傳屬性或發佈 Topic,會將源數據進行 Base 64位加密再上傳

public int SubscribeToBase(string PubTopic, byte[] betys)

 

屬性上傳

設備上傳屬性--透傳

public int Thing_Property_Up_Raw(byte[] bytes)

自定義設備上傳屬性地址、上傳屬性--透傳。不建議使用,建議使用 Up_Raw(byte[] bytes)

public int Thing_Property_Up_Raw(string up_rawTopic, byte[] bytes)

設備上傳屬性--透傳,轉爲 Base 64位加密後上傳

public int Thing_Property_Up_RawToBase64(byte[] bytes)

設備上傳屬性--透傳,Base 64 位加密後上傳--不建議使用此方法

public int Thing_Property_Up_Raw_ToBase64(string up_rawTopic, byte[] bytes)

上傳設備屬性--Alink Json

public int Thing_Property_Post(string json,bool isToLwer=true)

同上

public int Thing_Property_Post(byte[] json)

上傳設備屬性--Alink Json

public int Thing_Property_Post<AlinkModel>(AlinkModel model,bool isToLower=true)

 

設置設備屬性

收到服務器屬性設置命令,返回響應

public int Thing_Property_set(string content,bool isToLower=true)

同上

public int Thing_Property_set(byte[] content)

設備屬性下發設置

public int Thing_Property_set<SetJson>(SetJson model,bool isToLower=true)

 

設備事件上報

設備事件上報,以字符串內容上傳

public int Thing_Event_up_raw(string content)

設備事件上報,把原始報文 Base64 加密後上傳

public int Thing_Event_up_raw_Base64(byte[] content)

設備事件上報 Alink JSON

public int Thing_Event_Post(string content,bool isToLower=true)

設備事件上報 Alink JSON

public int Thing_Event_Post<EventJson>(EventJson model,bool isToLower=true)

 

設備服務調用

設備服務調用--透傳

public int Thing_Service_Down_Reply(byte[] content)

設備服務調用

public int Thing_Service_Identifier_Reply(string content,bool isToLower=true)

設備服務調用

public int Thing_Service_Identifier_Reply<ServiceJsonModel>(ServiceJsonModel model,bool isToLower=true)

 

須要注意的是,SDK中,不管是普通訂閱仍是上傳屬性響應、下發設置命令、事件、服務調用等,凡是「收」到服務器的消息,均是觸發

public uPLibrary.Networking.M2Mqtt.MqttClient.MqttMsgPublishEventHandler PubEventHandler;

若是想區別不一樣的接收到的Topic,需手動修改方法,將其綁定到委託中。

相關文章
相關標籤/搜索