问题标签 [libmosquitto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
43 浏览

c - dup 标志在 libmosquitto 中不可用

我正在使用 libmosquitto v3.1.x 编写代码,但找不到捕获消息的 dup 标志的方法。

Nb1:据我了解,dup 标志表示消息已发送但未得到收件人的确认。

Nb2:我指的是https://mosquitto.org/api/files/mosquitto-h.html 以获取 libmosquitto API 描述。

0 投票
0 回答
32 浏览

php - 在 PHP-FPM 中安装 MQTT (libmosquitto)?

我在 docker 上使用 nginx 运行 php (php-fpm)。

现在我需要另一个库(libmosquitto)。我怎样才能安装这个库/扩展?

有小费吗?

谢谢

0 投票
0 回答
65 浏览

c - MQTT Mosquitto 客户端 - 在收到消息后向代理发送 puback

我正在使用libmosquittoMQTT 客户端 C 应用程序。

正在使用的QoS是 1.puback当客户端通过代理接收到消息时,是否可以显式发送给代理?我没有看到任何函数调用。

我的on_massage回调函数从代理接收消息,但之后才返回。

我遇到的问题是 MQTT 代理不断向客户端发布相同的消息,因为它似乎没有收到puback来自客户端的消息。

解决这个问题的最佳方法是什么?

0 投票
0 回答
231 浏览

python - Python MQTT:在DataFrame中累积消息读取并定期保存

我正在尝试使用 MQTT 读取传感器测量值(从另一台设备发布)并将一周的读数存储在 pandas DataFrame 中,一旦此类数据帧为空,我想将其保存到 .csv 文件并开始填充新的空数据帧. 此类数据框的示例如下:

我的代码完全按照我的预期工作,只是在一段时间(数百条消息)后失败(并没有真正失败,继续运行而没有任何错误消息),好像消息不再流入(它们是) .

所有这些都发生在一个类中,这是我的代码的简化版本

尝试了几件事。在每次迭代时保存数据框,我可以看到它使用正确的结构初始化并正确填充。尝试将数据发布者的频率降低到几秒钟,以便订阅者按照此处的建议跟上并提高服务质量参数,但没有奏效。

就像一些内存被填满了,我的客户在一段时间后无法处理更多此类消息。我尝试保存的每周文件之一是大约 1.5 MB,因此并不是 RAM 问题。试图查看 Paho 文档以找到要调整的“缓存”参数,但似乎找不到它。

我当然可以减小 DF 的大小,以便用更少的消息填充它,但这对我以后不起作用。

任何帮助深表感谢!

0 投票
1 回答
66 浏览

c - mosquitto MQTT 解析问题

我在我的 IoT 设备上运行的 C 应用程序中使用 libmosquitto 和 parson 库来处理 MQTT 和解析 JSON。

当我在 Linux 终端上使用 mosquitto_pub 命令向我的设备发布消息时,如下所示:

我在设备上成功接收到消息,因为我订阅了它,但是,我根本无法使用解析值json_object_dotget_value

返回的值为 NULL。

我知道我在这里遗漏了很多代码。但是,问题不在接收端,因为当 Python 中的另一个应用程序发布此消息时,解析工作正常。

我的mosquitto_pub命令有问题,但我看不到。

我会很感激任何帮助。谢谢。

0 投票
0 回答
40 浏览

c++ - 使用 C++ 中的 mosquitto 将消息连接并发布到 AWS 端点

我正在尝试执行这段代码以连接到 AWS 端点并使用 mosquitto 库发布消息:

似乎它已连接(在我的真实代码中,我检查了返回码以检查连接或发布期间是否发生任何错误,并且连接期间没有问题)。

但是,当发布消息时,AWS 代理中没有收到这些消息(经过一些尝试,连接似乎关闭了,因为publish函数返回错误 4 - MOSQ_ERR_NO_CONN-)。

我还尝试使用 CLI 命令mosquitto_pub

知道我做错了什么吗?

0 投票
1 回答
333 浏览

c++ - 如何使用 libmosquitto 发出请求并使用 MQTT v5 获得响应?

我正在尝试使用libmosquitto发出请求(发布到'test/topic'主题),并且我想根据客户端(发件人)ID 获得响应。这意味着客户端将发布'test/topic'并自动订阅'test/topic/<client_id>'

服务器已经订阅'test/topic',当它成为消息时,它会发送一个响应(发布)到'test/topic/<client_id>',客户端首先订阅接收该响应。

这里的挑战是我如何获得<client_id>正确的。我已经在 python 和 js 中完成了这项工作,客户端将在有效负载中发送元数据或属性,服务器可以将其解包以获取 client_id。但是,我现在正在使用 C++,这很令人沮丧,因为我不知道如何获得这些属性。

这是一个如何在 python 中执行此操作的示例。我只想对 c++ 做同样的事情

正如我提到的,我正在使用 libmosquitto。我什至没有要展示的示例,因为我没有找到如何做到这一点。实际上没有关于如何使用 mosquitto c++ lib 执行此操作的示例(这令人困惑,因为我猜 mosquitto 是一个著名的 lib)。

我希望有人有类似的问题,或者可以发布 C++ 和 mosquitto lib 的示例。提前致谢。

0 投票
1 回答
214 浏览

embedded-linux - Yocto,如何在 Target 中添加 libmosquitto

Open Embedded Mosquitto recipe将mosquitto 安装为守护进程,但 Target 上没有 libmosquitto.so。

如何修改配方以安装库?

已经创建mosquitto_%.bbappend并尝试do_install使用类似的方法扩展该功能。

编辑:

再深入一点,发现 libmosquitto.so 在构建和映像目录中可用,就像 Layer shippes 一样。所以我在创建 rootfs 时一定会遗漏一些东西。

0 投票
1 回答
79 浏览

linux - 无法将 mosquitto-clients 从 1.4.15 更新到 1.6.9

要更新 mosquitto-clients,我尝试过

但是,这不会为我更新版本。

我想使用 tls1.3 (使用mosquitto_pub --tls-version tlsv1.3)并从系统中使用 1.4.15 我得到 Error: Problem setting TLS options. 当使用 Ubuntu wsl 中的 mosquitto_pub 和 mosquitto-clients 1.6.9 时,我可以轻松连接和发送数据。

有人可以帮忙吗。两个系统都是linux的。

0 投票
1 回答
133 浏览

mqtt - 如何使用 libmosquitto 库在连接时检测到与 MQTT 代理的连接中的用户/密码问题?

我正在用这个小程序测试 MQTT mosquitto 库:

我在 localhost 的 1883 端口运行 MQTT 代理(mosquitto 代理版本 1.6.10)。

当我运行程序时"connection success",我在 mosquitto 日志中看到:

我知道在这种情况下连接是正确的。到目前为止,一切都很好。

但是,如果我使用了错误的用户/密码(例如mosquitto_username_pw_set(mosq, "user1", "xxxxx"))或者不使用用户/密码(即删除mosquitto_username_pw_set()地图),我会进入 mosquitto 代理日志:

这很好。问题是在我的程序中我得到"connection success"而不是"connection error". 换句话说,我得到MOSQ_ERR_SUCCESSmosquitto_connect()不是MOSQ_ERR_ERRNO.

查看 MQTT 代理跟踪,就像我的程序已连接(这将解释MOSQ_ERR_SUCCESS)但立即断开连接......

请问如何在连接时使用 libmosquitto 库检测连接中的用户/密码问题?

提前致谢!

编辑:我知道有一些方法可以解决这个问题,因为 mosquitto_sub (我理解它基于同一个库)能够检测到。例如: