问题标签 [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 投票
0 回答
82 浏览

fuzzing - 在 Fuzzing Mosquitto 库中需要一些帮助

在对 Mosquitto lib 进行模糊测试时出现了一个错误,我想知道解决方案。

步骤1。编译库

第2步。编译模糊器

第三步。运行模糊器并得到错误

代码如下

谢谢

0 投票
1 回答
321 浏览

ssl - 使用 MQTT libmosquitto C SDK 连接到 Azure IoT 中心

我正在尝试使用以下代码使用 libmosquitto sdk 连接到 Azure IoT 中心。

现在的问题是,如果我在 ubantu 系统上运行此代码,那么它工作正常,但我试图在 sierra 无线 WP7608 板上做同样的事情,然后它没有连接到服务器。有人可以解释出了什么问题吗?提前致谢。

已编辑:我尝试使用以下命令检查 ssl 证书验证,并提供以下日志。

命令:openssl s_client -connect UX101Test.azure-devices.net:8883 -state -debug -tls1_2

谁能帮助我如何在设备端处理证书。

0 投票
1 回答
31 浏览

mosquitto - 接收消息时如何确定ID客户端?

我正在设置我的 MQTT 设备。我从 ESP8266 + NodeMCU v2 发送的代码是这样的:

“answer/node_1 / temperature”在哪里ANSWER_TEMPERATURE_TOPIC,例如22.10。我在连接到时设置了我的设备bufferconst char* CLIENT_ID = "node_1";

是否有可能在接收消息期间检查此 ID CLIENT?我在我的树莓派中运行这个命令:

答案是

有没有可能看到这个 CLIENT_ID?将来,我想创建 PHP 文件来接收此消息。

0 投票
1 回答
295 浏览

php - 如何在 Laradock 中安装 Mosquitto-php

Mosquitto-php 扩展:https ://github.com/mgdm/Mosquitto-PHP 。

我尝试在 laradock/php-fpm/Dockerfile 中添加以下 2 个命令,但没有成功。

请给我一些建议,谢谢。

0 投票
1 回答
237 浏览

c++ - Libmosquitto 发布不会将所有消息传递到 Azure IoT 中心

我正在尝试每秒向 Azure IoT Hub 内置事件中心发布超过 100 条消息。我正在使用 libmosquitto 1.6.8 库。我正在使用 Azure IoT Hub 的免费层包,我知道每秒 100 条消息的限制。但这与那个问题无关。我什至无法将一半的消息发布到 AZ IoT Hub。

基本上,我有一个需要发送的 multimap 中的多个值的列表。指标列表:

我将遍历多重映射并将每个值构造成一个对象有效负载并将其发送出去。这意味着 mosquitto_publish 方法将被多次调用。

以下是发布消息的代码:

发布方式:

根据控制台,运行程序时,所有发布的消息都返回正常。但 Azure IoT 中心端只显示一两条消息。

下图是 IoT Hub 的监控,当时只有一条消息通过。 设备资源管理器孪生监控

我尝试了很多不同的解决方案,但程序无法发布所有消息。看起来发布方法正在等待完成第一条消息,但迭代正在移动到下一条消息,导致它被丢弃。如果这是丢弃消息的原因,那么对消息发送进行排序的最佳方法是什么?否则,还有什么可能导致消息被丢弃?

更新

问题是程序没有等到消息成功发布到代理(Azure IoT Hub)。如果返回了 publish_callback,您将知道消息是否成功发布到代理。

解决方案是在销毁之前休眠线程,清理调用并在建立连接之前启动 Mosquitto 循环。

0 投票
1 回答
393 浏览

c - 如何创建 Mosquitto MQTT 自定义插件?

我最近才开始学习 Mosquitto。我需要创建一个自定义事件处理程序(在客户端连接和接收到的消息上),它将在 Mosquitto 中构建并作为捆绑包在服务器上运行。这个想法不是使用订阅某些主题的单独程序(客户端)(因为它适用于大多数用例),而是让 Mosquitto 处理数据。

我的想法是:

  1. 有些人想象客户在某个主题中向 Mosquitto 发布了一个 pub。
  2. Mosquitto 发挥它的魔力(默认行为)并且还运行一个回调(因此数据处理方式与我在 CB 中描述的方式相同)

我读过 Mosquitto API 文档,但很难理解如何使用它。

问题是:

  1. 是否可以使用 Mosquitto/API 创建这样的插件?
  2. 您是否有一个包含创建回调示例的存储库?看过 mysql 示例和 auth-plug 示例,但没有一个对我有用 - 在构建自定义插件方面仍然没有运气。
  3. 或者也许有人可以描述创建插件/扩展 mosquitto 的过程?
  4. 关于构建插件并将它们注入 Mosquitto 的任何说明?
0 投票
2 回答
15031 浏览

c++ - MQTT C++ 客户端

我想在 C++ 中实现一个 MQTT 客户端功能(它需要是线程安全的,并且能够订阅主题并发布,但不需要代​​理功能)。

我正在考虑Eclipse 的Paho MQTT是他们的下载页面。

我在那里发现他们没有 MQTT5.0 支持。

然而,在他们的github 上:有 C++ 包装器,在 1.1 版中声明支持 MQTTv5.0。

然后我发现了这个问题:Mosquitto vs eclipse paho client library,结论是:

将 libmosquitto 与libmosquittopp包装器一起使用

我检查了 libmosquittopp.h:所有功能都被标记为已弃用,所以我认为它现在还不是正确的方法。

为什么不推荐使用 libmosquittopp?因为

包装器是由外部请求产生的,在创建它时没有其他用于 MQTT 的 C++ 解决方案。这在过去几年发生了变化,与真正的 C++ 库或使用纯 C libmosquitto 相比,此包装器没有提供任何好处。

那么,Paho 现在是否被认为是在 C++ 中使用 MQTT 的正确方向?

或者我将只使用 Mosquitto 的纯 C 库?

或者,还有什么(除了从 0 开始写)?

0 投票
1 回答
533 浏览

python - 如何将消息作为 mqtt 客户端累积 1 秒,然后将其保存到文件中

我的问题如下:我编写了一个订阅一个主题的程序,其中两个具有一个键的字典分别每秒到达更多次。在每条消息上,他们都会改变他们的价值。我将这些字典保存在一个名为“Status”的大缓冲区字典中。我需要的是每秒将状态的“快照”保存到文件中。

我试过 time.sleep(1) 但它漂移了。由于已经存在客户端循环,我不知道如何处理时间表问题......

我对 python 和 mqtt 很陌生,非常感谢你的帮助

我的代码:

0 投票
1 回答
71 浏览

c - 如何确定使用 libmosquitto 时使用的加密类型

我正在为 Linux 开发一个 C 应用程序,用于libmosquitto我的应用程序和其他地方的 MQTT 代理之间的 MQTT 通信。

我正在启用 TLS 进行身份验证和加密。

我如何才能真正找出通信过程中使用的加密类型?AES-256是要求。

我的 MqttClient 类:

在代码的其他地方,我按如下方式连接我的客户端(显然这只是一个缺少信息的代码片段,但只是为了展示我如何使用该类):

0 投票
0 回答
147 浏览

c - 将附加参数传递给 Mosquitto 回调函数

我想将我自己定义的变量传递给on_message()回调,但我似乎找不到任何明确的方法来做到这一点。

该文档提到了有关传递用户数据的一些内容,但我无法弄清楚如何做到这一点,如果有某种示例,我将不胜感激。

void mosquitto_connect_callback_set(struct mosquitto *mosq, void (*on_connect)(struct mosquitto *, void *, int));

参数:
mosq - 一个有效的 mosquitto 实例。
on_connect - 以下形式的回调函数:
void callback(struct mosquitto *mosq, void *obj, int rc)

回调参数:
mosq - 进行回调的 mosquitto 实例。
obj - <mosquitto_new> 中提供的用户数据
rc - 连接响应的返回码。