页面加载中…

HC 人体检测 · 雷达监控

{{ wsConnected ? 'WebSocket 已连接' : 'WebSocket 断开' }}
等待设备上报 status…

雷达 · {{ selectedDevId }}

Shift+单击标题,或三击右上角 FPS 行 · 当前 {{ (effectiveMaxRangeMm / 1000).toFixed(2) }} m({{ rangeSourceText }})
设备已上报 max_range_mm,本地设置暂不生效
mm 或 m
{{ presenceLabel(devPresenceState(currentDevice)) }}
{{ devRangeText(currentDevice) }}{{ devAzimuthText(currentDevice) }}
FPS {{ fmtVal(currentDevice.radar_fps) }} · {{ fmtVal(currentDevice.ip) }}

人体存在时间线

暂无检测记录
{{ hoverTip.time }}
{{ hoverTip.state }} · {{ hoverTip.range }}
预览
有图,加载中…

抓拍照片

{{ photosWithImages.length }} 张
暂无照片(检测到大动作或手动抓拍后显示)

音频管理 · {{ selectedDevId }}

支持 MP3/WAV 等,服务端自动转 16kHz mono WAV,单文件 ≤256KB,文件名仅 [A-Za-z0-9_-.] 且以 .wav 结尾
{{ ttsStatus.message }}
{{ ttsStatus.message }}
{{ ttsStatus.message }}
留空文件名时自动取文本前 N 字(可设长度);支持中文名,下发设备若失败请先重命名为英文
网页试听 · {{ audioPreviewName }}

云端音频库

{{ audioCatalog.length }} 个
文件名 大小 时长 操作
{{ f.name }} {{ formatAudioSize(f.size) }} {{ formatDuration(f.duration_ms) }}
云端暂无音频,请先上传

设备 Flash

{{ deviceAudioFiles.length }} 个
文件名 大小 采样率 操作
{{ f.name }} {{ formatAudioSize(f.size) }} {{ f.rate ? f.rate + ' Hz' : '-' }}
{{ currentDevice && !currentDevice.online ? '设备离线' : '设备 Flash 暂无音频(请先下发)' }}

换电站 PLC · {{ selectedDevId }}

msg_id {{ plcSnapshot.msg_id || '-' }} · tick {{ plcSnapshot.tick_ms != null ? plcSnapshot.tick_ms : '-' }} · 更新 {{ formatTimeShort(plcSnapshot.created_at) }}
安全状态
{{ plcSafetyLabel(plcSnapshot.safety_state) }}
工作模式
{{ plcWorkModeLabel(plcSnapshot) }}
驱动状态
{{ plcDriverLabel(plcSnapshot.driver_state) }}
PLC 连接
{{ plcSnapshot.plc_ready ? '就绪' : '未就绪' }}
允许启动
{{ plcSnapshot.allow_start ? '是' : '否' }}
人员
{{ plcSnapshot.person ? '有人' : '无人' }}
堆垛机平移 堆垛机升降 货叉 motion={{ plcSnapshot.motion_flags != null ? plcSnapshot.motion_flags : '-' }}
时间 安全 模式 驱动 人员 运动
{{ formatTimeShort(e.created_at) }} {{ plcSafetyLabel(e.safety_state) }} {{ plcWorkModeLabel(e) }} {{ plcDriverLabel(e.driver_state) }} {{ e.person ? '有' : '无' }} {{ plcMotionShort(e) }}
暂无 PLC 上报(设备 Phase 1 开启后自动入库)
加载 PLC 数据…

语音包 · {{ selectedDevId }}

应有 {{ voicePackSummary.expected }} 条 · 下发成功 {{ voicePackSummary.deployed_ok }} · 待同步 {{ voicePackSummary.pending }} · 设备 Flash {{ deviceAudioFiles.length }} 个 · 文件名固定英文别名(boot_ok.wav 等) · 本地列表按下发记录推断(固件 ack 未带 JSON) · 同步中…
中文标题 device_name event 云端 下发状态 设备本地 操作
{{ a.title }} {{ a.device_name }} {{ a.event_key }} {{ a.size_kb ? a.size_kb + ' KB' : '-' }} {{ voiceDeployLabel(a.deploy_status) }} {{ voiceOnDeviceLabel(a.device_name) }}
加载语音包…

设备 Flash 音频列表

{{ deviceAudioFiles.length }} 个 · list_audio(推断)
文件名 大小 采样率 语音包
{{ f.name }} {{ formatAudioSize(f.size) }} {{ f.rate ? f.rate + ' Hz' : '-' }} {{ voicePackTitleForFile(f.name) }}
设备 Flash 暂无音频 · 点「刷新」查询本地列表