珠海云洲无人艇对外通信协议文档

协议版本

V1.0
发布日期:2025年7月28日


目录

  1. 协议概述
  2. 数据帧格式
  3. 数据结构规范
  4. 字段详细说明
  5. 数据示例

1. 协议概述

本协议定义了珠海云洲无人艇系统的数据传输规范,采用JSON格式进行数据交换。协议设计解决了TCP通信中的粘包问题,通过特殊分隔符确保数据完整性。


2. 数据帧格式

为解决TCP粘包问题,每条JSON数据需添加特殊分隔符:

$${JSON数据}##

粘包处理示例

原始数据包: { "equip_id": "141032", ... } { "equip_id": "141033", ... } 传输格式: $${ "equip_id": "141032", ... }##$${ "equip_id": "141033", ... }##

3. 数据结构规范

顶层结构

字段 类型 必填 描述 示例值
equip_id 字符串 设备唯一标识符 "141032"
company 字符串 所属公司 "珠海云洲"
crs 字符串 坐标系标准 "WGS84"
date 字符串 数据采集时间 "2025-07-28 10:21:22"
lon 字符串 经度坐标 "113.1234567"
lat 字符串 纬度坐标 "22.1234567"
info 对象 设备状态信息 {...}

设备状态信息 (info)

字段 类型 必填 描述
usv_mode 字符串 工作模式
prop 数组 推进器信息
battery 数组 电池信息
generator 数组 发电机信息(可选)
fuel 数组 油量信息(可选)
status 对象 航行状态参数

4. 字段详细说明

4.1 航行状态 (status)

字段 类型 单位 描述 示例值
heading 字符串 ° 航向 "0.000000"
yaw 字符串 ° 艏向 "0.000000"
pitch 字符串 ° 纵摇 "0.000000"
roll 字符串 ° 横摇 "0.000000"
speed 字符串 kn 航速 "0.000000"

4.2 工作模式 (usv_mode)

描述
待机模式 设备待机状态
其他模式 根据设备定义

4.3 推进器信息 (prop)

字段 类型 单位 描述 备注
index 整数 - 推进器序号 0=左推进器, 1=右推进器
rpm 整数 rpm 推进器转速

4.4 电池信息 (battery)

字段 类型 单位 描述 备注
index 整数 - 电池序号
name 字符串 - 电池名称 如"设备电池1"
vol 字符串 V 电压
ele 字符串 A 电流(可选) 无电流信息时字段缺失
soc 整数 % 剩余电量(可选) 无电量信息时字段缺失

4.5 发电机信息 (generator)

字段 类型 单位 描述 备注
index 整数 - 发电机序号
rpm 整数 rpm 转速
load 整数 % 负载率
vol 字符串 V 启动电池电压

4.6 油量信息 (fuel)

字段 类型 单位 描述 备注
index 整数 - 油箱序号
name 字符串 - 油箱名称 如"右前舱油箱"
capacity 整数 % 剩余油量

5. 数据示例

{ "equip_id": "141032", "company": "珠海云洲", "crs": "WGS84", "date": "2025-07-28 10:21:22", "lon": "22.1234567", "lat": "113.1234567", "info": { "usv_mode": "待机模式", "prop": [ {"index": 0, "rpm": 800}, {"index": 1, "rpm": 900} ], "battery": [ {"index": 5, "vol": "11.2", "name": "设备电池3"}, {"index": 4, "vol": "11.2", "name": "设备电池2"} ], "generator": [ {"index": 1, "rpm": 1110, "payload": 70, "vol": 13}, {"index": 0, "rpm": 1110, "payload": 70, "vol": 13} ], "fuel": [ {"index": 3, "name": "右前舱油箱", "capacity": 30}, {"index": 4, "name": "右后仓油箱", "capacity": 40} ], "status": { "heading": "0.000000", "yaw": "0.000000", "pitch": "0.000000", "roll": "0.000000", "speed": "0.000000" } } }

修订记录

版本 日期 修改说明 修改人
V1.0 2025-07-28 初始版本发布 詹佳欣