68e149638edc0efc85a107cddd833d4a60574f5d
SVXHomyak
Android-клиент для подключения к рефлекторам SVXLink (svxreflector) — слушайте и участвуйте в групповых переговорах (TG) прямо со смартфона.
Возможности
- Подключение к рефлектору SVXLink по протоколу v2 с авторизацией по AUTH_KEY
- Выбор группы вещания (TG) — по умолчанию 11
- Голосовая связь в формате Opus (8 кГц, моно) через UDP
- Кнопка PTT (Push-To-Talk) — удерживайте, чтобы говорить
- Индикаторы уровня передачи и приёма
- Отображение текущего говорящего
- Автоматическое переподключение при обрыве связи
- Позывной регистронезависимый:
ua1zbe-mавтоматически преобразуется вUA1ZBE-Mдля отправки на сервер
Требования
- Android 8.0 (API 26) и выше
- Доступ к сети и микрофону
- Рефлектор SVXLink с включённой поддержкой протокола v2 (AUTH_KEY)
Установка
Скачайте последний APK со страницы Releases и установите его на устройство (разрешите установку из неизвестных источников).
Использование
- Откройте Настройки (иконка шестерёнки).
- Укажите:
- Сервер — адрес рефлектора (хост или IP)
- Порт — по умолчанию
5300 - Позывной — ваш позывной, например
UA1ZBE-M - Пароль (AUTH_KEY) — ключ доступа к рефлектору
- Группа вещания (TG) — номер группы
- Нажмите Сохранить, затем Подключиться.
- Для передачи удерживайте кнопку PTT.
Сборка из исходников
./gradlew :app:assembleDebug
APK появится в app/build/outputs/apk/debug/app-debug.apk.
Требования: JDK 17, Android SDK (compileSdk 34).
Структура проекта
app/src/main/java/ru/ua1zbe/svxremote/MainActivity.kt— основной экранapp/src/main/java/ru/ua1zbe/svxremote/SettingsActivity.kt— настройки подключенияapp/src/main/java/ru/ua1zbe/svxremote/proto/ReflectorClient.kt— клиент рефлектора (TCP + UDP)app/src/main/java/ru/ua1zbe/svxremote/proto/ReflectorProtocol.kt— бинарный протокол svxreflector v2app/src/main/java/ru/ua1zbe/svxremote/audio/OpusEngine.kt— кодирование/декодирование Opus через MediaCodecapp/src/main/java/ru/ua1zbe/svxremote/ui/— кнопка PTT и индикатор уровняapp/src/test/java/ru/ua1zbe/svxremote/— юнит-тесты протокола и рукопожатия
Тесты
./gradlew :app:testDebugUnitTest
Лицензия
Проект распространяется без ограничений (для радиолюбительских целей).
Description