基於開源MQTT自主接入阿里雲IoT平台(C )

2021-09-19 22:15:10 字數 2089 閱讀 5794

本文由 gxic 作者 wongxmig 完成,歡迎關注 iot 開發者社群。

1.1 註冊阿里雲賬號

使用**賬號或手機號,開通阿里雲賬號,並通過實名認證(可以用支付寶認證)

1.2 免費開通iot物聯網套件

產品官網

1.3 軟體開發環境2.1 建立基礎版產品

產品資訊

訊息通訊topic

2.2 註冊裝置

獲取裝置身份三元組,productkey,devicename,devicesecret

3.1 iot平台接入password簽名演算法檔案

簽名規則參考

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.security.cryptography;

namespace iotxsdkmqttnet

byte key = encoding.utf8.getbytes(devicesecret);

byte signcontent = encoding.utf8.getbytes(builder.tostring());

//這裡根據signmethod動態調整,本例子硬編碼了: 'hmacmd5'

var hmac = new hmacmd5(key);

byte hashbytes = hmac.computehash(signcontent);

stringbuilder signbuilder = new stringbuilder();

foreach (byte b in hashbytes)

return signbuilder.tostring();}}

}

3.2 接入iot平台c#版本的mqtt庫

c#的mqtt庫 

3.3 裝置端應用程式

using system;

using system.net;

using system.collections.generic;

using uplibrary.networking.m2mqtt;

using uplibrary.networking.m2mqtt.messages;

using system.text;

using system.linq;

namespace iotmqttdemo

static void connectmqtt(string targetserver, string mqttclientid, string mqttusername, string mqttpassword)";

var id = client.publish(pubtopic, encoding.ascii.getbytes(content));

//訂閱訊息

client.subscribe(new string , new byte );

}static void client_mqttmsgpublishreceived(object sender, mqttmsgpublisheventargs e)}}

雲端看到裝置上線記錄,資料上報記錄

至此,完成了.net平台裝置c#語言接入阿里雲iot物聯網雲平台的開發實踐。

Qt基於開源MQTT自主接入阿里雲IoT平台

三 示例 1 根據三元組資訊計算登入阿里雲iot平台的必要引數 片.三元組資訊設定 productkey xx 需要跟阿里雲iot平台一致 devicename xx 需要跟阿里雲iot平台一致 devicesecret xx 需要跟阿里雲iot平台一致 regionid cn shanghai p...

C 基於開源MQTT自主接入阿里雲IoT平台

1.1 註冊阿里雲賬號 使用 賬號或手機號,開通阿里雲賬號,並通過實名認證 可以用支付寶認證 1.2 免費開通iot物聯網套件 產品官網 1.3 軟體開發環境 2.1 建立基礎版產品 產品資訊 訊息通訊topic 2.2 註冊裝置 獲取裝置身份三元組,productkey,devicename,de...

MQTT之阿里雲接受推送訊息

mqtt是 一種輕量級的協議 mq telemetry transport 適合於低頻寬 不可靠連線 嵌入式裝置 cpu 記憶體資源緊張,適用於各種受限的環境。2 協議特徵 1 訊息模型 mqtt是一種基於 的發布 訂閱的訊息協議。提供一對多的訊息分發,解除應用程式耦合。乙個發布者可以對應多個訂閱者...