【问题标题】:How to send sensor data to Kura?如何将传感器数据发送到 Kura?
【发布时间】:2017-08-04 14:31:27
【问题描述】:

我是库拉的新手。我阅读了 Kura 的文档,但没有找到关于如何将边缘设备连接到 Kura 的说明。更具体地说,我有一个 DHT11 传感器连接到一个名为 A 的树莓派,我已经将 Kura 安装在另一个名为 B 的 raspi(作为网关)上。如何通过 MQTT 将数据从 raspi A 上的传感器发送到 raspi B 上的 Kura?我还查看了 Web UI,但只找到了连接到云服务的选项。

【问题讨论】:

  • 为什么不在 raspi A 上安装 Kura?您可以使用 Kura 直接访问 DHT11 中的数据并将数据发布到云端。这是 Kura 最常见的用例,用作边缘网关。
  • 是的。我知道那个选项。不幸的是,我的项目需要在设备 raspi 和服务器之间的网关 raspi 上安装 Kura。所以除此之外,我想知道目前是否有任何可能的方法来做我描述的事情。如果没有,我很乐意按照您上面的建议进行操作。非常感谢:)。
  • 如果你必须使用两个RPis,有几种方法可以在两者之间进行通信。最简单的可能是在两个设备之间使用串行连接。 Kura 提供进行串行通信的服务。

标签: iot kura


【解决方案1】:

我也是新库拉。您说您必须将传感器数据发送到另一个 ras pi,至于我,我必须编写一个驱动程序来从传感器收集传感器数据。我读了很多文档、博客,有人说使用 pi4j 或 gpio 是最好的方法。你有这方面的经验吗? =)

【讨论】:

  • 这里有点离题,但无论如何我都会回答。是的,pi4j 是用于控制树莓派 GPIO 引脚的 java 库,通过它您可以检索附加到它的传感器的值。但是,根据传感器的类型,pi4j 以及 java 并不总是最好的。例如,超声波传感器可以通过这种方式轻松读取,而温度/湿度传感器如 DHT11。 DHT22在java中的时序有些问题,所以最好使用C或Python之类的语言。
【解决方案2】:

考虑到您对在 raspi A 上安装 Kura 不感兴趣,我认为使用您手头的工具可能的稳定解决方案是:

  • Raspi A:创建一个读取您的传感器并通过 MQTT 将其发送到 Raspi B 的服务。考虑:

    • 此类数据的格式需要是具有此架构的 KuraProtobuf 或 JSON:

    {
      "sentOn": 13415414544,
      "metrics: [
        "field1": 5234524,
        "field2": "adsfasd"
      ]
    }
    
    • 主题必须是account/client/application/other
  • Raspi B:部署 Simple Artemis MQTT 代理 并创建本地连接到代理的 CloudService。使用正确的数据格式配置它,accountclient。然后,使用正确的application 和主题 (other) 在此类 CloudService 中创建订阅

但是,可能还有其他解决方案。例如,如果您有一些知识,骆驼路线可以为您提供更优化的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2022-12-11
    • 1970-01-01
    • 2018-04-18
    • 2021-10-02
    • 2020-12-19
    • 1970-01-01
    相关资源
    最近更新 更多