裝置管理
管理裝置、配對狀態與遠端維護設定。
{{ selectedDevice.device_name || '未命名裝置' }} {{ selectedDevice.edge_version }}
{{ getStatusText(selectedDevice.status) }} ⏳ 等待重新簽發 — 按下方「重新簽發 Token」即可復原{{ selectedDevice.device_id }}
{{ selectedDevice.hardware_id }}
{{ selectedDevice.owner_tenant_id || '-' }}
{{ formatTime(selectedDevice.last_seen_at) }}
主機健康 {{ healthText(deviceHealth(selectedDevice).level) }} {{ formatTime(selectedDevice.system_metrics_at) }}
此裝置尚未回報主機指標(需 Edge 0.3.14 以上)。
- {{ r }}
{{ platformText(selectedDevice.system_metrics.platform) }}
{{ selectedDevice.system_metrics.model || '-' }}
{{ selectedDevice.system_metrics.os || '-' }}
{{ selectedDevice.system_metrics.kernel || '-' }}
{{ fmtNum(selectedDevice.system_metrics.cpu_percent, 1, '%') }} load {{ fmtNum(selectedDevice.system_metrics.load_1m, 2) }} / {{ fmtNum(selectedDevice.system_metrics.load_5m, 2) }} / {{ fmtNum(selectedDevice.system_metrics.load_15m, 2) }}({{ selectedDevice.system_metrics.cpu_count || '?' }} 核)
{{ selectedDevice.system_metrics.cpu_freq_mhz }} MHz
CPU {{ fmtNum(selectedDevice.system_metrics.cpu_temp_c, 1, '°C') }}
GPU {{ fmtNum(selectedDevice.system_metrics.gpu.temp_c, 0, '°C') }}・{{ fmtNum(selectedDevice.system_metrics.gpu.util_percent, 0, '%') }}・{{ selectedDevice.system_metrics.gpu.mem_used_mb }}/{{ selectedDevice.system_metrics.gpu.mem_total_mb }} MB
可用 {{ selectedDevice.system_metrics.mem_available_mb ?? '-' }} / {{ selectedDevice.system_metrics.mem_total_mb ?? '-' }} MB
swap {{ selectedDevice.system_metrics.swap_used_mb }}/{{ selectedDevice.system_metrics.swap_total_mb }} MB
{{ d.mount }} {{ d.used_percent }}% (剩 {{ Math.round(d.free_mb / 1024) }} GB)
現在:{{ selectedDevice.system_metrics.throttled.under_voltage_now ? '低電壓 ' : '' }}{{ selectedDevice.system_metrics.throttled.throttled_now ? '降頻 ' : '' }}{{ selectedDevice.system_metrics.throttled.freq_capped_now ? '頻率上限 ' : '' }}{{ selectedDevice.system_metrics.throttled.soft_temp_limit_now ? '溫度限制 ' : '' }}{{ (!selectedDevice.system_metrics.throttled.under_voltage_now && !selectedDevice.system_metrics.throttled.throttled_now && !selectedDevice.system_metrics.throttled.freq_capped_now && !selectedDevice.system_metrics.throttled.soft_temp_limit_now) ? '正常' : '' }}
開機後:{{ selectedDevice.system_metrics.throttled.under_voltage_occurred ? '曾低電壓 ' : '' }}{{ selectedDevice.system_metrics.throttled.throttled_occurred ? '曾降頻 ' : '' }}{{ selectedDevice.system_metrics.throttled.soft_temp_limit_occurred ? '曾溫度限制 ' : '' }}{{ (!selectedDevice.system_metrics.throttled.under_voltage_occurred && !selectedDevice.system_metrics.throttled.throttled_occurred && !selectedDevice.system_metrics.throttled.soft_temp_limit_occurred) ? '無事件' : '' }} {{ selectedDevice.system_metrics.throttled.raw }}
非樹莓派
{{ selectedDevice.system_metrics.wifi.ssid || selectedDevice.system_metrics.wifi.interface }}
{{ wifiQuality(selectedDevice.system_metrics.wifi.rssi_dbm).bars }} 訊號{{ wifiQuality(selectedDevice.system_metrics.wifi.rssi_dbm).text }} ({{ selectedDevice.system_metrics.wifi.rssi_dbm }} dBm )
未連線 / 無線網卡
{{ e.interface }} 已連線 {{ e.speed_mbps ? e.speed_mbps + 'M' : '' }} {{ e.duplex === 'full' ? '全雙工' : (e.duplex === 'half' ? '半雙工' : '') }} 跳動 {{ e.carrier_changes_delta }} 次 錯誤 +{{ e.errors_delta }} 丟棄 +{{ e.dropped_delta ?? e.errors_delta }} EEE 作用中 EEE 未作用 未接線
無資料(需 Edge 0.3.15)
{{ fmtUptime(selectedDevice.system_metrics.host_uptime_s) }}
{{ formatTime(selectedDevice.system_metrics.boot_time) }}
{{ k }} {{ v }}
心跳資訊
顯示各介面 ({{ selectedDevice.network_traffic.interfaces.length }})
OTA 更新
遠端 SSH 通道 排查維護用,開啟後自動過期,平常保持關閉
{{ sshTunnel.connect_hint }}
port 只綁 53.19 的 loopback,須經跳板進入;進去後可用 ssh -D / -L 存取該站點內網
推流管理
設備尚未指派 Tenant,無法新增推流尚未設定推流
| 狀態 | 名稱 | 推流路徑 | 來源 | 錄影 | 啟用 | 操作 |
|---|---|---|---|---|---|---|
| {{ getStreamStatusIcon(effStreamStatus(stream)) }} | {{ stream.stream_name }} | {{ stream.stream_path }} | {{ stream.source_url }} |
| 狀態 | 裝置名稱 | 備註 | 類別 | 版本 | 硬體 ID | 推流 | 最後上線 | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{ getStatusText(device.status) }} 已預建 {{ healthText(deviceHealth(device).level) }} ⏳ 等待重新簽發 | {{ device.device_name || '-' }} | {{ device.notes || '-' }} | 轉碼推流 AI 辨識 協定閘道 穿透 | {{ device.edge_version || '-' }} | {{ truncate(device.hardware_id, 16) }} | {{ device.streams.active }}/{{ device.streams.total }} - | {{ formatTime(device.last_seen_at) }} |
沒有符合條件的裝置
裝置配對
掃描 QR Code 或輸入裝置資訊,完成註冊與綁定。
掃描 QR Code 綁定裝置
使用相機掃描裝置上的 QR Code,或手動輸入 Hardware ID 與 Claim Secret 來綁定裝置。
{{ qrScanError }}
ECDSA P-256 壓縮公鑰,QR Code 中的 pk 參數
掃描成功
Hardware ID: {{ qrScanResult.hardware_id }}
Claim Secret: {{ truncate(qrScanResult.claim_secret, 16) }}...
Public Key: {{ truncate(qrScanResult.public_key, 20) }}...
串流監控
檢視串流狀態、即時影像與連線資訊。
{{ effStreamStatus(stream) === 'disabled' ? getStreamStatusText('disabled') : (stream.error_message || getStreamStatusText(stream.status)) }}
沒有符合條件的串流
RTSP 工具
驗證攝影機來源與串流連線設定。
RTSP 連線測試工具
測試 RTSP 來源是否可連線,驗證攝影機設定是否正確。
{{ rtspTestResult.success ? '連線成功' : '連線失敗' }}
{{ rtspTestResult.message }}
解析度: {{ rtspTestResult.info.resolution }}
編碼: {{ rtspTestResult.info.codec }}
幀率: {{ rtspTestResult.info.fps }} fps
{{ rtspTestResult.error }}
健康監控儀表板
串流健康狀態
| 狀態 | 串流 | 問題 | 操作 |
|---|---|---|---|
| {{ getHealthStatusText(health.status) }} |
{{ health.stream_name || '未命名' }}
{{ health.stream_path }}
|
{{ health.issues ? health.issues.join(', ') : '-' }} |
沒有符合條件的串流
最近事件
沒有最近事件
{{ event.message }}
調度器狀態
磁碟使用
錄影統計
錄影列表
| 串流 | 檔案 | 大小 | 開始時間 | 過期時間 | 操作 |
|---|---|---|---|---|---|
| {{ rec.stream_id }} |
{{ getFileName(rec.file_path) }}
|
{{ formatBytes(rec.file_size) }} | {{ formatDateTime(rec.start_time) }} | {{ formatDateTime(rec.expires_at) }} |
沒有錄影檔案
深度探測結果
正在探測串流...
- {{ issue }}
告警管理
沒有告警
節點管理
{{ node.name }}
{{ node.is_active ? '活躍' : '停用' }}尚未新增任何節點
點擊「新增節點」來添加 MediaMTX 節點
觀看者監控 共 {{ viewerCount }} 人觀看
目前沒有人在觀看
當有 VLC、WebRTC 或 HLS 觀看者時會顯示在這裡
RTSP 連線
{{ rtspSessionCount }}
WebRTC 連線
{{ webrtcSessionCount }}
活躍路徑
{{ activePathCount }}
版本管理
各版本裝置分佈
| 版本 | 架構 | 說明 | 上架時間 | 使用中 |
|---|---|---|---|---|
| {{ g.version }} | {{ copiedSha === a.sha256 ? '已複製 SHA' : a.arch }} | {{ g.notes }} (無說明) | {{ formatTime(g.created_at) }} | {{ deviceVersions[g.version] || 0 }} 台 |
| 尚未上架任何版本(發佈流程見 docs/ota-update.md) | ||||
上架新版本:make release-arm64 編譯簽章 → docker cp 進 device-service 的 /var/lib/rai/releases/ → POST /api/v1/admin/releases 登錄(含 notes 說明)→ 到裝置詳情指派