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

问题描述 投票:0回答:2

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

我的想法是:

  1. 有些想象客户在某个主题上对 Mosquitto 进行 pub。
  2. Mosquitto 发挥其魔力(默认行为),并且还运行回调(因此数据按照我在 CB 中描述的方式处理)

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

问题是:

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

如果你了解 Rust,这可能会有用,我刚刚写的。只是因为我不想弄清楚如何用 C 做事。

https://crates.io/crates/mosquitto-plugin

有一个示例展示如何使用它。

关于你的回调来对数据做一些事情,我还没有尝试过,但我相信你可以使用ACL规则检查来对数据做一些事情,甚至产生一个线程做一些异步的事情


0
投票

现在有点晚了,但当我自己研究这个时,我想我可能会离开这个。 有一个示例插件可以修改传入和传出消息的负载。我想这基本上就是你所要求的。

我还没有亲自测试过,但在这里你可以找到代码。 Paylad修改插件示例

© www.soinside.com 2019 - 2024. All rights reserved.