From 94b3b2e96a024816574c6655a5191504aabec519 Mon Sep 17 00:00:00 2001 From: Surenjun Date: Thu, 24 Jul 2025 08:21:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=AE=89=E5=85=A8=E5=91=98=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ets/pages/judgeSDK/utils/safetyOfficer.ts | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 entry/src/main/ets/pages/judgeSDK/utils/safetyOfficer.ts diff --git a/entry/src/main/ets/pages/judgeSDK/utils/safetyOfficer.ts b/entry/src/main/ets/pages/judgeSDK/utils/safetyOfficer.ts new file mode 100644 index 00000000..361ad8db --- /dev/null +++ b/entry/src/main/ets/pages/judgeSDK/utils/safetyOfficer.ts @@ -0,0 +1,42 @@ +import socket from '@ohos.net.socket'; +class SafetyOfficer{ + // 是否开启安全员 + private isOpen:boolean = false + // 心跳端口 + private heartBeatPort:number = 8054 + // 数据端口 + private dataPort:number = 8052 + // 本地端口 + private localUdpPort:number = 19961 + + udpClient:socket.UDPSocket + //协议格式:帧头,数据长度,流水号,消息标识,数据区,保留,帧尾 + constructor(context) { + let udp: socket.UDPSocket = socket.constructUDPSocketInstance(); + + this.udpClient = udp + } + + //初始化指令 + heartBeatFn = async ()=> { + //车牌号 时间戳 空 空 空 空 空 @ + '$SBXS,85,20250603115529563,B202,赣A78QK6@360803200602253517@1@20250603115523132@@@@@李从星@001@@001@2506455453517,05,*SBJS' + } + + //开始考试 + beginExamFn = async ()=>{ + //车牌号 考试身份证 状态 开始考试时间 考试次数 考车信息 窗户标注信息 方向盘标注信息 考生姓名 安全员编号 是否合格 安全员姓名 流水号 + + } + + //结束考试 + endExamFn = async ()=>{ + //车牌号 考试身份证 状态 开始考试时间 考试次数 考车信息 窗户标注信息 方向盘标注信息 考生姓名 安全员编号 是否合格 安全员姓名 流水号 + } + //obd&gps相关数据 + sendObdData = async ()=>{ + //考试员号 考试车型 车牌号 科目类型+考试开始时间 设备信号状态 速度 发动机转速 GPS纬度 GPS经度 主天线位置 GPS东向距离 GPS北向距离 + //航向角 俯仰角 高程 项目状态 当前项目编号 场地设备编号 本次考试行驶总距离 扣分值 扣分项数量 n个扣分序号 考车车型 车牌号 + //工控机是否在播报语音 安全员姓名 + } +} \ No newline at end of file