gf_ai_box/tools/device/deploy.sh

69 lines
3.2 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# deploy.sh — 部署新編譯的 firmware 到裝置並重啟 RTSP demo
#
# 使用方式(在裝置上執行):
# sh deploy.sh
#
# 前提host 192.168.3.1:8080 在提供以下檔案:
# /kp_firmware_host_stream (compile.sh 的輸出)
# /host_stream.ini (kl630_build/ini/host_stream.ini)
#
# 一次性設定(只需在新機器上執行一次,之後重開機不需要再跑):
# sh deploy.sh --setup
set -e
HOST_URL="http://192.168.0.114:8080"
BIN_DIR=/mnt/flash/plus/kp_firmware/kp_firmware_0/kp_firmware/bin
FW=/mnt/flash/vienna/kp_firmware_host_stream
INI=$BIN_DIR/ini/host_stream.ini
# ── 一次性 ISP 資源修正 ─────────────────────────────────────────────────────
# IMX662 DOL-HDR 需要 dwStatisticsSrcType=2 和 bGTREnable=1。
# 這些寫入 flash重開機後自動保留只需要執行一次。
one_time_setup() {
echo "=== 一次性 ISP resource 設定 ==="
sed -i 's/dwStatisticsSrcType = 0/dwStatisticsSrcType = 2/' \
$BIN_DIR/Resource/AWB/AutoWhiteBalance.ini
sed -i 's/bGTREnable = 0/bGTREnable = 1/' \
$BIN_DIR/Resource/ISP/0/pqtable_ispe_Config.cfg
sed -i 's/bGTREnable = 0/bGTREnable = 1/' \
$BIN_DIR/Resource/ISP/1/pqtable_ispe_Config.cfg
echo " dwStatisticsSrcType=$(grep dwStatisticsSrcType $BIN_DIR/Resource/AWB/AutoWhiteBalance.ini | head -1)"
echo " bGTREnable=$(grep bGTREnable $BIN_DIR/Resource/ISP/0/pqtable_ispe_Config.cfg)"
echo "=== 完成,之後重開機不需要再執行 ==="
}
if [ "$1" = "--setup" ]; then
one_time_setup
exit 0
fi
# ── 停止舊的 firmware ─────────────────────────────────────────────────────────
echo "=== 停止舊 firmware ==="
killall -9 kp_firmware_host_stream 2>/dev/null || true
killall -9 rtsps 2>/dev/null || true
sleep 1
rm -f /dev/shm/*
# ── 下載新 binary ─────────────────────────────────────────────────────────────
echo "=== 下載 firmware binary ==="
wget -q "$HOST_URL/kp_firmware_host_stream" -O $FW
chmod +x $FW
echo " $FW: $(ls -lh $FW | awk '{print $5, $6, $7, $8}')"
# ── 下載新 INI保留裝置端的 fusion_cfg / ISP 設定)─────────────────────────
echo "=== 下載 INI ==="
wget -q "$HOST_URL/host_stream.ini" -O $INI
echo " fusion_cfg: $(grep '^fusion_cfg' $INI || echo '(not set!)')"
# ── 下載 demo_rtsp.sh確保裝置上版本與 host 一致)────────────────────────────
echo "=== 下載 demo_rtsp.sh ==="
wget -q "$HOST_URL/demo_rtsp.sh" -O $BIN_DIR/ini/demo_rtsp.sh
chmod +x $BIN_DIR/ini/demo_rtsp.sh
# ── 啟動 RTSP demo ────────────────────────────────────────────────────────────
echo "=== 啟動 RTSP demo ==="
cd $BIN_DIR
sh ./ini/demo_rtsp.sh