44 lines
1.3 KiB
Bash
Executable File
44 lines
1.3 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/elephant/agv_pro_ros2}"
|
|
|
|
echo "=========================================="
|
|
echo " 本地开发模式 - 仅启动 Flask"
|
|
echo "=========================================="
|
|
echo ""
|
|
|
|
# 切换到项目目录
|
|
source /opt/ros/humble/setup.bash 2>/dev/null || true
|
|
source "$AGV_ROS2_DIR/install/setup.bash" 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:5000"
|
|
echo ""
|
|
exec uv run --locked python app.py
|