设备接入云食谱程序时,需要在设备端进行相应的协议开发。生活物联网平台提供了两种协议开发方式供您选择。
协议介绍
生活物联网平台设备端支持两种协议方式,分别为全指令方式和分步骤方式。更推荐您使用全指令协议方式。两者的对比如下。
| 对比项 | 全指令协议方式 | 分步骤协议方式 |
|---|---|---|
| 描述 | 服务端一次性将所有指令从发送到设备端的方式。 | 服务端分步骤将指令发送到设备端的方式。待设备端执行完一个步骤的指令后再下发下一步骤指令,直至所有步骤指令执行完成。 |
| 适用入网类型 | 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 | 否 | 无 |
