版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ICS35.240.01CCSL70 DB5120四 川 省 ( 资 阳 市 ) 地 方 标 准DB5120/T29.3—2024感知信息共享应用规范第3部分:物联感知平台接入管理2024-12-12发布 2024-12-27实施资阳市市场监督管理局 发布DB5120/T29.3DB5120/T29.3—2024PAGE\*ROMANPAGE\*ROMANII目 次前言 II范围 1规范性引用文件 1术语和定义 1缩略语 2总体架构 2接入方式概览 3设备通信能力要求 4设备接入协议 6设备物模型 6设备鉴权方式 8应用侧访问与接入方式 9附录A(资料性)Topic对应的业务参数及开发指南 10附录B(资料性)JSON格式转换示例 12附录C(资料性)设备属性应用示例 14附录D(资料性)请求URI示例 22附录E(资料性)鉴权认证示例 25参考文献 27前 言本文件按照GB/T1.1-2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由资阳市政务服务管理局提出并归口。本文件起草单位:资阳市政府政务服务和公共资源交易服务中心、资阳市大数据服务中心、资阳乾耀信创科技有限责任公司、成都工贸职业技术学院、四川省职业技能鉴定指导中心。DB5120/T29.3DB5120/T29.3—2024PAGEPAGE18感知信息共享应用规范第3部分:物联感知平台接入管理范围本文件规定了物联感知设备接入物联感知平台的管理规范,包含术语和定义、缩略语、整体架构、规范性引用文件(包括所有的修改单适用于本文件。GB/T2260 中华人民共和国行政区划代码GB/T22239 信息安全技术网络安全等级保护基本要求GB/T28181 公共安全视频监控联网系统信息传输、交换、控制技术要求GB/T33474 物联网参考体系结构GB/T33745 物联网术语GB/T34678 智慧城市技术参考模型GB/T36620 面向智慧城市的物联网技术应用指南GB/T36478.4 物联网信息交换和共享第4部分:数据接口GB/T37024 信息安全技术物联网感知层网关安全技术要求GB/T37093 信息安全技术物联网感知层接入通信网的安全要求GB/T38624.1 物联网网关第1部分:面向感知设备接入的网关技术要求GB/T38637 物联网感知控制设备接入GB/T38606 物联网标识体系数据内容标识符GB/T38656 特种设备物联网系统数据交换技术规范GB/T40688 物联网生命体征感知设备数据接口GB/T40687 物联网生命体征感知设备通用规范GB/T41780 物联网边缘计算GB/T41782 物联网系统互操作性GB/T42196 公安物联网视频图像元数据分析技术要求GB/T42197 公安物联网视频图像内容元数据描述规范GB/T42409 物联网电子价签系统总体要求GB/T42760 智慧城市感知终端应用指南GB/Z41294 物联网应用协议受限应用协议(CoAP)技术要求DB5120/T18-2023 公共信息资源标识指南DB5120/T19-2023 数据资源体系技术指南术语和定义以上“规范性引用文件”中所引用标准界定以及下列术语和定义适用于本文件。物联感知平台IoTplatform物联网设备 IoTdevice缩略语下列缩略语适用于本文件。HTTP:超文本传输协议(HyperTextTransferProtocol)[参考RFC7540]安全的超文本传输协(HyperText Transfer Protocol over Secure Socket 考RFC2818]MQTT:遥测传输协议(MessageQueueTelemetryTransport)[参考ISO/IECPRF20922]MQTTS:使用了TLS加密的MQTT协议(TLSSupportforMessageQueueTelemetryTransport)COAP:受限应用协议(ConstrainedApplicationProtocol)[参考RFC7252]OPCUA:OPC统一架构协议(OpenPlatformCommunicationUnifiedArchitecture)[参考IEC62541]ModbusTCP:Modbus传输控制协议(ModbusTransmissionControlProtocol)[参考GB/T19582.3-2008]TSL:物品描述语言(ThingSpecificationLanguage)SDK:软件开发工具包(SoftwareDevelopmentKit)API:应用程序接口(ApplicationProgrammingInterface)NB-IoT:窄带物联网(NarrowBandInternetofThings)[参考ITUIMT-2020]LWM2M:轻量级M2M(LightweightMachine-To-Machine)[参考ETSITS118114]OTA:空中编程(Over-the-air)总体架构物联感知平台(以下也称IoT平台、IoTDA(IoTDeviceAccess)),包括以下3种接入平台的方式:设备直连、网关接入、平台对接。新建物联网设备应按设备直连平台或通过网关接入两种方式接入。图1 物联感知平台接入架构接入方式概览设备命名要符合业务要求,设备名称只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合,4xx_streetlight_1,表示xx1Mqtt/Coap/http协议接入的设备,可以采用直连接入方式,sdk推荐接入策略如下:CoAP/LWM2MIoTDeviceSDKTiny设备使用Mqtt协议,建议采用设备直连方式接入物联感知平台,设备也可以采用网关接入方IoTDeviceSDK接入即可。设备使用opcua,opcda,Modbus,iec等协议,推荐其使用网关接入方式接入物联感知平台。具体实施需项目组单独评估规划并申请经费。设备数据,需要通过查询第三方系统api,或者查询第三方数据库才可以获取,推荐采用网关接入方式。具体实施需项目组单独评估规划并申请经费。如设备无法主动上报数据,需要采用特定方式,采集设备相关数据,推荐使用网关接入方式对接物联感知平台。具体实施需项目组单独评估规划并申请经费。设备数据使用plc上报,推荐使用网关接入方式对接。具体实施需项目组单独评估规划并申请经费。设备数据是先汇聚到scada系统,则推荐采用网关方式对接。具体实施需项目组单独评估规划并申请经费。j)设备是采用其他非标准协议,如jt808(应用于交通领域),hj212(应用于环境领域),sl651(应用于水里领域平台提供了两种SDK,它们之间的主要区别如表1所示。表1 两种SDK区别SDK种类SDK集成场景SDK支持的物联网通信协议IoTDeviceSDK面向运算、存储能力较强的嵌入式设备,例如网关、采集器等。MQTTIoTDeviceSDKTiny面向对功耗、存储、计算资源有苛刻限制的终端设备,例如单片机、模组。LWM2MoverCoAP、MQTT设备通信能力要求通则2G/3G/4G/5G/NB-IoTWLAN,用户可以根据物联网应用场景从固定网络固定网络接入(如通过RJ45有线网口、光模块等),需要用户将物联网设备的网络接入到整个工厂、园区或交通设施等应用场景中。2表2 网络接口要求类型项目规格备注必选网卡10/100/1000M全双工网卡带宽大小可根据承载的数据类型选择IP类型IPv4/IPv6优先IPv6可选PoE支持简化现场布线运营商传统蜂窝网络(2G/3G/4G/5G)SIM可根据物联网应用场景选择对应网络制式,2G到5G带宽性能、时延性能依次升高,但相应设备芯片成本也相应提升。设备网络制式要求如表3所示。表3 网络制式项目规格备注网络制式2G:GSMCDMA3G:WCDMACDMA4G:TD-LTE/LTEFDD5G:NR具体制式可根据场地运营商支持情况、带宽时延要求、功耗成本要求选择网络制式LTECATNB1LTECATNB1具体制式可根据场地运营商支持情况、带宽时延要求、功耗成本要求选择对于高带宽、低延迟以及高可靠场景,推荐采用5G网络切片构建虚拟专网,结合物联感知平台下沉的混合云方案,从而提高可靠性以及保障极致性能。2G网络正在逐步退网,不推荐使用,建议采用4G网络的Cat.1替代。运营商窄带网络(NB-IoT)在物联网领域,NB-IoT比传统蜂窝网络有更强的竞争力和更加旺盛的生命力。工信部《工业和信息化部办公厅关于深入推进移动物联网全面发展的通知》则明确要求推动2G/3G物联网业务转网,能够迁移到NB-IoT等技术生态上来。NB-IoT相较传统蜂窝网络在同频段下,可以获得20dB更多的增益,因而拥有更强的覆盖能力。NB网络单扇区可以支持10万个连接,时延敏感度低,同时设备成本及功耗低,适合远程抄表、智慧农业、资产跟踪等业务。设备通过NB-IoT网络需实时控制设备时,需组建专线网络:设备通NB-IoT网络连接,推送CoAP下行消息,需要等待NB设备主动连线后才能下发,因此下行消息根据CoAP心跳时间会有不同的延时。这是由于运营商公共地址池和NB-IoT设备的映射表会老化,平台无法找到消息下行时刻的设备地址。在NB-IoT要求消息下行能够实时送到的场景,需委托电信运营商组建专线网络。在平台和NB设备所在EPC之间搭建专线或建立基于公网的VPN(GRE/IPSec)等,以保证平台消息下行时能够正常地进行设备寻址。无线局域网(WLAN)无线局域网(WLAN)在物联网行业使用较为广泛的接入方式,主流物联网设备对WLAN的支持非WLAN设备WLAN接入规格要求如表4所示。表4 WLAN接入规格类型项目规格备注必选频段2.4GHz信道1~13信道使用需符合当地法规标准802.11n以上带宽150MHz以上可选PoE支持简化现场布线频段5GHz获得更高的带宽,但牺牲覆盖通过网关接入网络要求(RS485标准等Zigbee等进场通信协议接入。此场景需要经终端的网关做数据转换对接到物联感知平台。设备接入协议MQTT/MQTTS终端设备通过原生MQTT/MQTTSMQTT/MQTTS协议要求如表5所示。表5 MQTT/MQTTS协议描述限制支持的MQTT协议版本3.1.1与标准MQTT协议的区别支持Qos0MQTTS支持的安全等级采用TCP通道基础+TLS协议(TLSV1.2、TLS1.3)单个设备最大MQTT连接数1单个MQTT连接每秒的吞吐量,即带宽,包含直连设备和网关3KB/sMQTT1MBMQTT连接心跳时间建议值301200120秒LwM2M/CoAP目前LWM2M/CoAP协议主要用在NB-IoT场景上,业务数据交互端口是物联感知平台的5684端口,5684端口走DTLS+CoAP协议通道接入,NB-IoT设备端接入时提供必要的数据凭证,并支持标准DTLS协议。设备在登录平台前,需将设备对接平台的端口设置为5684(即走DTLS加密通道)。将设备出厂前的PSK秘钥预置到物联感知平台中,PSK秘钥的数据类型为String型,长度范围为8-32位。泛协议设备接入目前平台支持基于MQTT/LWM2M等标准协议接入,为解决用户自定义处理设备数据以及自定义协议设备快速接入IOTIoT使用场景设备只支持某种类型协议,而平台目前不支持该协议。设备与其接入服务器之间已有通信网络,您希望在不修改设备和协议的情况下,将设备接入IOT平台。由于设备硬件资源或者网络限制,设备无法直接接入IOT平台。设备物模型物模型概述图2 设备物模型设备物模型包括产品信息和服务能力:a)产品信息描述一款设备的基本信息,包括厂商ID、厂商名称、设备类型、协议类型。例如:水表的厂商名称为“HZYB”,厂商ID为“TestUtf8ManuId”,设备类型为“WaterMeter”,协议类型为“CoAP”。b)服务能力物模型接入的方式MQTTNB-IoT设备只支持编解码插件接入。平台标准接口接入:物联感知平台预置了数据、消息、事件上报,以及命令、消息、事件下发MQTTTopic,设备厂商可根据业务特点按需实现集成。a)设备命令b)通过编解码插件接入平台为实现非标接口和数据格式兼容,以及非MQTT的物联网协议兼容,支持设备厂商开发编解码插件(JavaScript设备鉴权方式DeviceId和Secret将用于设备南向鉴权。设备侧应支持MQTT协议的connect消息接口,接口规范参考MQTT标准规范,鉴权通过后建立设备与平台间的MQTT连接,参考的参数表6所示。表6 密钥方式鉴权参数必选/可选类型参数描述ClientId必选String(256)设备clientId由3ID0。例:5f052ac562369102d42b0fb6_0_ff5bbx7a488f其他场景:设备clientId由4个部分组成:设备ID、设备身份标识类型、密码签名类型、时间戳。通过下划线“_”分隔,设备身份标识类型固定值为0密码签名类型:长度1字节,当前支持2种类型:“0”代表HMACSHA256不校验时间戳。“1”代表HMACSHA256校验时间戳。时间戳:为设备连接平台时的UTC时间,格式为YYYYMMDDHH,如UTC时间2018/7/2417:56:20则应表示为2018072417。例:5f052ac562369102d42b0fb6_0_0_2019122614Username必选String(256)设备ID。Password必选String(256)Password的值为使用“HMACSHA256”算法以时间戳为密钥,对secret进行加密后的值。secret为注册设备时平台返回的secret。当设备认证类型使用密钥认证接入(SECRET)可填写该字段。通过X.509设备证书方式鉴权。设备使用证书认证鉴权,除满足ClientId与Username要求外,还需要设备能够支持X.509证书方式与平台鉴权。c)LwM2M/CoAP协议鉴权:通过物联感知平台添加的设备,会获得nodeId,DTLS方式接入有PSK,设备通过LwM2M接入需实现Register功能进行南向接入鉴权,各参数参考如表7所示。表7 Registe接入规范参数名参数位置可选/必选说明EndpointClientNameUri-Query必选设备身份标识nodeIdLifetimeUri-Query否,默认为86400s生命周期VersionUri-Query可选,默认为1.0设备版本ObjectsandObjectInstancesPayload必选设备支持的对象和实例应用侧访问与接入方式通则物联感知平台把自身丰富的管理能力通过API的形式对外开放,包括产品管理、设备管理、设备组管理、标签管理、设备CA证书管理、设备影子、设备命令、设备消息、设备属性、订阅管理、规则管理、批量任务等,帮助用户快速构筑基于物联感知平台的行业应用。API物联感知平台提供了RESTful风格API,支持用户通过HTTPS请求调用。为保障物联感知平台与其他信息系统对接的功能完整性与可靠性,应用侧接入系统需要满足以下要求:API应用在接收处理物联感知平台发送的响应消息和推送消息时,需要兼容或忽略消息中的新增参数,不能因为消息中的新增参数导致应用的处理异常。在应用侧调用APITopic,对平台下行指令进行回复响应。否则应用侧同步接口会执行超时,报Timeout。在应用侧调用API的异步接口时,诸如“查询设备消息”,“下发设备消息”等,允许设备在线后订阅对应的平台下行Topic,对平台下行指令回复或不回复响应。也支持设备不在线,应用侧异步接口执行不会超时。API构造请求:本节介绍RESTAPI请求的组成,并以调用物联感知平台的查询产品和创建产品接口说明如何调用API,该API可用于获取用户的指定产品信息。认证鉴权调用接口有如下两种认证方式,用户可以选择其中一种进行认证鉴权。Token认证:通过Token认证通用请求。AK/SK认证:通过AK(AccessKeyID)/SK(SecretAccessKey)加密调用请求。附 录 A(资料性)Topic对应的业务参数及开发指南A.1Topic对应的业务参数及开发指南应符合表A.1规则(资阳市雁江区641300主题(Topic)分类主题Topic主题(Topic)分类主题Topic生产者Publisher订阅者Subscriber用途设备消息相关Topic$oc/devices/{device_id}/sys/messages/up设备平台设备消息上报$oc/devices/{device_id}/sys/messages/down平台设备平台下发消息给设备设备命令相关Topic$oc/devices/{device_id}/sys/commands/request_id={request_id}平台设备平台下发命令给设备$oc/devices/{device_id}/sys/commands/response/request_id={request_id}设备平台设备返回命令响应设备属性相关Topic$oc/devices/{device_id}/sys/properties/report设备平台设备上报属性数据$oc/devices/{device_id}/sys/gateway/sub_devices/properties/report设备平台网关批量上报属性数据$oc/devices/{device_id}/sys/properties/set/request_id={request_id}平台设备平台设置设备属性$oc/devices/{device_id}/sys/properties/set/response/request_id={request_id}设备平台属性设置的响应结果$oc/devices/{device_id}/sys/properties/get/request_id={request_id}平台设备平台查询设备属性$oc/devices/{device_id}/sys/properties/get/response/request_id={request_id}设备平台属性查询响应结产生影响$oc/devices/{device_id}/sys/shadow/get/request_id={request_id}设备平台设备侧主动获取平台的设备影子数据(续)表A.1 Topic对应的业务参数主题(Topic)分类主题Topic生产者Publisher订阅者Subscriber用途设备属性相关Topic$oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id}平台设备设备侧主动获取平台设备影子数据的响应设备事件相关Topic$oc/devices/{device_id}/sys/events/up设备平台设备事件上报$oc/devices/{device_id}/sys/events/down平台设备平台事件下发附 录 B(资料性)JSON格式转换示例B.1低配置且资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联感知平台通信时,可将原始二进制数据透传到物联感知平台。通过开发编解码插件实现二进制数据到平台定义JSON格式的转换。Topic下行:$oc/devices/{device_id}/sys/commands/request_id={request_id}上行:$oc/devices/{device_id}/sys/commands/response/request_id={request_id}{request_id}用于唯一标识这次请求。设备侧收到下行请求的topic带该参数时,上行响应的topic需要将该参数值返回给平台。设备侧订阅带{request_id}结尾的topic时,可以使用通配#,设备侧订阅平台命令下发的topic为:下行请求参数说明字段名必选/可选类型参数描述object_device_id可选Stringtopicservice_id可选String设备的服务ID,在设备关联的产品模型中定义command_name可选String设备命令名称,在设备关联的产品模型中定义。paras可选Object设备命令的执行参数,具体字段在设备关联的产品模型中定义。上行响应参数说明命令应答的json格式,具体字段在设备关联的产品模型中定义。字段名必选/可选类型参数描述result_code可选Integer标识命令的执行结果,0表示成功,其他表示失败。不带默认认为成功。response_name可选String命令的响应名称,在设备关联的产品模型中定义。paras可选Object命令的响应参数,具体字段在设备关联的产品模型中定义。下行请求示例Topic:$oc/devices/{device_id}/sys/commands/request_id={request_id}数据格式:{"object_device_id":"{object_device_id}","command_name":"ON_OFF","service_id":"WaterMeter","paras":{"value":"1"}}上行响应示例数据格式:{"result_code":0,"response_name":"COMMAND_RESPONSE","paras":{"result":"success"}}附 录 C(资料性)设备属性应用示例C.1示例设备属性上报:用于设备按产品模型中定义的格式将属性数据上报给平台。属性上报和消息上报的区别,请查看消息通信说明。说明:低配置且资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联感知平开发编解码插件实现二进制数据到平台定义JSON格式的转换。Topic上行:$oc/devices/{device_id}/sys/properties/report字段名必选/可选类型参数描述services必选List<ServiceProperty>设备服务数据列表(具体结构参考下表ServiceProperty定义表)。参数说明ServiceProperty结构定义:字段名必选/可选类型参数描述service_id必选String设备的服务ID。properties必选Objectevent_time可选String设备采集数据UTC时间(格式可选:秒级别:yyyyMMdd'T'HHmmss'Z',毫秒级别:2020-08-12T12:12:12.333Z。设备上报数据不带该参数或参数格式错误时,则数据上报时间以平台时间为准。示例Topic:$oc/devices/{device_id}/sys/properties/report数据格式:{"services":[{"service_id":"Temperature","properties":{"value":57,"value2":60},"event_time":"20151212T121212Z"},{"service_id":"Battery","properties":{"level":80,"level2":90},"event_time":"20151212T121212Z"}]}网关批量设备属性上报用于批量设备上报属性数据给平台。网关设备可以用此接口同时上报多个子设备的属性数据。属性上报和消息上报的区别,请查看消息通信说明。Topic上行:$oc/devices/{device_id}/sys/gateway/sub_devices/properties/report参数说明字段名必选/可选类型参数描述devices必选List<DeviceProperty>设备数据DeviceService定义表字段名必选/可选类型参数描述device_id必选String设备IDservices必选List<ServiceProperty>设备服务数据列表ServiceProperty定义表:字段名必选/可选类型参数描述service_id必选String设备的服务ID。properties必选Object设备服务的属性列表,具体字段在产品模型里定义,可以设置多个字段。event_time可选String设备采集数据UTC时间(格式可选:秒级别:yyyyMMdd'T'HHmmss'Z',毫秒级别:yy-MMddTH:mm:ss.SSZ'01121T14920Z2020-08-12T12:12:12.333Z。设备上报数据不带该参数或参数格式错误时,则数据上报时间以平台时间为准。示例Topic: 数据格式:{"devices":[{"device_id":"bf40f0c4-4022-41c6-a201-c5133122054a","services":[{"service_id":"analog","properties":{"PhV_phsA":"1","PhV_phsB":"2"},"event_time":"20190606T121212Z"}]},{"device_id":"42aa08ea-84c1-4025-a7b2-c1f6efe547c2","services":[{"service_id":"analog","properties":{"PhV_phsA":"3","PhV_phsB":"5"},"event_time":"20190606T121212Z"},{"service_id":"parameter","properties":{"Load":"6","ImbA_strVal":"8"},"event_time":"20190606T121212Z"}]}]}平台设置设备属性说明低配置且资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联感知平台通信时,可将原始二进制数据透传到物联感知平台。通过开发编解码插件实现二进制数据到平台定义JSON格式的转换。Topic下行:上行:说明{request_id}用于唯一标识这次请求。设备侧收到下行请求的topic带该参数时,上行响应的topic需要将该参数值返回给平台。设备侧订阅带{request_id}结尾的topic时,可以使用#,设备侧订阅平台设置设备属性的topic为:$oc/devices/{device_id}/sys/properties/set/#下行请求参数说明字段名必选/可选类型参数描述object_device_id可选String属性设置对应的目标设备IDservices必选List<ServiceProperty>设备服务数据列表。ServiceProperty结构定义:字段名必选/可选类型参数描述service_id必选String设备的服务ID。properties必选Object设备服务的属性列表,具体字段在产品模型里定义,可以设置多个字段。上行响应参数说明字段名必选/可选类型参数描述result_code可选Integer命令的执行结果,0表示成功,其他表示失败。不带默认认为成功。result_desc可选String属性设置的响应描述。下行请求示例Topic:$oc/devices/{device_id}/sys/properties/set/request_id={request_id}数据格式:{"object_device_id":"{object_device_id}","services":[{"service_id":"Temperature","properties":{"value":57,"value2":60}},{"service_id":"Battery","properties":{"level":80,"level2":90}}]}上行响应示例Topic:$oc/devices/{device_id}/sys/properties/set/response/request_id={request_id}数据格式:{"result_code":0,"result_desc":"success"}平台查询设备属性说明低配置且资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联感知平台通信时,可将原始二进制数据透传到物联感知平台。通过开发编解码插件实现二进制数据到平台定义JSON格式的转换。Topic下行:$oc/devices/{device_id}/sys/properties/get/request_id={request_id}上行:说明{request_id}用于唯一标识这次请求。设备侧收到下行请求的topic带该参数时,上行响应的topic需要将该参数值返回给平台。设备侧订阅带{request_id}结尾的topic时,可以使用#,设备侧订阅平台查询设备属性的topic为:字段名必选/可选类型字段名必选/可选类型参数描述object_device_id可选String属性查询对应的目标设备ID。service_id可选String设备的服务ID。上行响应参数说明字段名必选/可选类型参数描述services可选List<ServiceProperty>设备服务数据列表。ServiceProperty结构定义:字段名必选/可选类型参数描述service_id必选String设备的服务ID。properties必选Object设备服务的属性列表,具体字段在设备关联的产品模型里定义,可以设置多个字段。event_time可选String设备采集数据UTC时间(格式:yyyyMMdd'T'HHmmss'Z'),如:20161219T114920Z。字段名必选/可选类型参数描述设备上报数据不带该参数或参数格式错误时,则数据上报时间以平台时间为准。下行请求示例Topic:$oc/devices/{device_id}/sys/properties/get/request_id={request_id}数据格式:{"object_device_id":"{object_device_id}","service_id":"Temperature"}上行响应示例Topic:$oc/devices/{device_id}/sys/properties/get/response/request_id={request_id}数据格式:{"services":[{"service_id":"Temperature","properties":{"PhV_phsA":"1","PhV_phsB":"2"},"event_time":"20190606T121212Z"}]}e)设备侧获取平台的设备影子数据Topic上行请求:$oc/devices/{device_id}/sys/shadow/get/request_id={request_id}下行响应:$oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id}说明{request_id}用于唯一标识这次请求。设备侧发起的消息带该参数时,需要保证设备侧该参数值的唯一性,可以用递增的数字或者UUID来实现。设备侧订阅带{request_id}结尾的topic时,可以使用#,设备侧订阅获取平台设备影子数据响应的topic为:$oc/devices/{device_id}/sys/shadow/get/response/#上行请求参数说明字段名必选/可选类型参数描述object_device_id可选String需要获取设备影子的目标设备ID。service_id可选String需要获取设备影子的设备服务ID,不带的话查询所有服务ID的设备影子数据。下行响应参数说明字段名必选/可选类型参数描述object_device_id必选String设备影子的目标设备ID。shadow可选List<ShadowData>服务影子数据。ShadowData结构定义:字段名必选/可选类型参数描述service_id必选String设备的服务ID。desired可选PropertiesData设备影子desired区的属性列表。reported可选PropertiesData设备影子reported区的属性列表。version可选Integer设备影子版本信息PropertiesData结构定义:字段名必选/可选类型参数描述properties必选Object设备服务的属性列表,具体字段在设备关联的产品模型里定义,可以设置多个字段。event_time可选String设备属性数据的UTC时间(格式:yyyyMMdd'T'HHmmss'Z'),如:20161219T114920Z。上行请求示例Topic:$oc/devices/{device_id}/sys/shadow/get/request_id={request_id}数据格式:{"object_device_id":"40fe3542-f4cc-4b6a-98c3-61a49ba1acd4","service_id":"WaterMeter"}下行响应示例Topic:$oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id}数据格式:{"object_device_id":"40fe3542-f4cc-4b6a-98c3-61a49ba1acd4","shadow":[{"service_id":"WaterMeter","desired":{"properties":{"temperature":"60"},"event_time":"20151212T121212Z"},"reported":{"properties":{"temperature":"60"},"event_time":"20151212T121212Z"},"version":1}]}注:具体开发流程可以参考《IoT设备接入开发指南》->“脚本化开发插件”章节。附 录 D(资料性)请求URI示例示例D.1示例请求URI由如下部分组成。{URI-chme}//{npon}/{rsurc-pah}?{uer-srig}尽管请求URI包含在请求消息头中,但大多数语言或框架都要求用户从请求消息中单独传递它,所以在此单独强调。URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,用户需要根据实际区域填写。resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如“查询产品”API的resource-path为“/v5/iot/{project_id}/products/{product_id}”。ur-srngAI1)请求消息头附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。如下公共消息头需要添加到请求中。Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。添加消息头后的请求如下所示。GEThttps:///v5/iot/{project_id}/products/{product_id}Content-Type:application/json2)请求消息体请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。name为产品名称,device_type为设备类型,protocol_type为设备使用的协议类型。POSThttps:///v5/iot/abab***cdcd/productsContent-Type:application/jsonX-Auth-Token:********{"name":"Thermometer","device_type":"Thermometer","protocol_type":"MQTT","data_format":"binary","manufacturer_name":"ABC","industry":"smartCity","description":"thisisathermometer","service_capabilities":[{"service_type":"temperature","service_id":"temperature","description":"temperature","properties":[{"unit":"centigrade","min":"1","method":"R","max":"100","data_type":"decimal","description":"force","step":0.1,"enum_list":["string"],"required":true,"property_name":"temperature","max_length":100}],"commands":[{"command_name":"reboot","responses":[{"response_name":"ACK","paras":[{"unit":"km/h","min":"1","max":"100","para_name":"force","data_type":"string","description":"force","step":0.1,"enum_list":["string"],"required":false,"max_length":100}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新冠基础知识培训课件
- 2025年幼儿园师德个人工作计划模板
- Unit3 Weather (说课稿)-2023-2024学年人教PEP版英语四年级下册
- 2025年学生会工作计划范文
- 2025年渔业工作总结及工作计划
- 汽车船相关行业投资方案范本
- 2025年大学生西部计划志愿者个人总结
- 专题4-1 人机互动的项目开发-说课稿
- 2025年煤矿工程师工作计划例文
- 2025年语文老师工作计划
- 2024年秋季新人教版七年级上册数学全册教案
- 国民经济行业分类和代码表(电子版)
- 安全员年终总结报告
- 《客房服务与管理》课程标准课程内容与要求
- GB/T 44823-2024绿色矿山评价通则
- 营销中心建设实施方案
- 工程竣工验收(消防查验)报告
- 能源中国学习通超星期末考试答案章节答案2024年
- 中学美育(艺术教育)工作发展年度报告
- 农业经理人职业技能大赛考试题及答案
- GB/T 44679-2024叉车禁用与报废技术规范
评论
0/150
提交评论