Rename customs-tablet-frontend to public-frontend and add new features
- Rename customs-tablet-frontend/ to public-frontend/ for broader scope - Add new pages: customs, inspection with camera integration - Add new services: apiClient.ts, backendApi.ts, normalizers.ts - Add CameraFrame component for real-time video streaming - Add scan_fixer module with clock_publisher and timestamp fix utilities - Update startup scripts to support new frontend structure - Update arm_server configuration and service files Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+20
-10
@@ -6,12 +6,22 @@
|
||||
# ============================================================
|
||||
set -e
|
||||
|
||||
AGV_PROJECT_DIR="${AGV_PROJECT_DIR:-/home/elephant/work/smart-inspection}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
AGV_PROJECT_DIR="${AGV_PROJECT_DIR:-$PROJECT_DIR}"
|
||||
AGV_APP_DIR="${AGV_APP_DIR:-$AGV_PROJECT_DIR/agv_app}"
|
||||
AGV_ROS2_DIR="${AGV_ROS2_DIR:-/home/elephant/agv_pro_ros2}"
|
||||
AGV_ROS2_DIR="${AGV_ROS2_DIR:-$HOME/agv_pro_ros2}"
|
||||
ROS_DISTRO="${ROS_DISTRO:-humble}"
|
||||
ROS_SETUP="${ROS_SETUP:-/opt/ros/$ROS_DISTRO/setup.bash}"
|
||||
ROS_WORKSPACE_SETUP="${ROS_WORKSPACE_SETUP:-$AGV_ROS2_DIR/install/setup.bash}"
|
||||
LOG_DIR="${LOG_DIR:-/tmp}"
|
||||
FLASK_PORT="${FLASK_PORT:-5000}"
|
||||
FLASK_LOG="$LOG_DIR/agv_flask.log"
|
||||
|
||||
source /opt/ros/humble/setup.bash 2>/dev/null || true
|
||||
source "$AGV_ROS2_DIR/install/setup.bash" 2>/dev/null || true
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
source "$ROS_SETUP" 2>/dev/null || true
|
||||
source "$ROS_WORKSPACE_SETUP" 2>/dev/null || true
|
||||
|
||||
cd "$AGV_APP_DIR"
|
||||
|
||||
@@ -37,25 +47,25 @@ find "$AGV_APP_DIR" -name '__pycache__' -type d -exec rm -rf {} + 2>/dev/null
|
||||
pkill -f "python.*app.py" 2>/dev/null || true
|
||||
pkill -f "uv run .*python app.py" 2>/dev/null || true
|
||||
sleep 1
|
||||
nohup uv run --locked python app.py > /tmp/agv_flask.log 2>&1 &
|
||||
nohup uv run --locked python app.py > "$FLASK_LOG" 2>&1 &
|
||||
FLASK_PID=$!
|
||||
echo " Flask PID: $FLASK_PID"
|
||||
|
||||
# 3. 验证
|
||||
echo "[3/3] 验证服务..."
|
||||
sleep 3
|
||||
if ss -tlnp 2>/dev/null | grep -q 5000 || netstat -tlnp 2>/dev/null | grep -q 5000; then
|
||||
echo " ✅ 端口 5000 正常监听"
|
||||
if ss -tlnp 2>/dev/null | grep -q ":$FLASK_PORT " || netstat -tlnp 2>/dev/null | grep -q ":$FLASK_PORT "; then
|
||||
echo " ✅ 端口 $FLASK_PORT 正常监听"
|
||||
# 测试机械臂摄像头单帧
|
||||
result=$(curl -s --max-time 5 http://127.0.0.1:5000/api/camera/arm_refresh 2>/dev/null | head -c 4)
|
||||
result=$(curl -s --max-time 5 "http://127.0.0.1:$FLASK_PORT/api/camera/arm_refresh" 2>/dev/null | head -c 4)
|
||||
if [ "$result" = "$(echo -en '\xff\xd8\xff\xe0')" ]; then
|
||||
echo " ✅ arm_refresh 返回 JPEG"
|
||||
else
|
||||
echo " ⚠️ arm_refresh 返回异常(机械臂可能未连接)"
|
||||
fi
|
||||
else
|
||||
echo " ❌ 端口 5000 未监听,查看日志:"
|
||||
tail -10 /tmp/agv_flask.log
|
||||
echo " ❌ 端口 $FLASK_PORT 未监听,查看日志:"
|
||||
tail -10 "$FLASK_LOG"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user