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
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,需手動修改方法,將其綁定到委託中。