设备接入云食谱程序时,需要在设备端进行相应的协议开发。生活物联网平台提供了两种协议开发方式供您选择。
协议介绍
生活物联网平台设备端支持两种协议方式,分别为全指令方式和分步骤方式。更推荐您使用全指令协议方式。两者的对比如下。
对比项 | 全指令协议方式 | 分步骤协议方式 |
---|---|---|
描述 | 服务端一次性将所有指令从发送到设备端的方式。 | 服务端分步骤将指令发送到设备端的方式。待设备端执行完一个步骤的指令后再下发下一步骤指令,直至所有步骤指令执行完成。 |
适用入网类型 | Wi-Fi、BLE Mesh | Wi-Fi、BLE Mesh |
是否支持手机直连 | 是 | 否 |
优劣势分析 | 初始化时等待时间相对较长。指令占用缓存较大(取决于指令的大小)。整个食谱烹饪过程,不受网络影响。更推荐您使用本方式。 | 初始化等待时间相对较短,指令占用缓存较小。食谱烹饪过程中,如果网络中断会导致无法完成后续操作。 |
全指令协议的物模型
通过全指令协议方式开发设备端时,您需要新增以下物模型。
- 属性
属性名称 | 标识符 | 数据类型 | 属性描述 |
---|---|---|---|
启动开关 | workSwitch | Enum | 该属性同时上下行数据。取值范围如下。 - 0:关闭 - 1:打开 - 2:暂停 - 3:继续 |
工作状态 | workstatus | Enum | 该属性仅上行数据。取值范围如下。 - 0:停止 - 1:开始 - 2:暂停 - 3:待机 |
云食谱状态 | cloudRecipeStatus | Enum | 该属性同时上下行数据。取值范围如下。 - 0:结束 - 1:开始 |
操作名 | opreationName | String | 该属性仅上行数据。 |
运行时间 | runTime | Long | 该属性仅上行数据。 |
剩余时间 | lefttime | Long | 该属性仅上行数据。 |
云食谱步骤顺序号 | cloudRecipeStepSequence | Integer | 该属性同时上下行数据。 |
云食谱完整性校验码 | cloudRecipeIntegrityCheck | String | 该属性仅下行数据。 |
- 事件
事件名称 | 标识符 | 是否必选 | 事件关联的属性 |
---|---|---|---|
云食谱完成事件 | cloudRecipeDoneEvent | 是 | 无 |
设备端操作事件 | deviceSideOperationEvent | 是 | opreationName |
云食谱暂停消息事件 | loudRecipeSuspendMsgEvent | 否 | 无 |
分步骤指令协议的物模型
通过分步骤指令协议方式开发设备端时,您需要新增以下物模型。
- 属性
| 属性名称 | 标识符 | 是否必选 | 数据类型 | 属性描述 |
| —- | —- | —- | —- | —- |
| 启动开关 | workSwitch | 是 | Enum | 该属性同时上下行数据。取值范围如下。
- 0:关闭
- 1:打开
- 2:暂停
- 3:继续
| | 工作状态 | workstatus | 是 | Enum | 该属性仅上行数据。取值范围如下。
- 0:停止
- 1:开始
- 2:暂停
- 3:待机
| | 云食谱状态 | cloudRecipeStatus | 是 | Enum | 该属性同时上下行数据。取值范围如下。
- 0:结束
- 1:开始
| | 操作名 | opreationName | 是 | String | 该属性仅上行数据。 | | 运行时间 | runTime | 是 | Long | 该属性仅上行数据。 | | 剩余时间 | lefttime | 是 | Long | 该属性仅上行数据。 | | 云食谱步骤顺序号 | cloudRecipeStepSequence | 是 | Integer | 该属性同时上下行数据。 |
- 事件
事件名称 | 标识符 | 是否必选 | 事件关联的属性 |
---|---|---|---|
云食谱步骤完成事件 | cloudRecipeStepDoneEvent | 是 | 无 |
设备端操作事件 | deviceSideOperationEvent | 是 | opreationName |
云食谱步骤中断事件 | cloudRecipeStepInterruptEvent | 是 | cloudRecipeStepSequence |
云食谱暂停消息事件 | cloudRecipeSuspendMsgEvent | 否 | 无 |