You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FIWARE IoTAgent-json适配MQTT固定主题与嵌套JSON问题咨询

解决FIWARE IoTAgent-JSON接入MQTT传感器的两个问题

1. 修改MQTT订阅主题适配传感器固定上报路径

IoTAgent-JSON允许通过配置文件或环境变量自定义MQTT订阅主题模板,无需局限于默认的/json/{{api-key}}/{{device-id}}/attrs。

配置方式

  • 通过配置文件(config.js):找到MQTT配置段,修改subTopic字段为传感器的上报主题模板。如果传感器主题包含设备ID(如示例中的shellyplus1pm-7c87ce64d540/events/rpc),可用{{device-id}}占位符匹配设备注册时的device_id:
module.exports = {
    // 其他配置项...
    mqtt: {
        host: 'your-mqtt-broker-host',
        port: 1883,
        protocol: 'mqtt',
        subTopic: '{{device-id}}/events/rpc', // 匹配传感器的固定上报主题
        pubTopic: '/json/{{api-key}}/{{device-id}}/cmd',
        qos: 0
    }
};
  • 通过环境变量:启动IoTAgent时设置IOTA_MQTT_SUBTOPIC环境变量,效果与配置文件一致:
IOTA_MQTT_SUBTOPIC="{{device-id}}/events/rpc" npm start

注意事项

确保设备注册时的device_id与传感器上报主题中的DeviceId完全一致(如示例中的shellyplus1pm-7c87ce64d540),IoTAgent才能正确匹配并接收消息。


2. 解析嵌套多层JSON数据

IoTAgent-JSON支持通过属性映射的objectPath字段定位嵌套JSON中的数据,无需修改Payload结构即可提取深层字段。

设备注册时配置属性映射

在注册设备的请求中,为每个需要提取的属性指定objectPath,路径用点分隔符表示层级,带特殊字符(如冒号)的键直接写入即可。以下是针对示例Payload的注册请求示例:

POST /iot/devices HTTP/1.1
Host: your-iotagent-host:4041
Content-Type: application/json
Fiware-Service: your-service
Fiware-ServicePath: /your-service-path

{
  "devices": [
    {
      "device_id": "shellyplus1pm-7c87ce64d540",
      "entity_name": "urn:ngsi-ld:ShellySwitch:shellyplus1pm-7c87ce64d540",
      "entity_type": "ShellySwitch",
      "protocol": "json",
      "transport": "mqtt",
      "attributes": [
        {
          "object_id": "ts",
          "name": "timestamp",
          "type": "Number",
          "objectPath": "params.ts" // 提取params下的ts字段
        },
        {
          "object_id": "apower",
          "name": "activePower",
          "type": "Number",
          "objectPath": "params.switch:0.apower" // 提取params.switch:0下的apower字段
        }
      ]
    }
  ]
}

原理说明

objectPath字段遵循简单层级路径规则:

  • 用.分隔嵌套对象层级
  • 非标识符键(如带冒号、空格的键)直接写入路径即可,IoTAgent会按字符串键解析

配置完成后,IoTAgent会自动从上报的嵌套JSON中提取对应字段,转换为NGSI实体属性存入Context Broker。


内容的提问来源于stack exchange,提问作者Yanpeng Wu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 23:45:46