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

FIWARE IoTAgent(JSON)基于MQTT无法接收Mosquitto数据及设备组错误排查

问题定位与解决方案

核心问题

使用FIWARE IoTAgent JSON结合MQTT配置服务组后,Mosquitto Broker可接收设备消息,但IoTAgent无法关联到服务组,抛出DEVICE_GROUP_NOT_FOUND错误,已排除Docker网络连通性问题。


1. 修正MQTT消息主题格式

IoTAgent JSON默认订阅的MQTT主题模板为/{{apiKey}}/{{deviceId}}/attrs,你的服务组apikey为4jggokgpepnvsb2uv4s40d59ov,设备发送消息的主题必须严格遵循以下格式:

/4jggokgpepnvsb2uv4s40d59ov/[自定义设备ID]/attrs

主题格式不匹配是触发DEVICE_GROUP_NOT_FOUND的最常见原因。

2. 补全服务组的租户关联配置

你在IoTAgent环境变量中设置了IOTA_FALLBACK_TENANT=openiot,但服务组配置未指定对应租户信息,导致租户不匹配。修改服务组配置,添加service和servicePath字段:

{
    "services": [
        {
            "apikey": "4jggokgpepnvsb2uv4s40d59ov",
            "entity_type": "TrafficFlowObserved",
            "resource": "",
            "service": "openiot",
            "servicePath": "/",
            "expressionLanguage": "jexl",
            "attributes": [
                {"name": "id", "type": "Text", "expression": "'urn:ngsi-ld:TrafficFlowObserved:'+idelem"},
                {"name": "dateObserved", "type": "Text", "expression": "fecha_hora_inicio|toisodate+'/'+fecha_hora_finalizacion|toisodate"},
                {"object_id": "intensidad", "name": "intensity", "type": "Number"}
            ]
        }
    ]   
}

3. 确保服务组创建请求参数正确

创建服务组时,需通过正确的API端点发送请求,若启用多租户需显式指定租户参数:

curl -X POST \
  http://localhost:4041/iot/services?service=openiot&servicePath=/ \
  -H "Content-Type: application/json" \
  -d '[上述修改后的服务组JSON内容]'

请求成功会返回201 Created状态码,可通过GET http://localhost:4041/iot/services?service=openiot&servicePath=/验证配置是否生效。

4. 检查IoTAgent的MQTT订阅日志

查看IoTAgent的DEBUG日志,确认是否成功订阅对应主题,正常日志应包含:

info: MQTTClient - Subscribed to topic: /4jggokgpepnvsb2uv4s40d59ov/+/attrs

若未出现该日志,说明服务组配置未被正确加载,需检查MongoDB中是否存储了服务组数据。

5. 验证消息负载格式

设备发送的MQTT负载需包含服务组表达式依赖的字段,示例合法负载:

{
  "idelem": "sensor_001",
  "fecha_hora_inicio": "2024-05-20T10:00:00",
  "fecha_hora_finalizacion": "2024-05-20T10:01:00",
  "intensidad": 50
}

内容的提问来源于stack exchange,提问作者Francesco Vignola

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:35:24