设备列表 轮询 2s
+ 添加设备
{{ d.phone }}
{{ d.plate || '未注册' }} · {{ d.infoModel || d.terminalModel || '型号未知' }}
📡
暂无设备接入请启动设备模拟器:mvn compile exec:java@simulator
{{ selected.phone }}
基本信息(0x4040 应答)
{{ selected.infoMaker || '未查询' }}
{{ selected.infoModel || '未查询' }}
{{ selected.firmwareVersion || '未查询' }}
{{ selected.hardwareVersion || '未查询' }}
{{ audioTypeName || '未查询' }}
{{ selected.imei || '未查询' }}
{{ diskTypeName || '未查询' }}
{{ fmtTime(selected.vehicleInfoAt) || '未查询' }}
通道与录像状态 (0x05)
{{ selected.channelCount ?? '未查询' }}
{{ hexMask(selected.videoLostMask) }}
{{ hexMask(selected.recordingMask) }}
硬盘 (0x06) · 网络 (0x07) · WiFi (0x08)
总 {{ dsk.totalMB }} MB · 剩余 {{ dsk.remainMB }} MB
{{ selected.networkAddr ? (netTypeName + ' · ' + selected.networkAddr + ' · 质量 ' + selected.networkQuality) : '未查询' }}
{{ selected.wifiName ? (selected.wifiName + ' · 质量 ' + selected.wifiQuality) : '未查询' }}
实时位置(0x0200 上报)
{{ selected.locationTime || '无数据' }}
{{ selected.lat ? selected.lat.toFixed(6) + ', ' + selected.lon.toFixed(6) : '无数据' }}
{{ selected.locationAt ? (selected.speedKph + ' km/h · ' + selected.direction + '°') : '无数据' }}
{{ selected.altitude }} m
{{ selected.mileageKm }} km
{{ selected.fuelL }} L · 副油箱 {{ selected.auxFuelL }} L
{{ selected.dashRecordSpeed }} km/h
报警与状态(表 3.5.3 / 3.5.4)
{{ a }}
无报警
{{ s }}
无状态标记
{{ hexMask(selected.videoLostMask) }}
{{ hexMask(selected.storageFaultMask) }}
{{ aggressiveName || '无' }}
位置附加项详情(0x14/0x64/0x65/0x67/0x70/0xE4/0xEF)
{{ a }}
无报警
ADAS 报警 (0x64,表 3.5.9)
{{ adasTypeName(selected.adasAlarm.alarmType) }}
{{ selected.adasAlarm.level }} 级
{{ selected.adasAlarm.alarmId }}
{{ selected.adasAlarm.flag }}
{{ selected.adasAlarm.speedKph }} km/h
{{ selected.adasAlarm.altitude }} m
{{ selected.adasAlarm.lat?.toFixed(6) }}, {{ selected.adasAlarm.lon?.toFixed(6) }}
{{ selected.adasAlarm.time }}
{{ selected.adasAlarm.alarmIdHex }}
DSM 驾驶员状态监测 (0x65,表 3.5.10)
{{ dsmTypeName(selected.dsmAlarm.alarmType) }}
{{ selected.dsmAlarm.level }} 级
{{ selected.dsmAlarm.fatigue }} / 10
{{ selected.dsmAlarm.alarmId }}
{{ selected.dsmAlarm.speedKph }} km/h
{{ selected.dsmAlarm.altitude }} m
{{ selected.dsmAlarm.lat?.toFixed(6) }}, {{ selected.dsmAlarm.lon?.toFixed(6) }}
{{ selected.dsmAlarm.time }}
{{ selected.dsmAlarm.alarmIdHex }}
盲区监测 BSD (0x67,表 3.5.11)
{{ bsdTypeName(selected.bsdAlarm.alarmType) }}
{{ selected.bsdAlarm.alarmId }}
{{ selected.bsdAlarm.speedKph }} km/h
{{ selected.bsdAlarm.altitude }} m
{{ selected.bsdAlarm.lat?.toFixed(6) }}, {{ selected.bsdAlarm.lon?.toFixed(6) }}
{{ selected.bsdAlarm.time }}
{{ selected.bsdAlarm.alarmIdHex }}
激烈驾驶报警 (0x70,表 3.5.14)
{{ aggTypeName(selected.aggressiveAlarmDetail.alarmType) }}
{{ selected.aggressiveAlarmDetail.thresholdSec }} 秒
{{ selected.aggressiveAlarmDetail.alarmId }}
{{ selected.aggressiveAlarmDetail.speedKph }} km/h
{{ selected.aggressiveAlarmDetail.altitude }} m
{{ selected.aggressiveAlarmDetail.lat?.toFixed(6) }}, {{ selected.aggressiveAlarmDetail.lon?.toFixed(6) }}
{{ selected.aggressiveAlarmDetail.time }}
{{ selected.aggressiveAlarmDetail.alarmIdHex }}
温湿度 (0xE4)
{{ selected.tempHumidity['t' + i] }} ℃ · {{ selected.tempHumidity['h' + i] }} %RH
MDVR 状态 (0xEF,表 3.5.13)
{{ mdvrNetName(selected.mdvrStatus.networkType) }}
CAN 总线数据 (0x0705,JT/T 808 推断格式)
{{ selected.canBusReport.time || '—' }}
{{ selected.canBusReport.frames?.length || 0 }} / 声明 {{ selected.canBusReport.declaredCount }}
批量位置补报(0x0704)
{{ selected.batchCount || 0 }} 条
{{ selected.batchType === 1 ? '盲区补报' : (selected.batchCount ? '正常批量' : '—') }}
{{ fmtTime(selected.lastBatchAt) || '—' }}
{{ selected.supplementaryTotal || 0 }} 条
其他附加项(未专门解析,原样 HEX)
{{ v }}
命令字 {{ a.cmdWord }}
{{ a.label }}
标志位预览:{{ textFlagHex }}({{ textEmergency ? '紧急 ' : '' }}{{ textTts ? 'TTS播读' : '仅显示' }})
· 文本类型:0x01 通知
录像日期(高亮=有录像,点击检索当天)
{{ data.day.slice(-2) }}
通道
检索录像
最近检索:{{ videoQueryAt || '—' }}
检索结果(0x1205,{{ videoResources.length }} 条)
上传任务(0x9206 → 0x1206)
已接收文件(内嵌 FTP)
码流服务器 {{ pvInfo.host || '—' }}:{{ pvInfo.port || '—' }}
CH{{ cell.channel }}
预览
暂停
恢复
停止
未开始预览 · 点击「预览」下发 0x9101
{{ cell.stats.state || 'IDLE' }} · CH{{ cell.channel }}
{{ cell.stats.fps || 0 }} fps
{{ cell.stats.kbps || 0 }} kbps
{{ cell.stats.frames || 0 }} / {{ cell.stats.audioFrames || 0 }}
{{ cell.stats.durationSec || 0 }} s
说明
通道
未开始回放 · 选择时间区间后点击「开始回放」下发 0x9201
{{ pbStats.state || 'IDLE' }} · CH{{ pb.channel }}
{{ pbStateText }}
{{ pbStats.mode === 'PLAYBACK' ? pbStats.playStart : pb.start }}
{{ pbStats.mode === 'PLAYBACK' ? pbStats.playEnd : pb.end }}
{{ pbStats.codec || '—' }} · {{ pb.streamType === 0 ? '主码流' : '子码流' }}
{{ pbStats.fps || 0 }} fps · {{ pbStats.kbps || 0 }} kbps
{{ pbStats.frames || 0 }} / {{ pbStats.audioFrames || 0 }}
{{ pbStats.packets || 0 }} · {{ fmtBytes(pbStats.bytes) }}
{{ pbMode === 'jpeg' ? 'Canvas(JPEG 透传)' : 'MSE(H.264)' }}
说明
驾驶员身份信息(0x0702)
{{ mm.driver.statusName }}
{{ mm.driver.time || '—' }}
{{ mm.driver.readResult === 0 ? '成功' : '失败(' + mm.driver.readResult + ')' }}
{{ mm.driver.name || '—' }}
{{ mm.driver.license || '—' }}
{{ mm.driver.issuer || '—' }}
{{ mm.driver.validUntil || '—' }}
{{ mm.driver.idCard || '—' }}
{{ mm.driver.receivedAt }}
尚未收到驾驶员身份信息,模拟器每 60 秒上报一次 0x0702
数据透传(0x0900)
多媒体事件与图片(0x0800 / 0x0801)
多媒体事件(0x0800) 共 {{ mm.events.length }} 条
多媒体图片(0x0801) 共 {{ mm.frames.length }} 条
报警附件上传(0x9208 → 附件服务器)
已接收附件文件
乘客流量(0x1005 · 表 3.18 补充格式)
客流数据(0x0D03)
驾驶员人脸识别(0x0E10 / 0x8E10)
下发内容
{{ row.payload }}
设备应答({{ row.replyMsg }})
{{ pretty(row.replyPayload) }}
选中资源:CH{{ pendingResource.channel }} ·
{{ pendingResource.startTime }} ~ {{ pendingResource.endTime }} ·
{{ pendingResource.resourceTypeName }} / {{ pendingResource.streamTypeName }}
🛰️
请从左侧选择一台设备开始操作
选择一种界面风格,确认保存后立即生效,并记住您的选择(刷新页面不会丢失)。
{{ t.label }}
当前
{{ t.desc }}