开发者社区 > 物联网 > 正文

自定义topic怎样触发系统标准的属性上报topic

在物联网平台上,我定义了Alink类型的产品,产品包括标准的属性上报topic </sys/a1KD4v208W7/${deviceName}/thing/event/property/post>.但由于我的设备SDK的问题,无法直接上报JSON字符串来更新属性,所以我添加了自定义topic </a1KD4v208W7/${deviceName}/user/update>,并且用什么是消息解析 (aliyun.com)所说的方法添加了消息解析脚本来把设备上报数据修正为标准Alink JSON,经过测试可以把上传的数据解析为Alink JSON字符串。但当我用以下消息时,虽然method是“thing.event.property.post”,但我的产品设备的属性lct, pwrphe和lcapr并没有被自动更新:

    {

            "id": "123",

    "version": "1.0",

    "sys":{

        "ack":0

     },

    "params": {

    "lct": "2023/03/28,16:51:34",

    "pwrp": 63,

    "lcapr": 2

    },

            "method": "thing.event.property.post"

    }

我的问题是,怎样通过发布消息到自定义topic,来自动更新我的设备属性?就像直接发Alink消息给</sys/a1KD4v208W7/${deviceName}/thing/event/property/post>一样?

展开
收起
游客twt6nietp76lc 2023-03-30 16:40:46 224 0
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    在阿里云的物联网平台中,如果定义的设备无法直接上报JSON字符串来更新属性,可以添加自定义topic,并用消息解析脚本将设备上报数据修正为标准Alink JSON。如果要通过发布消息到自定义topic来自动更新设备属性,可以采用以下步骤:

    1. 确保自定义topic的消息解析脚本将设备上报数据修正为标准Alink JSON格式。
    2. 确认自定义topic和标准属性上报topic(</sys/a1KD4v208W7/${deviceName}/thing/event/property/post>)在同一个设备分组中。
    3. 发布消息到自定义topic(</a1KD4v208W7/${deviceName}/user/update>),并确保消息中的method为"thing.event.property.post",params中包含要更新的设备属性。
    4. 等待物联网平台接收并处理消息,更新设备属性。

    如果以上步骤操作正确,但设备属性仍未自动更新,请检查设备SDK中的代码是否正确,或联系阿里云技术支持进行进一步排查。[1]

    2023-03-30 21:39:02
    赞同 展开评论 打赏

物联网领域前沿技术分享与交流

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载