35 lines
1.8 KiB
Bash
Executable File
35 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
# 无线主控一键 bootstrap:安装 SDK 监视器 + 生成手机 config +(有 ADB 时)OTA 推 Termux
|
||
# 用法: bash sdk/scripts/wireless_autoconnect_bootstrap.sh
|
||
set -euo pipefail
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
SDK_ROOT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
||
DEVICE_ID="${DEVICE_ID:-xgfe65eimrrofyws}"
|
||
EVID="${SDK_ROOT}/../开发文档/8、部署/05-测试验收/$(date +%Y%m%d)_无线主控bootstrap"
|
||
|
||
mkdir -p "$EVID"
|
||
echo "== 1/4 安装 Mac SDK 监视器(无 USB) =="
|
||
bash "${SCRIPT_DIR}/install_sdk_watcher_launchagent.sh"
|
||
bash "${SCRIPT_DIR}/sdk_connection_watcher.sh" --once | tee -a "${EVID}/watcher_once.log"
|
||
|
||
echo "== 2/4 生成手机 Agent config(NAS→Docker→frp) =="
|
||
python3 "${SCRIPT_DIR}/build_agent_config.py" --device-id "${DEVICE_ID}" --for-phone --out "${EVID}/agent_config.json"
|
||
cp "${EVID}/agent_config.json" "${SDK_ROOT}/config/agent_config_${DEVICE_ID}.json"
|
||
|
||
echo "== 3/4 OTA 推手机(需 ADB 一次,之后可无 USB) =="
|
||
serial=$(adb devices 2>/dev/null | awk '/\tdevice$/{print $1; exit}')
|
||
if [[ -n "$serial" ]]; then
|
||
DEVICE_SERIAL="$serial" DEVICE_ID="$DEVICE_ID" \
|
||
bash "${SCRIPT_DIR}/termux_push_and_start_agent.sh" | tee -a "${EVID}/termux_push.log"
|
||
else
|
||
echo "SKIP OTA: 无 ADB。请手机 Termux 手动复制 ${EVID}/agent_config.json → ~/workphone/agent/config.json 后运行 start_agent.sh"
|
||
fi
|
||
|
||
echo "== 4/4 验收 =="
|
||
source "${SDK_ROOT}/config/active_sdk.env" 2>/dev/null || true
|
||
echo "WORKPHONE_SDK_URL=${WORKPHONE_SDK_URL:-unset}"
|
||
curl -sf --max-time 5 "${WORKPHONE_SDK_URL:-http://127.0.0.1:8899}/api/v3/connection/status" | \
|
||
python3 -c "import sys,json;d=json.load(sys.stdin)['data'];print('ws',d.get('online_ws_count'),'ids',d.get('online_device_ids'))"
|
||
echo "证据目录: ${EVID}"
|