#!/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