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

Blade 未结 2 35

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

  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条回答
  • 相关模块看下这里 ,看下你的模块标识是不是填写的英文,后续我们给他限制下只能英文。你现在删掉这个模块,重新建一个英文标识的,然后再创建新模块 再发布物模型试试。tag:identifier 这样会直接作为字段名保存到tdengine内,所以中文是会有问题的,改成英文单词后,上报也需要按照这样的格式来。

    image.png

    image.png


    0 讨论(0)
  • 9小时前

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


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

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

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

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


    0 讨论(0)
提交回复