【问题标题】:Node Red MQTT Node: Payload contains byte array instead of string节点红色 MQTT 节点:有效负载包含字节数组而不是字符串
【发布时间】:2017-01-21 18:07:07
【问题描述】:

设备正在向代理发送 ASCII 字符串。我期待有效载荷中有一个字符串。但 Node-Red 的 MQTT 节点将其视为二进制 blob。

我知道 MQTT 将所有有效负载视为 blob。但是,当从桌面 MQTT 客户端发送消息时,同一节点正确地将有效负载显示为字符串。所以这似乎是一个编码问题。

虽然添加另一个节点来将数据转换为字符串并不难,但我想知道是否有更好的方法来处理这个问题——比如 node-red 中的一些设置将有效负载解释为特定节点的 ASCII。

【问题讨论】:

    标签: mqtt node-red


    【解决方案1】:

    MQTT-in 节点使用is-utf8 npm 节点测试传入的消息是否为字符串。

    如果您正在通过缓冲区,那么传入的消息未通过此测试,我将检查“设备”使用什么编码来编码字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 2016-01-22
      相关资源
      最近更新 更多