mqtt - 从 MQTT 获取数据
问题描述
有没有办法在不使用缓存或其他任何东西的情况下从 MQTT 获取实际传感器状态?
例如,在 NR 重新启动后,我需要将所有实际值保存在 MQTT 中,我该怎么做?
解决方案
值不保存在 MQTT 中,它不是数据库而是消息传递系统。
此外,您不使用 MQTT 获取数据,您订阅主题并在发布消息时将消息传递给客户端。
这些语句的唯一例外情况如下:
保留的消息。如果发布者在消息上设置了保留标志,则在主题上带有保留标志的最后发布的消息将被传递给订阅该主题的任何客户端。这对于确保订阅者始终可以访问最后发布的值很有用。
高 QOS 订阅。如果客户端配置为订阅具有 QOS 1 或 2 的主题,则代理应在客户端离线时将该主题上发布的任何消息排队,并在客户端重新连接并重新订阅该主题时将它们传递给客户端(假设相同的客户端-id 被使用,除非 cleansession 标志设置为 true)。
如果您想轮询传感器的当前值,您始终可以让传感器订阅命令主题并使用它来指示它们发布其最新值。
推荐阅读
- google-cloud-platform - 如何使用 firewalls.list 方法按 sourceRanges 0.0.0.0/0 过滤防火墙规则列表
- reactjs - 格子 api 脚本在下一个 js 应用程序中全局化
- bash - 我可以在 UNIX 的 awk 中使用 awk 吗?
- amazon-web-services - AWS kinesis 视频流 (KVS) 多点
- python - 与数据框中的前一行相比,如何识别行中的字符串更改?
- php - php - 获取当前变量名并将其作为数组键
- c++ - 当原始字符串和反向字符串相同时,为什么第一种和第二种情况一直返回 false?回文码
- php - mysql 之类的查询,如何对表中的两列进行排序,但按一列匹配的结果排序
- react-native - 在 react native 中使用 FlatList 时如何滚动?
- tensorflow-lite - NMS 在 tensorflow-lite 量化模型中不起作用