# MQTT-CLIENT **Repository Path**: wei-jie/mqtt-client ## Basic Information - **Project Name**: MQTT-CLIENT - **Description**: 移植paho的MQTT客户端,方便在PC机调试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-19 - **Last Updated**: 2025-02-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MQTT-CLIENT ## 介绍 ### 1、MQTTPacket 基于paho的MQTT客户端程序(c语言),将MQTT移植到PC机测试。mac和windows7都经过测试,华为云、阿里云、OneNet都测试通过。 如果需要移植到MCU,则要集成网络模块。若网络模块无法通过AT指令开启TCP,则需要集成lwip库。可参考liteos的master分支。 若MCU连接ESP8266模组,则可以直接移植,8266内部集成TCP功能,可通过AT指令开启。 ### 2、paho paho代码仓库原始代码 ## 软件架构 运行环境:Windows、Ubuntu、Mac 语言:C 编译器:GCC 云平台:阿里云、华为云、OneNet ## 使用方法 ### 1、安装gcc编译器 这里只测试了windows下的GCC,mingw没有测试。 ##### Windows 从官网下载安装包即可 ##### Ubuntu ``` sudo apt install gcc ``` ##### Mac ``` brew install gcc ``` ### 2、安装python3 ##### Windows 从官网下载安装包即可 ##### Ubuntu ``` sudo apt install python@3 ``` ##### Mac ``` brew install python@3 ``` ### 3、安装pip3 ##### Windows 进入python安装目录,执行下面的指令 ``` python get-pip.py ``` ##### Ubunt ``` sudo apt install python3-pip ``` ##### Mac ``` python3 -m ensurepip --upgrade ``` ### 4、安装kconfig ``` pip3 install kconfiglib ``` ### 5、windows安装curses ``` pip3 install windows-curses ``` ## 代码结构
目录、文件 说明
Makefile 工程管理文件
config.mk 项目配置文件,可以在这里配置MQTT服务器IP、PORT等
tools menuconfig管理文件。

主要在config.in中设置了几个带单,开发者需要首先进入menuconfig菜单选择自己的操作系统、编译器、MQTT服务器

修改完的配置会保存在config.mk文件

cJSON cJSON库,直接从gitee获取的,没有任何修改。方便生成json数据
hmac-sha256 参考gitee上的一些代码,略微调整,实现hmac-sha256算法。华为云的MQTT参数基于此算法,这里目前没有用,参数都是从官网提供的网址计算的。

算法已经测试,此算法可以登录华为云MQTT

samples paho官方的测试样例。

transport.c 实现了MQTT的数据传输,此文件必须参与工程

其他问价可单独测试,本项目使用了transport.c+pub0sub1.c,实现MQTT发布和订阅

src paho的主要功能都集中在此,这里实现了MQTT协议