【MQTT】Ubuntu MQTT C++ 库安装流程


前言

一、MQTT

MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,专为低带宽、高延迟或不可靠的网络环境设计。MQTT C++ 库为开发者提供了实现 MQTT 协议的工具,能够在各种设备和应用程序中高效地传输消息。
在这里插入图片描述

主要特点:

  • 轻量级:MQTT 协议设计简洁,适合资源受限的设备,如传感器、微控制器等。
  • 高效传输:通过发布/订阅模式,允许设备之间高效地通信,减少了网络负担。
  • 质量服务(QoS):支持多种消息传递服务质量级别,确保消息的可靠传递。
  • 持久会话:可以在客户端和服务器之间保持持久连接,方便断线重连时的数据同步。

用途:

  • 物联网(IoT):在智能家居、工业自动化和智能城市中实现设备之间的通信。
    移动应用:实时更新用户界面,例如聊天应用或推送通知。
  • 数据采集:从分布在不同地点的传感器收集数据,并传输到中心服务器进行分析。
  • 远程监控:在各种环境中监控设备状态,如温度、湿度、压力等,确保及时响应。

Eclipse Paho 是 Eclipse 基金会的官方项目,意味着它有一个活跃的开发社区和持续的维护。这确保了库的稳定性、更新和安全性

选择 Eclipse Paho MQTT C++ 库不仅是因为它是官方支持的项目,还因为它具备丰富的功能和广泛的应用场景,适合开发各种基于 MQTT 的应用

接下来就开始安装吧!!

二、MQTT C++ 安装流程

2.1 安装相关依赖

确保已经安装了编译相关的依赖
没有安装gcc make 之类的可以运行下面(可选)

sudo apt-get install build-essential gcc make cmake
sudo apt-get install libssl-dev

可能 libssl-dev 不好安装,要使用“正常网络“”

sudo apt-get install doxygen graphviz

2.2 安装Paho MQTT C++ 库

首先先下载克隆:

# 克隆 Paho MQTT C 库
git clone https://github.com/eclipse/paho.mqtt.cpp
cd paho.mqtt.cpp

切换到推荐分支:

git checkout v1.4.0

初始化:

git submodule init
git submodule update

使用指定命令编译构建:

# 编译构建
cmake -Bbuild -H. -DPAHO_WITH_MQTT_C=ON -DPAHO_BUILD_EXAMPLES=ON
sudo cmake --build build/ --target install

2.3 验证

通过下面的命令查看是否有对应的库:

ls /usr/lib | grep paho
ls /usr/local/lib | grep paho

也可以使用下面的小例子验证, MQTT C++ 库是否能正常工作

#include <iostream>
#include <paho-mqttpp3.hpp>

int main() {
    // 创建 MQTT 客户端对象
    mqtt::async_client client("tcp://broker.hivemq.com:1883", "client_id");

    // 尝试连接到 MQTT 代理
    try {
        client.connect()->wait();
        std::cout << "Connected to MQTT broker!" << std::endl;
    } catch (const mqtt::exception& exc) {
        std::cerr << "Error: " << exc.what() << std::endl;
        return 1;
    }

    // 断开连接
    client.disconnect()->wait();
    return 0;
}

然后编译运行:

g++ mqtt_test.cpp -o mqtt_test -lpaho-mqttpp3 -lpaho-mqtt3as
./mqtt_test

如果看到有以下输出则表示成功

Connected to MQTT broker!

总结

因为 Paho MQTT C++库需要依赖 Paho C libraries
通过上面这种安装方法可以自动安装编译 Paho C libraries ,是比较推荐的方法
当然如果想手动修改编译Paho C libraries,也是可以的 ,参考 官方github

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__echooo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值