|
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】MQTT(消息隊(duì)列遙測(cè)傳輸), MQTT 全稱為 Message Queuing Telemetry Transport(消息隊(duì)列遙測(cè)傳輸)是一種基于發(fā)布/訂閱范式的二進(jìn)制“輕量級(jí)”消息協(xié)議,由IB公司發(fā)布。針對(duì)于網(wǎng)絡(luò)受限和嵌入式設(shè)備而設(shè)計(jì)的一種數(shù)據(jù)傳輸協(xié)議。MQTT最大優(yōu)點(diǎn)在于,可以以極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。作為一種低開(kāi)銷、低帶寬占用的即時(shí)通訊協(xié)議,使其在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面有較廣泛的應(yīng)用。
這里移植paho mqtt軟件包
導(dǎo)入頭文件
#include “l(fā)wip/ip_addr.h“
#include “l(fā)wip/netifapi.h“
#include “l(fā)wip/sockets.h“
修改函數(shù)transport_sendPacketBuffer
int transport_sendPacketBuffer(int sock, unsigned char* buf, int buflen){
int rc = 0;
rc = send(sock, buf, buflen, 0);
return rc;
}
修改close函數(shù)
int transport_close(int sock){
int rc;
rc = shutdown(sock, SHUT_WR);
rc = recv(sock, NULL, (size_t)0, 0);
rc = lwip_close(sock);
return rc;
}
mqtt主要文件mqtt.c文件內(nèi)容附件所示 |
|