微网中央控制器通信协议规范框架示例1详细阐述了在采用MQTT协议构建的系统中,设备与平台之间的通信机制。该规范主要关注于两个关键部分:TOPIC定义和数据交换。
1. **TOPIC定义**:
- **订阅消息topic**: 设备需要通过“//v1/{deviceId}/{subdeviceId}/cmd/{codecMode}”来订阅平台的消息。其中,`{deviceId}`是MGCC设备的SN(序列号),`{subdeviceId}`为0(MGCC设备)或MGLC设备的SN(当为MGLC设备时),`{codecMode}`根据用户的编解码选择,分别为用户自定义插件('binary')或预设的JSON格式。
- **上报消息topic**: 设备上报数据时,使用“//v1/{deviceId}/{subdeviceId}/data/{codecMode}”进行发送,格式与订阅类似。
2. **MQTTCONNECT连接鉴权**:当前文档未提及具体的MQTT连接鉴权流程,可能这部分内容将在后续版本中详细描述。
3. **PAYLOAD数据交换**:
- **设备数据上报**:
- 接口功能:设备将数据发送到平台,用于设备状态监控和管理。
- 参数说明:包括`deviceType`和`ServiceData`定义表,以及示例展示了如何构造上报的数据结构。
- **平台命令下发**:
- 接口功能:平台向设备发送控制指令,用于设备操作和远程管理。
- 参数说明:提供命令发送的具体参数示例,但未给出具体参数细节。
- cmd应答表:设备接收到平台命令后的响应参数,用于确认命令执行情况。
4. **版本管理**:
- 规范版本0.1为初始版本,由协议制定者创建。
- 后续版本可能会增加或调整内容,如添加连接鉴权方法、完善参数描述等。
这个规范旨在确保设备与平台之间的通信高效且明确,通过标准化的TOPIC和Payload格式,使得不同设备能够理解和响应彼此的信息。开发者可以根据此规范开发兼容的客户端程序,并根据实际需求选择合适的`codecMode`。随着版本更新,未来可能会包含更多的安全性和性能优化细节。