【问题标题】:Decoding payload msg going through lorawan multitech conduit gateway解码通过 lorawan 多技术管道网关的有效负载消息
【发布时间】:2017-06-21 05:19:20
【问题描述】:

我设法让一个节点与一个安卓应用程序通信。消息从节点传送到网关。网关使用 node-red 将消息发布到 mqtt 代理,我订阅了正确的主题以在我的 android 应用上接收该消息。

我现在唯一的问题是我从来没有意识到味精是被编码的,我现在很迷茫。我在应用程序端收到一个字节数组,但我不确定下一步我必须采取什么措施才能读取该消息。

感谢您的帮助!

【问题讨论】:

  • 你能否用一些数据示例更新问题,以便我们知道我们正在处理什么

标签: android json mqtt lora


【解决方案1】:

您实际上是从 Node-Red 接收字节。您可以在 Android 上将接收到的字节转换为字符串,也可以将 lora 输入节点的数据类型从字节修改为 UTF-8。

【讨论】:

  • 你知道是否有一种简单的方法可以在 android 上将字节或 UTF-8 转换为字符串?或者,有没有办法直接在 node-red 上做到这一点?非常感谢你的回答,你又救了我!
  • 欢迎您!如果您能发布一些您在 Android 中收到的数据的示例,那就太好了。
  • 我在问题中添加了我收到的有效负载的示例。
  • 你试过修改你的Node-Red中的lora节点吗?
  • 是的,目前设置为UTF-8。
【解决方案2】:

我有一个函数来解码它:

    var x = Buffer.from(msg.payload.raw,"base64").toString()
    msg.Decrypted = parseFloat(x)
    return msg;

在这个 Instructable 中,我解释了如何在节点红色中解码 Lora 消息 https://www.instructables.com/id/Lora-Temperature-Dashboard/

【讨论】:

    【解决方案3】:

    在 MultiTech Conduit 上,消息由 MTC 内部进行 base64 编码,然后发布到 lora//up 的内部 mqtt 代理,因此您需要对其进行 base64 解码,然后对它进行任何您需要的操作。您可以使用内置的 mosquitto 应用程序订阅此主题,或任何其他 mqtt 客户端(paho 库等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-27
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多