#!/usr/bin/env bash # # Быстрый запуск TEST сервисов в tmux # Не требует установки systemd сервисов # set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" VENV_PATH="${SCRIPT_DIR}/.venv" PYTHON="${VENV_PATH}/bin/python3" # Проверка venv if [ ! -f "$PYTHON" ]; then echo "❌ Виртуальное окружение не найдено: $VENV_PATH" echo "💡 Запустите: cd ${SCRIPT_DIR} && ./setup_dev.sh" exit 1 fi echo "🚀 Запуск TEST сервисов в tmux..." echo "==================================" echo "" # Проверка tmux if ! command -v tmux &> /dev/null; then echo "❌ tmux не найден!" echo "💡 Установите: sudo apt-get install tmux" exit 1 fi # Очистка старой сессии если существует tmux kill-session -t satellite-test 2>/dev/null || true # Создание новой сессии echo "📡 Создание сессии 'satellite-test'..." # Окно 1: Wake Word (порт 10401) tmux new-session -d -s satellite-test -n "wakeword" \ "cd ${SCRIPT_DIR} && source ${VENV_PATH}/bin/activate && \ python3 local/vosk-wake-dev/script/run \ --uri tcp://0.0.0.0:10401 \ --model-path /home/${USER}/projects/models/vosk-model-small-ru-0.22 \ --rate 16000 \ --wake-word 'привет дройд'" echo " ✅ Wake Word запущен (порт 10401)" # Окно 2: Event Service (порт 10501) tmux split-window -t satellite-test:0 -h \ "cd ${SCRIPT_DIR}/examples && source ${VENV_PATH}/bin/activate && \ python3 wyoming-led.py --host 127.0.0.1 --port 10501" echo " ✅ Event Service запущен (порт 10501)" # Окно 3: Satellite (порт 10701 + WebSocket) tmux new-window -t satellite-test -n "satellite" \ "cd ${SCRIPT_DIR} && source ${VENV_PATH}/bin/activate && \ python3 -m wyoming_satellite \ --uri tcp://0.0.0.0:10701 \ --name 'Wyoming Satellite Test' \ --mic-command 'arecord -D plughw:CARD=Array,DEV=0 -q -r 16000 -c 1 -f S16_LE -t raw' \ --snd-command 'aplay -D plughw:CARD=Array,DEV=0 -q -r 22050 -c 1 -f S16_LE -t raw' \ --event-uri tcp://127.0.0.1:10501 \ --websocket-enabled \ --websocket-port 8675 \ --audio-level-enabled \ --audio-level-interval-ms 100 \ --debug" echo " ✅ Satellite запущен (порт 10701 + WebSocket :8675)" # Возврат к первому окну tmux select-window -t satellite-test:0 echo "" echo "✅ Запуск завершён!" echo "" echo "📋 Сессия tmux: 'satellite-test'" echo "" echo " Окна:" echo " 0: Wake Word (порт 10401)" echo " 1: Event (порт 10501)" echo " 2: Satellite (порт 10701 + WebSocket :8675)" echo "" echo "🎮 Управление tmux:" echo " tmux attach -t satellite-test # Подключиться" echo " tmux kill-session -t satellite-test # Остановить" echo "" echo "🌐 WebSocket:" echo " ws://127.0.0.1:8675" echo "" echo "💡 Пример подключения:" echo " source ${VENV_PATH}/bin/activate" echo " python3 examples/websocket-service/test_client.py --uri ws://127.0.0.1:8675" echo ""