如何用MQTT传感器的timestamp设置Orion-LD的observedAt?含HTTP绑定场景
Orion-LD 自定义时间戳配置指南
MQTT 场景:用传感器自带的ISO时间戳设置observedAt
当传感器通过MQTT向IoT Agent发送数据时,要把自身的ISO格式timestamp映射到Orion-LD的observedAt,可以这么操作:
- 先在IoT Agent的设备配置里开启时间戳映射功能。一般需要在设备的实体模板或服务配置项中,指定将传感器上报的
timestamp字段关联到属性的observedAt元数据。 - 发送MQTT消息时,把ISO格式的时间戳字段放进消息 payload 里,示例如下:
{ "humidity": 62, "timestamp": "2024-05-20T16:45:00Z" } - 确认IoT Agent的配置文件中,允许使用自定义时间戳的选项已开启(比如相关的
timestamp配置设为true),这样Agent就会自动用你提供的时间戳填充observedAt,而不是生成默认的当前时间。
HTTP 场景:使用t参数覆盖自动时间戳
在HTTP绑定的场景下,完全支持通过添加t参数来覆盖IoT Agent自动生成的时间戳:
- 你可以在POST请求的URL中携带
t参数,值为ISO格式的时间戳,示例请求如下:POST /iot/d?k=your-api-key&i=device-001&t=2024-05-20T16:45:00Z HTTP/1.1 Host: iot-agent.example.com Content-Type: application/json { "humidity": 62 } - 部分IoT Agent版本也支持在请求body里加入
t字段,但URL参数的方式兼容性更好。 - 这个参数是可选的:提供它时,IoT Agent会用该时间戳作为
observedAt的值;不提供的话,就使用Agent生成的当前时间戳。
内容的提问来源于stack exchange,提问作者glompos21
相关产品推荐
相关产品推荐

