STM32F407实现LwIP的MQTT客户端并连接到服务器

本文介绍如何在STM32上使用LwIP实现MQTT客户端,包括连接服务器、订阅和发布消息的过程,并提供了完整的代码示例。

近期在做STM32之MQTT客户端连接到服务器。野火家的教程是移植别人家的MQTT客户端代码,实际LwIP源码中就包含这个,但是这个在网上很少能找到,所以我就先抛砖引玉了,有问题可以联系我哦。

MQTT介绍这里就不在说了,主要说实现方法。

这个前提是你的准备一个LwIP协议栈TCP可以正确运行起来的工程。以下说明中LwIP版本均为2.1.2,其他版本没有查看和测试,环境为keil5.34 AC6 主控为STM32F407VE。

这里先贴一个连接效果图
服务端中看到连接的客户端

这里再贴一个订阅的效果图
客户端的订阅图
这里再贴一个发布的效果图
发布的效果图
观察源码会发现,LwIP源码目录里是有关于MQTT客户端相关的API,但是几乎没有相关例程。源码位置如下图所示LwIP中MQTT的源码位置
相关头文件的位置如下图所示
LwiIP中MQTT的相关头文件位置
首先要在你的工程里包含这个源文件,如下图所示
工程中包含源文件
然后添加头文件路径,正常情况是不需要关注的(仅供参考),如下图所示
添加LwIP的头文件路径
对应的是源文件的头文件路径是这个(这里只是参考)
源文件头文件包含的实际文件夹
接下来就是实际程序编写了

#include "lwip/apps/mqtt.h"
#include "string.h"
#include "SystemLed.h"/*这个是私有的,和本次样例无关*/

void Cb(mqtt_client_t *client, void *arg, mqtt_connection_status_t status);
void cb(void *arg, err_t err);
void mipcb(void *arg, const char *topic, u32_t tot_len);
void midcb(void 
评论 16
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值