Files
Traffic-Intersection-Monito…/qt_app_pyside1/services/scripts/start_services.bat
2025-08-26 13:24:53 -07:00

115 lines
4.1 KiB
Batchfile

@echo off
REM Smart Intersection Services Startup Script
REM Starts all required services for hybrid desktop + services architecture
echo ===============================================
echo Smart Intersection Services Startup
echo ===============================================
REM Check if Docker is available
docker --version >nul 2>&1
if %errorlevel% equ 0 (
echo ✅ Docker is available - starting services via Docker Compose
cd /d "%~dp0..\docker"
docker-compose up -d
echo.
echo Services starting in Docker containers:
echo - MQTT Broker: localhost:1883
echo - InfluxDB: localhost:8086
echo - Grafana: localhost:3000
echo.
echo Wait 30 seconds for services to initialize...
timeout /t 30 /nobreak
echo.
echo ✅ Services should now be ready!
echo 🌐 Open Grafana: http://localhost:3000 (admin/admin)
echo 📊 InfluxDB UI: http://localhost:8086
goto :end
)
echo ⚠️ Docker not found - attempting standalone service startup
echo.
REM Start Mosquitto MQTT Broker
echo Starting Mosquitto MQTT Broker...
if exist "C:\Program Files\mosquitto\mosquitto.exe" (
start "Mosquitto MQTT" "C:\Program Files\mosquitto\mosquitto.exe" -c "%~dp0..\mqtt\mosquitto.conf"
echo ✅ Mosquitto MQTT started on port 1883
) else (
echo ❌ Mosquitto not found at C:\Program Files\mosquitto\
echo Please install Mosquitto from: https://mosquitto.org/download/
)
REM Start InfluxDB
echo Starting InfluxDB...
REM Use extracted InfluxDB in downloads folder
if exist "C:\Users\devcloud\Desktop\Qt\clean-final-push\qt_app_pyside1\services\services\downloads\influxdb2-2.7.11-windows\influxd.exe" (
start "InfluxDB" "C:\Users\devcloud\Desktop\Qt\clean-final-push\qt_app_pyside1\services\services\downloads\influxdb2-2.7.11-windows\influxd.exe"
echo ✅ InfluxDB started on port 8086
) else (
echo ❌ InfluxDB not found in downloads folder
echo Please extract InfluxDB to: C:\Users\devcloud\Desktop\Qt\clean-final-push\qt_app_pyside1\services\services\downloads\influxdb2-2.7.11-windows\
)
REM Start Grafana
echo Starting Grafana...
REM Use extracted Grafana in downloads folder
if exist "C:\Users\devcloud\Desktop\Qt\clean-final-push\qt_app_pyside1\services\services\downloads\grafana-10.2.2.windows-amd64\grafana-v10.2.2\bin\grafana-server.exe" (
start "Grafana" "C:\Users\devcloud\Desktop\Qt\clean-final-push\qt_app_pyside1\services\services\downloads\grafana-10.2.2.windows-amd64\grafana-v10.2.2\bin\grafana-server.exe" --homepath="C:\Users\devcloud\Desktop\Qt\clean-final-push\qt_app_pyside1\services\services\downloads\grafana-10.2.2.windows-amd64\grafana-v10.2.2"
echo ✅ Grafana started on port 3000
) else (
echo ❌ Grafana not found in downloads folder
echo Please extract Grafana to: C:\Users\devcloud\Desktop\Qt\clean-final-push\qt_app_pyside1\services\services\downloads\grafana-10.2.2.windows-amd64\grafana-v10.2.2\
)
echo.
echo ⏳ Waiting 15 seconds for services to initialize...
timeout /t 15 /nobreak
echo.
echo ===============================================
echo Service Status Check
echo ===============================================
REM Check service ports
echo Checking MQTT Broker (port 1883)...
netstat -an | findstr :1883 >nul
if %errorlevel% equ 0 (
echo ✅ MQTT Broker is listening on port 1883
) else (
echo ❌ MQTT Broker not responding on port 1883
)
echo Checking InfluxDB (port 8086)...
netstat -an | findstr :8086 >nul
if %errorlevel% equ 0 (
echo ✅ InfluxDB is listening on port 8086
) else (
echo ❌ InfluxDB not responding on port 8086
)
echo Checking Grafana (port 3000)...
netstat -an | findstr :3000 >nul
if %errorlevel% equ 0 (
echo ✅ Grafana is listening on port 3000
) else (
echo ❌ Grafana not responding on port 3000
)
:end
echo.
echo ===============================================
echo Services Started Successfully!
echo ===============================================
echo.
echo Access Points:
echo 🌐 Grafana Dashboard: http://localhost:3000 (admin/admin)
echo 📊 InfluxDB UI: http://localhost:8086
echo 📡 MQTT Broker: localhost:1883
echo.
echo You can now start the Smart Intersection Desktop App!
echo.
pause