Eclipse Kura 作为边缘计算网关应用套件,功能非常强大,作为一个基础性框架,在上面跑一些用户应用,那是非常合适的。

一、启用 Kura 上面支持 MQTT broker
进入 Kura web console,开启Simple Artemis MQTT Broker,测试中暂定 usename 和 password 都为 mqtt。

WX20200707-174344.png

登录 Kura 设备后台,查看 TCP 1833 端口已经开启

root@raspberrypi:/home/pi# netstat -nlpt |grep 1883
tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      427/java            

二、模拟 MQTT 设备发送数据
使用 Chrome 浏览器插件 MQTTBox 登录我们的 MQTT server
WX20200707-174844@2x.png

三、安装 Kura 插件
使用 Eclipse marketplace 安装以下插件

  • Apache Camel MQTT endpoint
  • Apache Camel Groovy language support
  • Apache Camel GSON data format

四、创建新的 Component
创新 component
Integrating-with-Kura-and-Kapua-5.png

并输入以下内容

<routes xmlns="http://camel.apache.org/schema/spring">
  <route>
    <from uri="paho:humidity/sensor1/humidity?brokerUrl=tcp://localhost:1883&amp;clientId=route1&amp;userName=mqtt&amp;password=mqtt"/>
    <unmarshal><json library="Gson"></json></unmarshal>
    <transform><simple>${body["humidity"]}</simple></transform>
    <transform><groovy>["HUMIDITY": request.body/100, "ASSETNAME": "HrY", "SENSOR": "sensor1"]</groovy></transform>
    <to uri="seda:wiresOutput1"/>
  </route>
</routes>

WX20200707-175458.png

五、创建一个 Cloud publisher
WX20200707-175640.png

六、新建一个 Wire Graph
Camel Consumer - camel_comsumer
WX20200707-175756.png

Publisher - pub_camel1
WX20200707-175907.png

把两个相连起来
WX20200707-180007.png

七、发送数据,测试 Kapua 数据接收情况
发布/订阅 主题topic: humidity/sensor1/humidity
WX20200707-180254@2x.png

发送数据验证
WX20200707-180510@2x.png

Kapua 接收,查询结果
WX20200707-180442.png

标签: none

仅有一条评论

  1. jieke

    修改camel routes,支持解析json字段:

    ["HUMIDITY": request.body.humidity/100, "TEMPERATURE": request.body.temperature/100, "ASSETNAME": "TH", "SENSOR": request.body.imei]

    topic:
    /temperature_humidity
    payload:
    {"humidity": 9988, "temperature": 2234,"imei":"8644493040155484"}

添加新评论