littlebot
Published on 2025-04-17 / 1 Visits
0

【源码】基于C语言的MQTT客户端库wolfMQTT

项目简介

wolfMQTT是一个用C语言编写的MQTT客户端实现,专为嵌入式应用设计。它通过wolfSSL库支持SSL/TLS,从底层构建,具备多平台支持、节省空间和可扩展的特性,与wolfSSL集成以提供TLS支持。

项目的主要特性和功能

  1. 多平台支持:可在Mac、Linux、Unix、Windows、Arduino、Zephyr RTOS等多种平台上构建使用。
  2. TLS/SSL支持:借助wolfSSL库,为通信提供TLS支持,保障数据安全。
  3. 多协议版本支持:支持MQTT v3.1.1、MQTT v5.0以及MQTT - SN协议。
  4. 多种功能示例:包含客户端、简单独立客户端、非阻塞客户端、固件更新、Azure IoT Hub、AWS IoT、Watson IoT、MQTT - SN、多线程等示例,方便开发使用。
  5. 轻量级与高效:设计注重资源占用,适用于资源受限的嵌入式系统。
  6. 可扩展性:架构灵活,可自定义网络回调等功能。
  7. 多线程与非阻塞模式:支持多线程及非阻塞I/O,提升处理效率。
  8. 后量子支持:支持与后量子Mosquito MQTT代理通信,保障未来安全需求。

安装使用步骤

环境准备

确保已安装GCC编译器或适用于目标平台的C编译器,获取wolfMQTT库和wolfSSL库的源代码,并安装所有依赖项。

构建步骤

Mac/Linux/Unix

  1. 运行./configure(使用./configure --help查看构建选项列表)。
  2. 运行make
  3. 运行sudo make install

Windows Visual Studio

  1. 打开<wolfssl-root>/wolfssl64.sln
  2. 重新定位到你的Visual Studio版本。
  3. 选择Debug DLLRelease DLL配置,并注意32位或64位架构。
  4. 构建wolfSSL解决方案。
  5. wolfssl.libwolfssl.dll文件复制到<wolfmqtt-root>
  6. 打开<wolfmqtt-root>/wolfmqtt.sln解决方案。
  7. 确保选择与wolfSSL相同的架构。
  8. 若wolfssl根目录不同,可在项目设置中调整包含路径。
  9. 使用wolfmqtt/vs_settings.h配置Visual Studio构建设置。
  10. 构建wolfMQTT解决方案。

CMake

mkdir build cd build cmake .. -DWITH_WOLFSSL=/prefix/to/wolfssl/install/ cmake .. -DWITH_WOLFSSL_TREE=/path/to/wolfssl/ cmake --build .

vcpkg

cd vcpkg ./bootstrap-vcpkg.sh # 或Windows下使用bootstrap-vcpkg.bat ./vcpkg integrate install ./vcpkg install wolfmqtt

Arduino

IDE/ARDUINO.README.md

MinGW

```sh export PATH="/opt/mingw-w32-bin_i686-darwin/bin:$PATH" export PREFIX=$PWD/build

cd wolfssl ./configure --host=i686 CC=i686-w64-mingw32-gcc LD=i686-w64-mingw32-ld CFLAGS="-DWIN32 -DMINGW -D_WIN32_WINNT=0x0600" LIBS="-lws2_32 -L$PREFIX/lib -lwolfssl" --prefix=$PREFIX make make install

cd ../wolfmqtt ./configure --host=i686 CC=i686-w64-mingw32-gcc LD=i686-w64-mingw32-ld CFLAGS="-DWIN32 -DMINGW -D_WIN32_WINNT=0x0600 -DBUILDING_WOLFMQTT -I$PREFIX/include" LDFLAGS="-lws2_32 -L$PREFIX/lib -lwolfssl" --prefix=$PREFIX --disable-examples make ```

Zephyr RTOS

zephyr/README.md

运行示例程序

  1. 根据目标平台选择合适的示例程序,如/examples/mqttclient/等。
  2. 配置示例程序的命令行参数,可使用-?查看可用参数列表。
  3. 运行示例程序,查看输出结果。

清理

完成测试后,运行make clean清除构建过程中生成的文件。

注意事项

  • 示例程序可能需要额外依赖项,如wolfSSL库。
  • 根据目标平台和构建选项,构建过程可能有所不同。
  • 请参考项目文档或示例程序注释获取更多详细信息。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】