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

工程添加文件信息如下

编译

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

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

相关推荐
阿捏利42 分钟前
C Primer Plus 第6版 编程练习——第11章(下)
c语言·c primer plus
橙小花2 小时前
C语言:指针、变量指针与指针变量、数组指针与指针数组
c语言·开发语言
YouQian7722 小时前
问题 C: 字符串匹配
c语言·数据结构·算法
SoveTingღ2 小时前
【开发环境配置】VScode里面配置cmake遇到的问题
c语言·vscode·cmake·嵌入式软件·开发环境配置
艾莉丝努力练剑2 小时前
【LeetCode&数据结构】二叉树的应用(二)——二叉树的前序遍历问题、二叉树的中序遍历问题、二叉树的后序遍历问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表
潼心1412o6 小时前
C语言(长期更新)第6讲:函数
c语言·开发语言
学不动CV了6 小时前
单片机ADC采集机理层面详细分析(二)
c语言·arm开发·stm32·单片机·嵌入式硬件·开源·51单片机
学不动CV了6 小时前
51核和ARM核单片机OTA实战解析(二)
c语言·arm开发·stm32·单片机·嵌入式硬件·51单片机
程序员编程指南7 小时前
Qt 与 WebService 交互开发
c语言·开发语言·c++·qt·交互
程序员编程指南8 小时前
Qt 远程过程调用(RPC)实现方案
c语言·c++·qt·rpc·系统架构