协议管理

创建协议需要选择网络类型,请选择协议包要使用的网络类型,否则平台无法知道你需要解析的数据类型。 图片

注意事项

  • 上传一次协议包只能有一个类型生效,如果有多个不同类型的协议在同一份代码里,可以选择上传多次,选择不同的网络类型。
  • 不同的网络类型要实现不同的类,demo代码已经写好示例,只需要实现红色部分对应的网络协议即可。
  • 如果设备类型选择了网关设备,在离线状态由协议管理,所以对于网关设备,协议返回消息时需要注意更新设备状态
  • 返回消息中的deviceSn必须填写,否则平台无法找对对应设备。
  • 返回消息中的deviceSn必须填写,否则平台无法找对对应设备。 图片
  • 上行消息解析完之后,必须用统一的DecodeMessage类,不可随意更改返回消息格式,否则平台解析会失败。 图片

消息上行

  • 上行消息中平台针对不同网络协议有额外配置,请根据网络类型选择是否设置该属性值。 图片

消息下行

  • 消息下行由定时任务/用户主动触发/规则触发发起,同样返回需要用统一的EncodeMessage图片

协议包中提供了一些工具,例如Redis,后续会陆续添加更多方便开发的工具。

  • redis是和平台共用一个redis,因此需要注意,定义Key的时候不要和平台已有的重复,避免系统崩溃。 图片

设备自注册

  • 设备自注册需要设置图中几个参数,必须指定已存在的产品SN,自注册也会默认继承产品的各项配置。协议中的自注册不需要随便关闭,在性能优化中有提到,不需要自注册时,关闭此配置即可。 img_1.png

解析时的指令下发

  • 考虑到解析消息时可能需要及时回复设备的某些指令,协议中提供了快速下发指令的功能。如下图,解析之后,将指令列表返回即可。注意:指令尽量要先在平台创建。img_2.png