feat: добавить TEST сервисы для разработки
- services/test/*.service — 3 test сервиса (порты +1) - install_test_services.sh — установка test сервисов - services/test/start_test.sh — быстрый запуск в tmux - docs/deployment/systemd-services.md — документация TEST сервисы: - wyoming-satelite-vosk-test.service :10701 + WebSocket :8675 - wyoming-wakeword-vosk-test.service :10401 - wyoming-event-test.service :10501 Использование: 1. sudo ./install_test_services.sh — установка 2. sudo systemctl start wyoming-*-test.service — запуск 3. ./services/test/start_test.sh — запуск в tmux Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Executable
+95
@@ -0,0 +1,95 @@
|
||||
#!/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 ""
|
||||
Reference in New Issue
Block a user