MQTT:基于Keil开发工具移植入MQTTClient-C开源库

引言

在单片机这类资源比较紧张的嵌入式平台我们选择源码编译的方式移植MQTTClient-C开源库,找到MQTTClient.c和MQTTClient.h两个文件,通过文件添加方式添加到 Keil 项目里。

在 Keil 中,可通过右键点击项目中的 Source Group,选择 Add Existing Files to Group 来添加文件。

系统架构

单片机通过UART连接4G模块,我们要解决MQTT协议通过TCP数据收发接口的实现;

数据流示意图:

数据流: 单片机<---------->4G模块<------------>MQTT服务器

通信接口: UART 射频

网络协议: TCP

物联网协议: MQTT

移植

创建MQTTTimer.h和MQTTTimer.c文件,编写如下函数声明与实现,并同步加入MQTTPacket.h中头文件声明;

MQTTTimer.h

MQTTPacket.h

工程添加文件信息如下

编译

编译程序,确保没有任何异常;

下一章节介绍如何具体实现。

相关推荐
EasyControl移动设备管理1 小时前
更智能的零售终端设备管理:合规、安全与高效
物联网·零售·远程管理·mdm(移动设备管理)·租赁行业数字化
云:鸢2 小时前
C语言链表设计及应用
c语言·开发语言·数据结构·链表
正在起飞的蜗牛3 小时前
【C语言】函数指针的使用分析:回调、代码逻辑优化、代码架构分层
c语言·架构
饭碗的彼岸one4 小时前
C++ 并发编程:异步任务
c语言·开发语言·c++·后端·c·异步
水饺编程5 小时前
Windows 命令行:cd 命令3,当前目录,父目录,根目录
c语言·c++·windows·visual studio
kyle~5 小时前
C/C++---动态内存管理(new delete)
c语言·开发语言·c++
Yuki’6 小时前
网络编程---UDP
c语言·网络·网络协议·udp
.YM.Z7 小时前
C语言——文件操作
c语言·文件操作
代码总长两年半7 小时前
STM32物联网项目---ESP8266微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制---代码篇(四)
stm32·单片机·物联网
TDengine (老段)7 小时前
TDengine 选择函数 Max() 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据