1429442dbd
- 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>
48 lines
1.5 KiB
Bash
Executable File
48 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# ============================================================
|
|
# dev_start.sh - 本地开发环境启动(不启动 ROS2/机械臂硬件)
|
|
# 用法: ./scripts/dev_start.sh
|
|
# ============================================================
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
AGV_APP_DIR="$PROJECT_DIR/agv_app"
|
|
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}"
|
|
FLASK_PORT="${FLASK_PORT:-5000}"
|
|
|
|
echo "=========================================="
|
|
echo " 本地开发模式 - 仅启动 Flask"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# 切换到项目目录
|
|
source "$ROS_SETUP" 2>/dev/null || true
|
|
source "$ROS_WORKSPACE_SETUP" 2>/dev/null || true
|
|
|
|
cd "$AGV_APP_DIR"
|
|
|
|
# 检查是否有运行的 Flask 进程
|
|
FLASK_PID=$(pgrep -f "python.*app.py" 2>/dev/null || true)
|
|
if [ -n "$FLASK_PID" ]; then
|
|
echo "Flask 已在运行 (PID: $FLASK_PID)"
|
|
read -p "是否重启? [y/N] " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
kill "$FLASK_PID" 2>/dev/null
|
|
sleep 1
|
|
else
|
|
echo "保持现有进程,退出"
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
# 使用前台模式运行(方便看日志和 Ctrl+C 停止)
|
|
echo "启动 Flask (前台模式,Ctrl+C 停止)..."
|
|
echo "访问: http://127.0.0.1:$FLASK_PORT"
|
|
echo ""
|
|
exec uv run --locked python app.py
|