设备上报数据 -- 通过设备模拟、http请求 均报错

Blade 未结 2 98
cuiyuzhou
cuiyuzhou 2025-10-31 11:58

一、该问题的重现步骤是什么?

  1. 创建品类,并配置物模型

    image.png

    2. 创建产品,并创建温度模块,默认模块物模型和品类一致

    image.png

image.png

3. 创建设备,正常显示其物模型以及温度模块

image.png

image.png

4. 使用模拟设备,上报温度数据,与默认字段数据

image.png

5. 上报后设备物模型中无数据

image.png

image.png

6. 调用http接口进行温度数据上报,任然无数据

image.png

二、你期待的结果是什么?实际看到的又是什么?

期待通过设备模拟或者http请求上报单一字段(当设备存在多个属性字段时,通过物模型模块上报单一字段)数据

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex iot ubuntu

四、请提供详细的错误堆栈信息,这很重要。

  1. 使用设备模拟日志

    image.png

  2. 点击设备模拟-设备详情-物模型数据时报错

    image.png

  3. 调用http请求时报错

    image.png


五、若有更多详细信息,请在下面提供。

产品物模型确实属于发布状态

image.png

修改属性取值范围后再次点击发布报错

image.png

image.png


2条回答
  •  如梦技术
    2025-10-31 16:18

    首先感谢反馈,从上面描述看到有这么几个问题造就了数据写入不进去。


    1. 模块标识,自定义模块建 tdengine 表字段名规则是 “模块标识符:属性标识”

    2. 看到你自定义了一个模块温度,按规范,那么你上报的时候就得符合这个规范。

    {
        "id": "123",
        "version": "1.0",
        "method": "thing.event.property.post",
        "sys":{
            "ack":0
        },
        "params": {
            "模块标识符:属性标识": {
                "value": "on",
                "time": 1524448722000
            }
        }
    }

    建议就用默认模块,删除自定义的模块,然后重新保存发布物模型。(tdengine 发布物模型的时候会更新超级表)


提交回复