LocalSense WebSocket协议详解及版本演化

需积分: 0 1 下载量 124 浏览量 更新于2024-08-05 收藏 370KB PDF 举报
"LocalSense WebSocket协议V01是LocalSense客户端通信协议的一部分,用于实现服务器与客户端间的位置信息、状态变化等实时数据交互。该协议使用WebSocket协议进行数据推送,服务端运行在localsense_distribute_server,端口号为9001,并遵循localSensePush-protocol子协议。" 在LocalSense WebSocket协议V01中,通信流程基于C/S架构,服务器可以同时与多个客户端进行交互,客户端可以是PC软件或移动端应用。协议的细节如下: 1. **帧头** (2 字节): 固定值为0xCC5F,标识数据帧的开始。 2. **帧类型** (1 字节): 固定值为0x01,表明这是LocalSense协议的数据帧。 3. **标签个数(N)** (1 字节): 表明该帧中包含的标签信息总数。 4. **标签信息**: 每个标签信息由21字节组成,包含以下字段: - **标签ID**: 标识特定设备或标签的身份。 - **X坐标**、**Y坐标**、**Z坐标**: 提供设备的三维空间位置信息。 - **定位指示/楼层指示** (已废弃): 原来用于指示设备在建筑物中的定位层,但已在后续版本中弃用。 此外,协议还包括了**CRC16校验区** (2 字节) 和 **帧尾** (2 字节),用于确保数据传输的完整性和准确性。 协议经历了多个版本的迭代,其中V0.4增加了心跳包以保持连接的活跃,实时位置数据加入了时间戳,以及实时数据示例。V0.5增加了电量和距离信息,扩展了报警数据类型。V0.6时,电量推送协议类型被定义为localSensePush-protocol。后续版本中,协议进一步完善了电子围栏功能,增加了扩展数据帧协议、电子围栏状态推送、控制启停等功能,并加入了低电量告警。 在实际应用中,WebSocket协议提供了双向通信能力,使得服务器能够主动向客户端推送数据,如位置更新、报警事件、电量信息等,而无需客户端持续轮询,提高了效率并降低了网络负载。同时,通过localSensePush-protocol子协议,LocalSense系统能够有效地处理和传递定制化的扩展数据和报警信息,满足不同应用场景的需求。