T-JSON跨平台网络通信协议——边缘认知设备的二次开发实战指南

一、引言:边缘认知设备的通信挑战

在国防安全、边境巡逻、无人机反制等场景中,AI边缘认知设备需要与上位机软件、云台控制端进行实时通信。这类通信面临多重挑战:不同操作系统间的兼容性、视频流与控制指令的并行传输、二进制图像数据与JSON文本的混合帧解析、以及网络不稳定时的连接管理。

本文以Tofu系列设备的T-JSON通信协议为案例,从协议架构、数据帧格式、JSON指令设计、图像抓拍机制等维度进行技术分析,帮助开发者理解边缘AI设备的通信架构设计思路,为二次开发提供参考。

二、协议架构概述

2.1 角色定义

T-JSON协议采用经典的客户端-服务器架构,角色定义如下:

  • AI端(Server):边缘AI识别跟踪设备,作为TCP服务器,负责视频推流、目标识别、状态信息推送
  • 客户端(Client):操控端软件或平台软件,作为TCP客户端,负责发送控制指令、接收状态信息
  • 视频端:采用RTSP协议,默认H.264编码,端口554,与JSON控制协议独立

控制端口固定为8089,所有JSON控制指令和状态推送均通过此端口。视频流通过独立的554端口传输,实现控制面数据与视频流的分离。

2.2 网络拓扑

整体网络通信架构包含三条独立链路:

  • JSON控制链路(TCP 8089):用于指令下发、状态上报、图像抓拍、心跳维护
  • RTSP视频链路(TCP 554):用于视频点播与解码显示
  • PV串口链路(TCP 8090):用于向吊舱发送PelcoD/VISCA云台控制指令

这种分离设计使得开发者可以独立处理控制逻辑和视频解码,降低系统耦合度。

三、数据帧格式

3.1 JSON 指令帧格式

T-JSON协议的每一帧数据均由固定帧头和可变帧内容组成,帧头包含标识码、帧类型和帧长度三个部分:

|--------|---------------|---------------|---------|---------|
| 字段 | 标识码 1 | 标识码 2 | 帧类型 | 帧内容 |
| 长度 | 1Byte | 1Byte | 1Byte | N Byte |
| 值 | 0xEC | 0x91 | 见帧类型表 | JSON数据 |

其中帧长度字段为4Byte,表示后续JSON内容的字节数。标识码0xEC 0x91是固定的协议标志,用于帧同步和数据解析时的定位。

3.2 帧类型表

协议定义了多种帧类型,覆盖状态推送、控制指令、图像抓拍、查询配置等场景:

|---------|---------|--------|-----------------|
| 帧类型 | 类型名 | 方向 | 说明 |
| 0x01 | 状态帧 | 设备→客户端 | AI算法信息与设备状态推送 |
| 0x03 | 控制指令 | 客户端→设备 | 工作模式切换、区域设置等 |
| 0x04 | 图像抓拍 | 设备→客户端 | JPEG目标截图二进制传输 |
| 0x05 | 图像参数查询 | 客户端→设备 | 查询分辨率、码率、编码格式等 |
| 0x06 | 检测区域设置 | 客户端→设备 | 设置目标检测的围栏区域 |
| 0x08 | 算法模型设置 | 客户端→设备 | 切换人车/船/无人机等识别模型 |
| 0x09 | 目标截图状态 | 客户端→设备 | 开启/关闭目标图像抓拍功能 |
| 0x0A | 数字变倍 | 客户端→设备 | 1X~2X无级数字变倍开关 |
| 0x11 | 心跳 | 双向 | 连接保活,15秒超时断开 |
| 0x12 | ACK | 双向 | 帧确认应答,含状态码 |

值得注意的是,所有JSON数据上下帧间隔不得小于100毫秒,这是为了避免设备端解析压力过大。

四、 JSON 指令协议详解

4.1 算法信息 AIInfo 推送

设备端在AI运行过程中会主动推送算法信息,这是客户端获取目标检测结果的主要方式。AIInfo数据结构包含控制类型、工作模式、目标总数和目标详细信息。

相关推荐
用户018349301692 小时前
用Zustand管理AI多会话状态
人工智能
武子康4 小时前
调查研究-198 Agent 到底该记住什么?读懂《What Must Generalist Agents Remember?》
人工智能·openai·agent
aqi005 小时前
15天学会AI应用开发(九)利用Chroma持久化向量数据
人工智能·python·大模型·ai编程·ai应用
武子康6 小时前
调查研究-197 FAISS vs Elasticsearch 全面对比:从向量检索、全文搜索到 RAG 选型指南
人工智能·elasticsearch·agent
青禾网络7 小时前
Web 前端如何接入 AI 音效生成:从零到可用的完整方案
人工智能·设计模式
用户252736278147 小时前
【技术实战】用 Spring Boot + Vue3 + LM Studio 在本地跑通 RAG 知识库
人工智能
用户5191495848457 小时前
VBScript随机数生成器内部机制:从时间种子到密码令牌破解
人工智能·aigc
米小虾7 小时前
Context Engineering —— 知识与记忆的窗口
人工智能·agent
IT_陈寒7 小时前
Python里这个赋值坑,连老司机都能翻车
前端·人工智能·后端