阿里云物联网平台 “物模型属性” 的分析&&易错点&&上报属性时Payload如何正确组装?

简介: 您是否在纠结设备上报了数据,平台到底有没有收到?您是否很疑惑物模型属性怎么老是不刷新?您是否不理解物模型属性下发总是不生效?您是否不知道上报属性时Payload到底该怎么填?您是否很纳闷物模型属性一会又携带有时间戳,一会又没有?您是否怀疑能不能自定义物模型属性的时间戳?又如何取到自定义时间戳?您是否...

业务场景

image.png

1、设备端主动上报物模型属性,物联网平台更新物模型属性值
2、前端下发更新物模型属性指令,物模型平台不更新属性值,平台将临时的物模型属性值再转发到设备端。
3、云平台自发向设备端下发更新物模型属性指令(云平台流转->下发物模型属性),物模型平台不更新属性值。
4、设备端从物模型接收到临时的物模型属性值后进行其业务逻辑处理。
5、前端获取物模型属性值,物模型平台给真实的物模型属性值。
6、服务端获取物模型属性值,物模型平台给真实的物模型属性值。


原理

1、物模型属性的真实值来源只有一个,设备端主动上报

2、物联网平台只有设备端主动上报才会更新真实的物模型属性值


剖析

1、为什么物模型真实来源只能是设备端上报,下发更新物模型属性指令为什么都不行?
因为阿里云平台物模型属性的更新机制只认设备上报的属性,这又是为什么呢?

(1)设备上报的属性肯定是体现了设备当前真正的状态
(2)指令下发也有同步和异步的,并不能保证指令一下发,设备的真实状态就发生了变化,这样物模型属性就和设备真实的状态不同步了。

(3)设备端可能由于种种原因,或者其业务逻辑限制,指令下发下来并不代表一定会生效,并不代表一定要按照指令去执行
(4)指令下发过程中指令也可能被丢失,由于网络波动,资源紧张等情况,指令被舍弃。
(5)有可能同时存在多个客户端同时下发指令到设备,那到底谁才是正确的呢?那当然是设备端自己主动上报的那个咯。


2、什么样的物模型消息才是正确的呢?
先看协议格式:
image.png

日志服务中有物模型才能代表物模型数据更新
物模型消息只能代表向物模型topic发送了数据,不一定是正确的

来看下错误的格式:
image.png

正确的格式:
image.png
image.png

从这里可以看到,time字段和value字段是可选的,也就是物模型消息的时间戳可以有,也可以没有,但是就是不能没有Params字段


3、Payload格式注意事项

A、Payload格式必须为json格式

  Payload上报数据会经过哪些流程?
 (1) 首先,如果集成了SDK,会先经过SDK的校验。如果没有集成SDK或者直接使用MQTT接口进行上报
  那么会先经过平台的 《物模型消息》这一关,如果不是Json格式:

image.png

(2)然后是《物模型check》这一关,虽然满足了json格式,但是如果不满足Alink Json协议
image.png

(3)《物模型check》如果满足Alink Json协议,但是部分数据不满足物模型定义
AMQP可以正常订阅,物模型可以正常更新数据,但是物模型数据的日志没有生成。(后来验证又有一条错误日志,感觉平台还是有bug)
image.png
image.png

AMQP:
image.png

经过后来多次验证,发现《物模型check》还是有个错误日志的,平台6332也没有定义这个错误码

image.png

(4)《物模型check》如果满足Alink Json协议,但是全部数据都不满足物模型定义
物模型数据不会更新,AMQP正常订阅消息,但是消息内容里面有俩条5092的错误码
日志中物模型check这一关会提示6332错误码,tsl parse failed
image.png

(5)《物模型check》如果满足Alink Json协议,也满足物模型定义
物模型check通过,物模型数据更新正常,AMQP消息订阅正常,内容正常
物模型check通过
image.png

物模型数据
image.png

AMQP:
image.png

B、带time的格式和不带time的格式都是可以成功上报的
不带time格式:
"{"params":{"Temperature":99.99,"BatteryPercentage":88.88}}";

image.png

带time格式
"{"params":{"Temperature":{"value":75.75,"time":1603248612000}}}";
image.png

C、如果上报的时候自带time,那么控制台上最新的数据按照控制台的时间排布,但是历史数据就是按照自带的time的数据
eg:测试时间:2020-10-24 14:46:50
验证:当上报数据time写死1603248612000 (2020/10/21 10:50:12)
{"params":{"Temperature":{"value":75.75,"time":1603248612000}}}
历史数据:
image.png

但是最新数据也是他:
image.png

