MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的二进制“轻量级”消息协议,由IB公司发布。针对于网络受限和嵌入式设备而设计的一种数据传输协议。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
这里移植paho mqtt软件包
导入头文件
#include "lwip/ip_addr.h"
#include "lwip/netifapi.h"
#include "lwip/sockets.h"
修改函数transport_sendPacketBuffer
int transport_sendPacketBuffer(int sock, unsigned char* buf, int buflen){
int rc = 0;
rc = send(sock, buf, buflen, 0);
return rc;
}
修改close函数
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文件内容附件所示