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

2021-09-22 18:30:53 字數 2528 閱讀 7909

三、**示例

1、根據三元組資訊計算登入阿里雲iot平台的必要引數**片.

// 三元組資訊設定

productkey=

"******xx"

;//需要跟阿里雲iot平台一致;

devicename=

"******xx"

;//需要跟阿里雲iot平台一致;

devicesecret=

"******xx"

;//需要跟阿里雲iot平台一致;

regionid=

"cn-shanghai"

; pubtopic =

"/sys/"

+ productkey +

"/"+ devicename +

"/thing/event/property/post"

;//發布topic

subtopic =

"/sys/"

+ productkey +

"/"+ devicename +

"/thing/service/property/set"

;//訂閱topic

qstring targetserver = productkey +

".iot-as-mqtt."

+ regionid +

".aliyuncs.com"

;//網域名稱

qstring clientid=

"ts1234"

;//這裡隨便寫,最好是裝置的mac位址

qstring signmethod =

"hmacsha1"

; qstring timestamp =

"789"

;//這裡隨便寫,表示當前時間毫秒值

qstring message =

"clientid"

+clientid+

"devicename"

+devicename+

"productkey"

+productkey+

"timestamp"

+timestamp;

2、連線阿里雲  `**片`.
client =

newqmqtt::

client

(targetserver,

1883,0

,false);

//連線阿里雲

connect

(client,

signal

(connected()

),this

,slot

(mqttconnectsuccess()

));//連線成功,列印success

connect

(client,

signal

(disconnected()

),this

,slot

(mqttdisconnect()

));//連線失敗,列印disconnect

client-

>

setusername

(devicename +

"&"+ productkey)

; client-

>

setclientid

(clientid +

"|securemode=3,signmethod="

+ signmethod +

",timestamp="

+timestamp+

"|")

;//qmessageauthenticationcode::hash()加密計算,獲取使用者登入密碼

client-

>

setpassword

(qmessageauthenticationcode:

:hash

(message.

tolocal8bit()

, devicesecret.

tolocal8bit()

, qcryptographichash:

:sha1)

.tohex()

);client-

>

connecttohost()

;//連線阿里雲

3、發布訊息 `**片`.
qmqtt

::message msg;

qstring payload=

"}";

//測試temperature=20.9 ,humidity=42

msg.

settopic

(pubtopic)

; msg.

setpayload

(payload.

tolocal8bit()

);client-

>

publish

(msg)

;

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

本文由 gxic 作者 wongxmig 完成,歡迎關注 iot 開發者社群。1.1 註冊阿里雲賬號 使用 賬號或手機號,開通阿里雲賬號,並通過實名認證 可以用支付寶認證 1.2 免費開通iot物聯網套件 產品官網 1.3 軟體開發環境2.1 建立基礎版產品 產品資訊 訊息通訊topic 2.2 註...

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

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

Qt編譯並使用MQTT

mqtt概述 mqtt message queuing telemetry transport,訊息佇列遙測傳輸協議 是一種基於發布 訂閱 publish subscribe 模式的 輕量級 通訊協議,該協議構建於tcp ip協議上,由ibm在1999年發布。mqtt最大優點在於,可以以極少的 和有...