AMQP订阅到的消息:
image.png

顺便再看看日志记录里是什么样:
image.png

image.png

D、如果上报数据的时候不带time

历史数据就是最新数据
image.png

看看AMQP收到的消息:
image.png

再看看日志:
image.png
image.png


4、通过云平台流转至物模型属性下发怎样才能生效?

image.png

物模型属性的真实值来源只有一个,设备端主动上报。所以不管是云端下发指令,还是平台转发指令(如云平台流转)等,设备端需要接收到指令的后,再将该属性进行上报


小结

本片文章只是剖析,不讲实操,把原理讲通

1、物模型属性的真实值来源只有一个,设备端主动上报
2、物联网平台只有设备端主动上报才会更新真实的物模型属性值
3、Payload注意事项
4、物模型消息的正确格式

后续再逐步更新实操文档:

《阿里云物联网平台物模型属性下发如何才能生效》
《阿里云物联网平台通过云平台流转实现设备间物模型属性的同步》
《阿里云物联网云平台物模型流转SQL编写技巧》

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
2月前
|
消息中间件 安全 物联网
海量接入、毫秒响应:易易互联携手阿里云构筑高可用物联网消息中枢
面对换电生态高速发展的通信挑战,易易互联通过采用阿里云 MQTT + RocketMQ 的融合解决方案,成功构建了“海量接入、实时响应、弹性处理、安全可信”的物联网通信底座。该架构不仅显著提升了系统稳定性与可扩展性,更保障了高并发场景下的业务连续性,为实现“让换电成为营运补能第一选择”的战略目标提供了坚实的技术支撑。
191 32
|
6月前
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
2318 42
|
10月前
|
物联网 Python
请问:如何使用python对物联网平台上设备的属性进行更改?
为验证项目可行性,本实验利用阿里云物联网平台创建设备并定义电流、电压两个整型属性。通过Python与平台交互,实现对设备属性的控制,确保后续项目的顺利进行。此过程涵盖设备连接、数据传输及属性调控等功能。
|
8月前
|
存储 监控 安全
工业物联网关应用:PLC数据通过智能网关上传阿里云实战
本文介绍如何使用智能网关将工厂PLC数据传输至阿里云平台,适合中小企业远程监控设备状态。硬件准备包括三菱FX3U PLC、4G智能网关和24V电源。接线步骤涵盖PLC编程口与网关连接、运行状态检测及天线电源接入。配置过程涉及通讯参数、阿里云对接和数据点映射。PLC程序关键点包括数据上传触发和温度值处理。阿里云平台操作包含实时数据查看、数据可视化和规则引擎设置。最后提供常见故障排查表和安全建议,确保系统稳定运行。
750 1
|
9月前
|
物联网 数据挖掘 BI
基于阿里云物联网平台(IoT)的智能家居系统开发与部署
随着物联网技术的发展,智能家居成为提升生活品质的重要方向。阿里云物联网平台提供设备接入、数据管理及应用开发能力,支持亿级设备接入、高效数据管理和灵活应用开发,确保系统安全。本文通过实战案例展示如何基于该平台构建智能家居系统,涵盖设备接入、远程控制、场景联动与数据分析等功能,助力企业快速部署智能家居解决方案。
|
存储 边缘计算 物联网
阿里云物联网平台:推动万物互联的智能化解决方案
随着物联网技术的快速发展,阿里云物联网平台为企业提供了一体化的解决方案,包括设备接入、数据管理和智能应用等核心功能。平台支持海量设备接入、实时数据采集与存储、边缘计算,并具备大规模设备管理、高安全性和开放生态等优势。广泛应用于智能制造、智慧城市和智能家居等领域,助力企业实现数字化转型。
1430 5
|
SQL 监控 物联网
ClickHouse在物联网(IoT)中的应用:实时监控与分析
【10月更文挑战第27天】随着物联网(IoT)技术的快速发展,越来越多的设备被连接到互联网上,产生了海量的数据。这些数据不仅包含了设备的状态信息,还包括用户的使用习惯、环境参数等。如何高效地处理和分析这些数据,成为了一个重要的挑战。作为一位数据工程师,我在一个物联网项目中深入使用了ClickHouse,以下是我的经验和思考。
672 0
|
安全 网络协议 物联网
物联网僵尸网络和 DDoS 攻击的 CERT 分析
物联网僵尸网络和 DDoS 攻击的 CERT 分析
|
存储 安全 物联网
物联网中的通信模型
【8月更文挑战第23天】
227 0
|
8月前
|
传感器 人工智能 物联网
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
1037 19

相关产品

  • 物联网平台