问题标签 [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.
c - dup 标志在 libmosquitto 中不可用
我正在使用 libmosquitto v3.1.x 编写代码,但找不到捕获消息的 dup 标志的方法。
Nb1:据我了解,dup 标志表示消息已发送但未得到收件人的确认。
Nb2:我指的是https://mosquitto.org/api/files/mosquitto-h.html 以获取 libmosquitto API 描述。
php - 在 PHP-FPM 中安装 MQTT (libmosquitto)?
我在 docker 上使用 nginx 运行 php (php-fpm)。
现在我需要另一个库(libmosquitto)。我怎样才能安装这个库/扩展?
有小费吗?
谢谢
c - MQTT Mosquitto 客户端 - 在收到消息后向代理发送 puback
我正在使用libmosquitto
MQTT 客户端 C 应用程序。
正在使用的QoS
是 1.puback
当客户端通过代理接收到消息时,是否可以显式发送给代理?我没有看到任何函数调用。
我的on_massage
回调函数从代理接收消息,但之后才返回。
我遇到的问题是 MQTT 代理不断向客户端发布相同的消息,因为它似乎没有收到puback
来自客户端的消息。
解决这个问题的最佳方法是什么?
python - Python MQTT:在DataFrame中累积消息读取并定期保存
我正在尝试使用 MQTT 读取传感器测量值(从另一台设备发布)并将一周的读数存储在 pandas DataFrame 中,一旦此类数据帧为空,我想将其保存到 .csv 文件并开始填充新的空数据帧. 此类数据框的示例如下:
我的代码完全按照我的预期工作,只是在一段时间(数百条消息)后失败(并没有真正失败,继续运行而没有任何错误消息),好像消息不再流入(它们是) .
所有这些都发生在一个类中,这是我的代码的简化版本
尝试了几件事。在每次迭代时保存数据框,我可以看到它使用正确的结构初始化并正确填充。尝试将数据发布者的频率降低到几秒钟,以便订阅者按照此处的建议跟上并提高服务质量参数,但没有奏效。
就像一些内存被填满了,我的客户在一段时间后无法处理更多此类消息。我尝试保存的每周文件之一是大约 1.5 MB,因此并不是 RAM 问题。试图查看 Paho 文档以找到要调整的“缓存”参数,但似乎找不到它。
我当然可以减小 DF 的大小,以便用更少的消息填充它,但这对我以后不起作用。
任何帮助深表感谢!
c - mosquitto MQTT 解析问题
我在我的 IoT 设备上运行的 C 应用程序中使用 libmosquitto 和 parson 库来处理 MQTT 和解析 JSON。
当我在 Linux 终端上使用 mosquitto_pub 命令向我的设备发布消息时,如下所示:
我在设备上成功接收到消息,因为我订阅了它,但是,我根本无法使用解析值json_object_dotget_value
返回的值为 NULL。
我知道我在这里遗漏了很多代码。但是,问题不在接收端,因为当 Python 中的另一个应用程序发布此消息时,解析工作正常。
我的mosquitto_pub
命令有问题,但我看不到。
我会很感激任何帮助。谢谢。
c++ - 使用 C++ 中的 mosquitto 将消息连接并发布到 AWS 端点
我正在尝试执行这段代码以连接到 AWS 端点并使用 mosquitto 库发布消息:
似乎它已连接(在我的真实代码中,我检查了返回码以检查连接或发布期间是否发生任何错误,并且连接期间没有问题)。
但是,当发布消息时,AWS 代理中没有收到这些消息(经过一些尝试,连接似乎关闭了,因为publish
函数返回错误 4 - MOSQ_ERR_NO_CONN
-)。
我还尝试使用 CLI 命令mosquitto_pub
(
知道我做错了什么吗?
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 的示例。提前致谢。
embedded-linux - Yocto,如何在 Target 中添加 libmosquitto
Open Embedded Mosquitto recipe将mosquitto 安装为守护进程,但 Target 上没有 libmosquitto.so。
如何修改配方以安装库?
已经创建mosquitto_%.bbappend
并尝试do_install
使用类似的方法扩展该功能。
编辑:
再深入一点,发现 libmosquitto.so 在构建和映像目录中可用,就像 Layer shippes 一样。所以我在创建 rootfs 时一定会遗漏一些东西。
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的。
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_SUCCESS
的mosquitto_connect()
不是MOSQ_ERR_ERRNO
.
查看 MQTT 代理跟踪,就像我的程序已连接(这将解释MOSQ_ERR_SUCCESS
)但立即断开连接......
请问如何在连接时使用 libmosquitto 库检测连接中的用户/密码问题?
提前致谢!
编辑:我知道有一些方法可以解决这个问题,因为 mosquitto_sub (我理解它基于同一个库)能够检测到。例如: