Ой, логотип кудато делся

TalKKonnect

TalKKonnect
Аналоговая радио связь / Linux
04:16, 17 февраль 2025
25
0

Клиент Mumble Linux без головы/трансивер/рация/интерком/шлюз для одноплатных компьютеров (IP-радио/IP PTT)



Если вы используете talkkonnect, пожалуйста, расскажите нам о вашем варианте использования, отправив нам фотографии, а также, пожалуйста, подпишите репозиторий talkkonnect/talkkonnect на github.com!


Т ак что же такое talKKonnect и почему он должен меня заинтересовать?

t alKKonnect — это настраиваемый автономный клиент Mumble Push to Talk (PTT) с открытым исходным кодом, разработанный для одноплатных компьютеров Linux, таких как Raspberry Pi и Orange Pi Boards. Он предлагает гибкий форм-фактор с ЖК-дисплеем/OLED-дисплеем, каналом и регулировкой громкости, что делает его идеальным для сценариев групповой коммуникации. Обычные варианты использования включают радиолюбителей, групповую связь ad hoc и замену дорогих коммерческих систем внутренней связи.

Потенциальные возможности использования talKKonnect

  • IP-интерком или домофон или интерком между удаленными местами

  • Мобильный радиоприемопередатчик Настольное устройство для связи между рабочими группами, стационарными или мобильными, без ограничения расстояния до них, ограничивающего качество связи.

  • Устройство для соединения мира PTT-коммуникаций по IP/Интернету с миром RF/радио

  • Замена с открытым исходным кодом для связи между съемочной группой во время прямых трансляций

  • Диспетчерская связь между диспетчером и мобильными спасателями для экстренных служб

  • Групповая связь Ad-Hoc, где Talkkonnect используется в качестве базовой станции, а телефоны Android/iPhone или другие защищенные устройства Android используются в полевых условиях.

  • Используется для публичных объявлений на основе IP (тип IP-спикера) (записанных и в прямом эфире) с таргетингом на определенные устройства или группы

  • Оповещение о текстовом оповещении с помощью API/MQTT для воспроизведения локально или удаленным клиентам

  • Удаленный IP-громкоговоритель с дистанционным управлением для общественных и офисных помещений

  • Игрушка для наших больших взрослых, таких как радиолюбители (вроде меня и многих из вас).

  • Игрушка для ваших детей (чтобы они могли почувствовать себя детьми 80-х годов с радиостанцией CB. Теперь с 7-сегментным переключателем и поворотным энкодером для переключения каналов)

  • Индивидуальная версия вашего уникального варианта использования PTT Communication, поскольку этот проект представляет собой платформу с открытым исходным кодом, с помощью которой люди могут быстро дорабатывать


Текущее использование talkkonnect в реальных приложениях в различных отраслях членами нашего сообщества

  • Л огистика и транспорт

  • Пожаротушение и спасательные работы

  • Удалённое местоположение Запрос помощи Повторители

  • Морской

  • Национальные парки

  • Военный

  • Охранники

  • Фабрики и склады

  • Видеопроизводство

  • Любительское радио

 

Подробную информацию о сборках можно найти на facebook и в блоге.


Некоторые интересные особенности talkkonnect

К онфигурируемость

  • Д етализированная настройка XML, охватывающая множество гибких вариантов использования.

  • Централизованная автоматическая инициализация для нескольких устройств Talkkonnect с централизованного сервера инициализации http с использованием доставки XML через http

  • Настраиваемый выбор контактов GPIO для каждой функции на различных платах SBC, доступных на рынке


GPIO и поддержка оборудования

  • G PIO с дополнительным расширителем GPIO (до 16 x 8 = 128 GPIO с использованием чипа MCP23017 по I2c)

  • Поддержка поворотного энкодера для переключения каналов вверх/вниз, увеличения/уменьшения громкости, изменения частоты радиомодуля SA818, изменения целевого адреса голоса

  • ЖК-/OLED-экран (параллельный и I2c-интерфейс) отображает важную информацию в реальном времени, такую как данные сервера, текущий канал, кто в данный момент говорит, время и т. д.

  • Подключение к недорогим USB-GPS-донглам (например, «u-blox») для GPS-отслеживания, интеграция тревожных оповещений с программным обеспечением GPS-отслеживания Traccar.

  • Поддержка семисегментного дисплея для отображения каналов, таких как CB Rado, с использованием чипа MAX7219 с семисегментными дисплеями

  • При нажатии кнопки тревоги talKKonnect отправит тревожное сообщение с координатами GPS, а затем электронное письмо с указанием текущего местоположения на картах Google.


Функции дистанционного управления

Л окальное или дистанционное управление через

  • Контакты и кнопки GPIO

  • Локально подключенная USB-клавиатура

  • SSH, Консольный терминал

  • HTTP API и/или MQTT с детально настраиваемыми командами дистанционного управления, управлением светодиодами, управлением кнопками, управлением реле


Использование talkkonnect в качестве интерфейса радиошлюза

  • К оммуникационный мост для взаимодействия с внешними (иначе несовместимыми) радиосистемами как по воздуху, так и по IP-сетям.

  • Интерфейс для портативных или базовых радиостанций (портативные радиостанции Beefing или радиоплаты UART).

  • Функция открытия репитера на основе тона с возможностью указания частоты и длительности тона в конфигурации.


Дополнительные мультимедийные функции (IP-динамик)

  • П оддержка полной дуплексной связи (отсутствие прерываний звука при разговоре нескольких человек одновременно)

  • Звуковые файлы могут быть связаны с событиями/действиями в конфигурации (поддерживает как блокирующий, так и неблокирующий режимы)

  • Потоковая передача звука в канал из локально сохраненного медиафайла или из интернет-потока с помощью локального или API-вызова

  • Поддержка диктора с использованием Google TTS с поддержкой нескольких языков

  • Аналоговое управление реле с помощью прослушивающего канала для объявлений PA


Бормотание и другие особенности

  • П оддержка крика и шепота

  • Поддержка токенов канала

  • Настраиваемое голосовое управление с помощью цифровой клавиатуры USB, клавиатуры TTY, API, MQTT (крик и шепот)

  • Настраиваемые функции, такие как отключение звука, включение звука, канал, txptt, доступны на USB-клавиатуре

  • Поддержка прослушивания на нескольких каналах

  • Конфигурации нескольких серверов с управлением каналами, сканированием каналов и переключением серверов

  • Множество других функций, предложенных или запрошенных сообществом, слишком много, чтобы упомянуть их здесь.


Что такое talkkonnect и какова его история?

Э тот проект является ответвлением talkiepi от Daniel Chote, который в свою очередь был ответвлением barnard, текстового клиента mumble. talKKonnect был разработан с использованием golang и основан на библиотеке gumble от Tim Cooper. Однако большинство библиотек в значительной степени вендорские (модифицированные из оригинала). Вам нужно будет получить вендорные библиотеки из этого репозитория. Talkkonnect реализовал протокол mumble с использованием более поздних спецификаций, поэтому, пожалуйста, используйте вендорные библиотеки talkkonnect (gumble) для сборки talkkonnect. Использование оригинальной библиотеки gumble не имеет функций прослушивания каналов, и сборка завершится ошибкой из-за отсутствующих функций, сопоставленных с вендорной версией библиотеки gumble.

talKKonnect изначально разрабатывался для работы на одноплатных компьютерах Linux. Последняя версия может масштабироваться для работы от одноплатных компьютеров ARM до полноценных серверов X86. Для компиляции на архитектуре X86 вам нужно будет вернуться к версии GOOPUS (Opus) Тима Купера, поскольку старая сборка поддерживает процессоры x86. Целевые платы Raspberry Pi 2B, 3B, 3A+, 3B+, 4B, 400, Zero 2W, Orange PI Zero H2 Chip были протестированы и работают так, как и ожидалось. Для энтузиастов или тех, кто хочет протестировать функции talkkonnect, недавно выпущенная версия Raspberry Pi Zero 2W, используемая с ресивером и внешним динамиком, является идеальным кандидатом для тест-драйва talkkonnect. С этим оборудованием пайка не требуется, и готовые образы доступны для записи и тестирования.


Зачем был создан talKKonnect?

Я , Сувир Кумар, создал talKKonnect для обучения и развлечения. Я скучал по молодости, когда делал самодельные CB, HAM-радиостанции и общался со всеми этими замечательными людьми, которые многому меня научили. Мои позывные HAM-радио E25OSW для Таиланда и KK7HMK (Extra Class) для США.

Проживание в квартире в эпоху Интернета и жажда инноваций подтолкнули меня к созданию talKKonnect. Я делал это в качестве хобби, чтобы учиться, так что я никоим образом не профессиональный программист, однако talkkonnect очень стабилен и работает в производстве для критически важных систем по всему миру и готов к производству. При этом будьте готовы к коду от самоучки-любителя, некоторые части talkkonnect не идеальны.

Я постарался сделать исходный код talKKonnect читаемым и стабильным, насколько это было в моих силах. Если позволит время, я продолжу работать и учиться у всех тех людей, которые дают обратную связь и проявляют интерес к использованию talkkonnect.

Изначально talKKonnect был создан с форм-фактором и функциональностью настольного трансивера. С отзывами сообщества мы начали расширять границы, чтобы сделать его более универсальным и масштабируемым, как вы можете видеть из богатого списка функций. Позже мы также добавили возможности анонсирования и PA, чтобы talkkonnect поддерживал функциональность IP-Speaker.


Создание talkkonnect Дополнительное необязательное оборудование и меры предосторожности

Т иповую схему в формате PDF для Raspberry Pi 2,3 Series, Zero 2W можно найти здесь.

Вы можете использовать внешний микрофон с кнопками (вверх/вниз) или вращающийся энкодер для навигации по каналам для мобильного трансивера. Использование вращающегося энкодера делает talkkonnect очень удобным в использовании с минимальным пользовательским интерфейсом.

В настоящее время talKKonnect работает с ЖК-экраном 4×20 Hitachi HD44780 в параллельном режиме. Другие экраны, такие как 0,96" и 1,3" OLED с интерфейсом I2C, также в настоящее время поддерживаются. В настоящее время для SPI поддерживаются только семисегментные дисплеи с использованием чипа MAX7219.

Для сборок talKKonnect рекомендуются недорогие аудиоусилители класса D, такие как PAM8403 или аналогичные усилители класса «D».

Рекомендуется использовать хороший экранированный кабель для микрофона, чтобы свести шум, улавливаемый микрофонами, к минимуму при использовании аналоговых звуковых карт. Вместо встроенной звуковой карты или звуковой карты USB вы также можете использовать совместимый с ReSpeaker HAT или звуковую карту USB ReSpeaker со встроенным усилителем и достичь отличного качества звука в компактном форм-факторе.


Вы можете подключить светодиодные индикаторы, которые можно установить на передней панели вашей сборки, чтобы отображать следующие состояния:   

  • П одключен к серверу и в данный момент находится в сети (светодиод онлайн)

  • На этом же канале есть и другие участники (светодиод участников)

  • В данный момент находится в режиме передачи (светодиод передачи)

  • В данный момент принимается аудиопоток (кто-то говорит на канале) (светодиод голосовой активности)

  • Heart Beat, указывающий на то, что talKKonnect работает (светодиодный индикатор Heartbeat)

  • В настоящее время находится в режиме Voicetarget или говорит в обычном режиме, чтобы все клиенты на канале могли слышать (светодиод voicetarget)

  • Мигающий светодиодный индикатор внимания для привлечения внимания оператора Talkkonnect в шумной обстановке.


Программно-конфигурируемые функции

  • Ц ветные журналы отображаются на отладочном терминале для событий, происходящих в реальном времени. Регистрация с номером строки, регистрация в файле или на экране или и то, и другое.

  • Воспроизведение настраиваемых звуков оповещений при возникновении различных событий, например, один звук, когда кто-то «присоединяется» к каналу, и другой звук, когда кто-то «покидает» канал.

  • TTS предлагает объявлять различные события для тех случаев, когда это необходимо.

  • Звуки Roger Beep , которые воспроизводятся в конце каждой передачи.

  • Отключение динамика при нажатии PTT для предотвращения обратной связи и создания ощущения радиосвязи для имитации симплексного режима. Как симплексный, так и дуплексный режим настраиваются в конфигурации XML. Дуплексный режим позволяет вам держать динамик открытым, чтобы люди могли прерывать вас во время разговора.

  • ЖК-дисплей/OLED может отображать информацию о канале, информацию о сервере, кто присоединился, кто говорит, дату и время последней полученной передачи, вращающийся энкодер в режиме громкости, канала, целевого голоса или радиоканала и т. д.

  • Эти параметры можно включить, отключить и настроить в файле конфигурации talkkonnect.xml.


Общая информация для всех готовых образов для различных конфигураций оборудования


  • С о всеми обновлениями я не смогу обновить все файлы примеров конфигурации, поэтому в качестве руководства для плат Raspberry Pi всегда смотрите файлы talkkonnect-version2-usb-gpio-example.xml и talkkonnect.tkv1pcb на предмет последних тегов, чтобы скопировать их и внедрить в свои сборки.

  • Для вашего удобства мы создали несколько различных образов, которые вы можете загрузить и записать на SD-карту, чтобы вы могли быстро приступить к работе с универсальным экземпляром talkkonnect, работающим из коробки. Выберите образ в зависимости от вашего оборудования и варианта использования. Используя один из этих образов, вам не нужно будет выполнять все сложные шаги по установке и компиляции всего с нуля, если поначалу это кажется вам сложным и непосильным.

  • Это простой способ начать экспериментировать с talkkonnect за считанные минуты. Возможность сократить время и снизить барьер входа позволит вам увидеть, соответствует ли talkkonnect вашим потребностям.

  • Сетевые настройки установлены как DHCP-клиент, поэтому ваше устройство должно получить IP-адрес при подключении его к сети с поддержкой DHCP с помощью кабельной локальной сети.

  • После того, как вы найдете IP-адрес вашего устройства talkkonnect в разделе аренды DHCP вашего маршрутизатора, вы можете войти в систему по SSH с помощью такого инструмента, как Putty или его эквивалента, на стандартном порту SSH 22, используя учетную запись пользователя root с паролем talkkonnect.

  • ВНИМАНИЕ!! При использовании этих образов Talkkonnect уже будет запущен systemd при загрузке и запущен в экземпляре экрана, когда вы загрузите этот образ. Нет смысла вручную запускать talkkonnect. По умолчанию без изменений в настройках talkkonnect подключится к нашему серверу mumble сообщества. Если вы попытаетесь запустить talkkonnect вручную, то будет 2 экземпляра talkkonnect, которые будут конфликтовать друг с другом, и вы будете подключаться и отключаться от сервера в бесконечном цикле.

  • ВНИМАНИЕ!! Если вы используете talkkonnect и заметили, что клиент talkkonnect подключается к серверу, а затем отключается через несколько секунд, и это происходит в бесконечном цикле. Проверьте, подключена ли звуковая карта USB и соответствуют ли конфигурации звуковой карты вашей звуковой карте.

  • Поскольку talkkonnect уже запущен в фоновом режиме (на экране) при загрузке, вы можете получить доступ к работающей консоли talkkonnect по ssh (как root) в устройстве raspberry pi и в командной строке ввести команду screen -r, чтобы увидеть консоль работающего talkkonnect. Нажмите клавишу del, чтобы увидеть меню доступных вам опций.

  • Пожалуйста, отредактируйте файл конфигурации talkkonnect.xml. Этот файл находится в каталоге /home/talkkonnect/gocode/src/github.com/talkkonnect/talkkonnect/ Измените тег XML на имя, которое описывает вас, чтобы участники канала сообщества могли видеть, кто вы по имени или позывному. Если вы не измените эту настройку, ваше имя на канале будет отображаться как talkkonnect с вашим mac-адресом, чтобы имя пользователя оставалось уникальным по умолчанию. Вы не можете иметь более 1 устройства на имя пользователя, подключенного к серверу одновременно.

  • По умолчанию образы talkkonnect будут подключаться к нашему серверу сообщества mumble.talkkonnect.com, порт 64738, используя любое уникальное имя пользователя. Для подключения к серверу сообщества mumble пароль не нужен.

  • Вы можете присоединиться к нашему каналу(ам) HAM-CB на сервере сообщества и начать общаться с нами голосом и задавать нам вопросы или вносить предложения, у нас теплая и гостеприимная группа энтузиастов, которые помогут вам с вашими вопросами. Это хорошее место, чтобы пообщаться и пообщаться с единомышленниками.

  • Изображения разделены на 2 большие категории (те, которые используют ресивер, те, которые используют встроенный звук, и те, которые используют звуковые карты USB).

  • Образы также доступны как в 32-, так и в 64-разрядной версии основных операционных систем, записанных на образах SD-карты.

  • Для этих образов Respeaker (изображения Rpi Zero или RPI 2/3 с Respeaker) из коробки стандартный файл конфигурации XML настроен на работу в режиме GPIO, и GPIO будет инициализирован, это означает, что кнопка PTT и светодиоды на 2-микрофонном Respeaker Hat будут работать сразу. Вам нужно будет подключить внешний динамик к HAT для этих образов.

  • Не стесняйтесь изучать различные примеры конфигураций talkkonnect.xml, которые можно найти в каталоге /home/talkkonnect/gocode/src/github.com/talkkonnect/talkkonnect/sample-configs здесь вы можете найти различные конфигурации, которые работают с LCD, OLED, LEDS и кнопочными переключателями PUSH. Файлы имеют описательные имена. Смотрите talkkonnect-version2-usb-gpio-example.xml в качестве примера.

  • Чтобы обновить talkkonnect до последней версии, указанной в образе, перейдите в корневой каталог и выполните следующие команды после входа в систему как root (не следует обновлять образы рединамиков, поскольку они настроены пользователем и нарушат совместимость светодиодов рединамиков).

cd /root
wget https://raw.githubusercontent.com/talkkonnect/talkkonnect/main/scripts/update-talkkonnect.sh 
chmod +x ./update-talkkonnect.sh
./update-talkkonnect.sh


Быстрый старт Готовые загружаемые образы talKKonnect для SD-карт

П римечания по использованию Raspberry Pi Imager. В противном случае готовые изображения ниже НЕ БУДУТ РАБОТАТЬ!!

  • Н ажмите «Выбрать устройство» (выберите «Без фильтрации»).

  • Нажмите «Выбрать ОС» (использовать пользовательскую), выберите загруженный образ talkkonnect.

  • Выберите хранилище

  • Нажмите «Далее».

  • Хотите применить настройки ОС? НЕТ!!!!!

  • Все существующие данные на запоминающем устройстве будут стерты. Да


talkkonnect версии 2 (64 бит) Быстрая ссылка для загрузки готового образа SD-карты для использования с Raspberry PI, протестированного на серии Pi 4 и звуковой карте USB

  • Э тот образ был создан 12 января 2024 года и работает под управлением Debian Bookworm (выпущен 11 декабря 2023 года) вместе с talkkonnect версии 2.37.01, выпущенной 31 декабря 2023 года.

  • Нажмите здесь, чтобы загрузить предварительно настроенный образ SD-карты для Talkkonnect версии 2 для Raspberry Pi 4 и звуковой карты USB

  • Вам понадобится звуковая карта CM-108 или эквивалентная, подключенная перед загрузкой, чтобы этот образ работал, иначе он будет подключаться и отключаться от сервера в бесконечном цикле. Рекомендуется использовать карты Vention, так как карта cm108 сильно шумит.

  • Это изображение настроено для работы с звуковой картой USB CM108, а GPIO будет работать из коробки для PTT и светодиодов. GPIO сопоставлены с принципиальной схемой

  • Этот образ будет работать с сетевым Ethernet-подключением по кабелю прямо из коробки.


talkkonnect версии 2 (64BIT) Быстрая ссылка для загрузки готового образа SD-карты для использования с Raspberry PI, протестированного на серии Pi 3 и звуковой карте USB

  • Э тот образ был создан 12 января 2024 года и работает под управлением Debian Bookworm (выпущен 11 декабря 2023 года) вместе с talkkonnect версии 2.37.01, выпущенной 31 декабря 2023 года.

  • Нажмите здесь, чтобы загрузить предварительно настроенный образ SD-карты для Talkkonnect версии 2 для Raspberry Pi 3 и звуковой карты USB

  • Вам понадобится звуковая карта CM-108 или эквивалентная, подключенная перед загрузкой, чтобы этот образ работал, иначе он будет подключаться и отключаться от сервера в бесконечном цикле. Рекомендуется использовать карты Vention, так как карта cm108 сильно шумит.

  • Это изображение настроено для работы с звуковой картой USB CM108, а GPIO будет работать из коробки для PTT и светодиодов. GPIO сопоставлены с принципиальной схемой

  • Этот образ будет работать с сетевым Ethernet-подключением по кабелю прямо из коробки.


talkkonnect версии 2 (32 бит) Ссылка для быстрой загрузки готового образа SD-карты для использования с Raspberry PI, протестированного на Pi (серии 2/3) и звуковой карте USB


talkkonnect версии 2 (64 бит) Быстрая ссылка для загрузки готового образа SD-карты для использования с Raspberry Pi Zero2W и звуковой картой USB, подключенной через USB OTG

  • Э тот образ был создан 26 февраля 2024 года и работает под управлением Debian Bookworm (выпущен 11 декабря 2023 года) вместе с talkkonnect версии 2.40.01, выпущенной в феврале 2024 года.

  • Нажмите здесь, чтобы загрузить предварительно настроенный образ SD-карты для Talkkonnect версии 2 для Raspberry Pi Zero 2W и звуковой карты USB

  • Вам понадобится звуковая карта CM-108 или эквивалентная, подключенная перед загрузкой, чтобы этот образ работал, иначе он будет подключаться и отключаться от сервера в бесконечном цикле. Рекомендуется использовать карты Vention, так как карта cm108 сильно шумит.

  • Это изображение настроено для работы с звуковой картой USB CM108, а GPIO будет работать из коробки для PTT и светодиодов. GPIO сопоставлены с принципиальной схемой

  • Этот образ будет работать с сетевым Ethernet-подключением по кабелю прямо из коробки.


talkkonnect версии 2. Ссылка для быстрой загрузки готового образа SD-карты для использования с Raspberry Pi 3,3A,3B+,Zero2W и совместимым с RESPEAKER HAT

  • Э тот образ был создан 12 января 2024 года и работает под управлением Debian Bookworm (выпущен 11 декабря 2023 года) вместе с talkkonnect версии 2.37.01, выпущенной 31 декабря 2023 года.

  • Драйверы Respeaker скомпилированы, и аудио для приема и передачи работает. Светодиоды работают, как и кнопка PTT на Respeaker HAT.

  • Нажмите здесь, чтобы загрузить предварительно настроенный образ SD-карты для Talkkonnect версии 2 для Raspberry Pi 3 серии и Zero2W (32-разрядная ОС) и Respeaker Hat

  • Файл XML настроен для работы в режиме RPI, поэтому GPIO будет инициализирован, это необходимо для того, чтобы динамик работал с выводом звука на разъем для наушников, светодиодная лента работала, а кнопочный микропереключатель на шляпе можно было использовать для передачи.
    Затем вам нужно будет использовать raspi-config, чтобы задать страну Wi-Fi для работы Wi-Fi.

  • Для этого образа из коробки он подключится к сети Wi-Fi с SSID и паролем 1234567890 (если вам лень, вы можете сделать это)

  • Чтобы подключиться к вашему WIFI, вы также можете создать файл wpa_supplicant.conf и поместить его в папку /boot/ в Windows, прежде чем вставлять карту в Raspberry Pi.


talkkonnect версии 2. Ссылка для быстрой загрузки готового образа SD-карты для использования с Orange Pi Zero с внешней звуковой картой USB

  • Э тот образ был создан 20 января 2024 года и запускает Armbian Bookworm вместе с talkkonnect версии 2.37.01, выпущенной 31 декабря 2023 года.

  • Вам понадобится звуковая карта CM-108 или эквивалентная, подключенная перед загрузкой, чтобы этот образ работал, иначе он будет подключаться и отключаться от сервера в бесконечном цикле. Рекомендуется использовать карты Vention, так как карта cm108 сильно шумит.

  • Нажмите здесь, чтобы загрузить предварительно настроенный образ SD-карты для Talkkonnect версии 2 для внешней звуковой карты USB Orange Pi Zero

  • Это изображение использует стандартную 32-битную выборку и будет корректно работать со всеми клиентами Mumble на Windows, Android и iPhone с хорошим качеством звука.

  • Это изображение должно работать сразу после установки с кабелем micro-USB OTG для звуковой карты USB.

  • Файл XML настроен для работы в режиме rpi, поэтому GPIO будет инициализирован, это означает, что клавиша PTT GPIO включена, поворотный энкодер полностью настроен.

  • Для этого образа используйте Raspberry Pi Imager, чтобы задать SSID и пароль вашей сети WIFI перед записью на SD-карту, или же вы можете создать файл wpa_supplicant.conf и поместить его в папку /boot/ в Windows перед тем, как вставить карту в Raspberry Pi.


talkkonnect версии 2. Ссылка для быстрой загрузки готового образа SD-карты для использования с Orange Pi Zero со встроенной звуковой картой


  • Э тот образ был создан 20 января 2024 года и запускает Armbian Bookworm вместе с talkkonnect версии 2.37.01, выпущенной 31 декабря 2023 года.

  • Вам понадобится подключить микрофон, используя ту же схему, что и для микрофонной шляпы Orange Pi Zero.

  • Нажмите здесь, чтобы загрузить предварительно настроенный образ SD-карты для Talkkonnect версии 2 для встроенного звука Orange Pi Zero

  • Это изображение использует стандартную 32-битную выборку и будет корректно работать со всеми клиентами Mumble на Windows, Android и iPhone с хорошим качеством звука.

  • Этот образ должен работать сразу после установки, он также имеет последовательную консоль на порту USB для легкого доступа к SSH через COM-порт на Windows и MacOS.

  • Файл XML настроен для работы в режиме rpi, поэтому GPIO будет инициализирован. Это означает, что клавиша PTT GPIO включена, поворотный энкодер и OLED-экран настроены.

  • Этот образ будет работать с подключением по кабелю Ethernet по локальной сети сразу после установки, затем вам придется использовать raspi-config, чтобы задать страну Wi-Fi для работы Wi-Fi.

  • Для этого образа из коробки он подключится к сети Wi-Fi с SSID и паролем 1234567890 (если вам лень, вы можете сделать это)

  • Чтобы подключиться к вашему WIFI, вы также можете создать файл wpa_supplicant.conf и поместить его в папку /boot/ в Windows, прежде чем вставлять карту в Raspberry Pi.


talkkonnect версии 2 Быстрая ссылка для загрузки готового образа SD-карты для использования с чипом Orange Pi Zero 3 H618 с внешним USB-микрофоном mtech

  • Э тот образ был создан 02.06.2024 и запускает Debian Bookworm вместе с talkkonnect версии 2.41.01, выпущенной 12.04.2024

  • Вам понадобится подключить USB-микрофон с чипом CM108 и использовать кнопку увеличения громкости в качестве медиа-клавиши для PTT.

  • Нажмите здесь, чтобы загрузить предварительно настроенный образ SD-карты для Talkkonnect версии 2 для Orange Pi Zero 3 H618 Chip Mtech USB Microphone

  • Это изображение использует стандартную 32-битную выборку и будет корректно работать со всеми клиентами Mumble на Windows, Android и iPhone с хорошим качеством звука.  

  • Этот образ должен работать сразу после установки, он также имеет последовательную консоль на порту USB для легкого доступа к SSH через COM-порт на Windows и MacOS.

  • Файл XML настроен для работы в режиме rpi, поэтому GPIO будет инициализирован, это означает, что клавиша PTT GPIO 13 включена.

  • Этот образ будет работать с подключением по кабелю Ethernet по локальной сети сразу после установки, затем вам придется использовать orangpi-config, чтобы задать страну Wi-Fi для работы Wi-Fi.


Инструкции по установке для плат Raspberry Pi (из скрипта Bash)


  • У становите raspberry pi os, следуя инструкциям отсюда 

  • Предпочтительно с современными платами использовать 64-битную версию Raspberry Pi OS Lite.

  • Следуйте инструкциям по записи и загрузке с SD-карты.

  • Войдите в систему как пользователь root на вашем устройстве через SSH.

  • Перейдите в каталог /root (если вы вошли в систему как root, вы уже должны находиться в этом каталоге)

  • https://raw.githubusercontent.com/talkkonnect/talkkonnect/main/scripts/tkbuild.sh

  • chmod +x tkbuild.sh

  • запустите ./tkbuild.sh и дождитесь установки golang и автоматической загрузки talkkonnect со всеми библиотеками

  • Вам нужно будет скопировать и изменить пример XML отсюда и сохранить его в каталоге /home/talkkkonnect/gocode/src/github.com/talkkonnect/talkkonnect/talkkonnect.xml.

  • После этого вам придется настроить ALSA, как показано в разделе «Настройка звука» ниже, чтобы Talkkonnect заработал.


Образцы XML-файлов можно найти в папке sample-configs:

h ttps://github.com/talkkonnect/talkkonnect/tree/main/sample-configs

См. файл talkkonnect-version2-usb-gpio-example.xml и talkkonnect.tkv1pcb в качестве примера со всеми последними тегами XLS.


Начать разговорKKonnect binary
c
d /home/talkkonnect/bin
./talkkonnect 

Вы можете запустить talKKonnect автоматически при запуске Raspberry Pi с помощью программы «screen». Добавьте эту строку в файл /etc/rc.local перед «exit 0»:

s creen -dmS talkkonnect-radio /home/talkkonnect/bin/talkkonnect &


Затем подключитесь к активной сессии экрана с помощью команды «screen -r». Выйдите из сессии экрана с помощью «Ctrl-AD».
Э кран приветствия talKKonnect
┌
────────────────────────────────────────────────────────────────┐
_        _ _    _                               _             │
| |_ __ _| | | _| | _____  _ __  _ __   ___  ___| |_           │
| __/ _` | | |/ / |/ / _ \| '_ \| '_ \ / _ \/ __|  __|         │
| || (_| | |   <|   < (_) | | | | | | |  __/ (__| |_           │
\__\__,_|_|_|\_\_|\_\___/|_| |_|_| |_|\___|\_ _|\__|          │
├────────────────────────────────────────────────────────────────┤
A Flexible Headless Mumble Transceiver/Gateway for RPi/PC/VM    │
├────────────────────────────────────────────────────────────────┤
Created By : Suvir Kumar  <suvir@talkkonnect.com>               │
├────────────────────────────────────────────────────────────────┤
Press the <Del> key for Menu or <Ctrl-c> to Quit talkkonnect    │
Additional Modifications Released under MPL 2.0 License         │
Blog at www.talkkonnect.com, source at github.com/talkkonnect   │
└────────────────────────────────────────────────────────────────┘

Установка экрана I2C OLED

Д ля тех из вас, кто хочет использовать OLED-экран размером 0,96 или 1,3 дюйма, следуйте инструкциям ниже (войдите в систему как root)

включите чтение I2C и следуйте шагу 1 — включите интерфейс I2C.

Для определения адреса вашего экрана установите инструмент ниже

apt-get install -y i2c-tools

Затем используйте i2cdetect для обнаружения экрана, следуя инструкциям на той же странице в разделе «Тестирование оборудования» (необязательно).

Как только вы получите адрес, обратите внимание, что он будет в шестнадцатеричном формате, вам придется преобразовать этот адрес в десятичный, чтобы поместить его в файл talkkonnect.xml под тегом xml 60.

В приведенном выше примере я получил адрес 3c из инструментов i2c и преобразовал его в десятичное значение 60. Для моих настроек инструмент i2c-detect выдал мне шестнадцатеричный адрес 3c, поэтому после преобразования в десятичное значение он получил значение 60.


Конфигурация аудио

U SB-звуковые карты

Ч тобы ваш аудиовход и аудиовыход работали с talKKonnect, вам необходимо настроить параметры звука. Настройте и протестируйте вашу звуковую систему Linux перед сборкой talKKonnect. talKKonnect хорошо работает с ALSA. Нет необходимости запускать его с PulseAudio. Любые USB-звуковые карты, поддерживаемые в Linux, можно использовать с talKKonnect. Raspberry Pi имеют аудиовыход с чипом BCM2835, но, к сожалению, нет аудиовхода по конструкции. Вот почему нам нужна USB-звуковая карта. Многие другие типы одноплатных компьютеров поставляются как с аудиовыходом, так и с аудиовходом (Orange Pi). USB-звуковые карты со звуковыми чипами CM, такими как CM108, CM109, CM119, CM6206, доступны и очень распространены.

При подключении к Raspberry Pi звуковая карта USB может быть идентифицирована командой «lsusb». Типичный ответ примерно такой:

Шина 001 Устройство 004: ID 0d8c:000c C-Media Electronics, Inc. Аудиоадаптер

Список устройств воспроизведения звука можно получить с помощью команды «aplay -l».

Дополнительно: При использовании внешней звуковой карты USB внутренний звук Raspberry Pi BCM2835 может быть занесен в черный список или запрещен для загрузки. Чтобы отключить звук BCM2835:

nano /boot/config.txt


Добавьте эти 2 строки:
#
Disable audio (loads snd_bcm2835) 
dtparam=audio=off 

Сохраните файл и перезагрузите компьютер.

Е сли звук BCM2835 включен, звуковая карта USB обычно отображается как карта 1. Если звук BCM отключен, звук USB будет отображаться как карта 0.

Чтобы talKKonnect знал, какие аудиоустройства использовать (BCM2835 или USB Sound), необходимо отредактировать файл конфигурации звука ALSA. Отредактируйте файл /usr/share/alsa/alsa.conf,


nano /usr/share/alsa/alsa.conf и изменить

defaults.ctl.card 0 defaults.pcm.card 0 


от индекса звука BCM2835 по умолчанию (0) до индекса звука USB (1)

#defaults.ctl.card 0 #defaults.pcm.card 0 defaults.ctl.card 1 defaults.pcm.card 1 


(Это изменение необязательно, если BCM2835 был отключен. В этом случае звуковой карте USB будет присвоен индексный номер карты «0»)

Звуковое USB-устройство также можно настроить в локальном профиле (этот шаг необязателен, если вы использовали глобальную конфигурацию, описанную выше)

nano ~/.asoundrc

Для простых USB-карт .asound будет работать следующая конфигурация:

 pcm.!default { type asym capture.pcm "mic" playback.pcm"speaker" } pcm.mic { type plug slave { pcm"hw:1,0" }     } pcm.speaker { type plug slave { pcm"hw:1,0" } } 


При создании .asoundrc. сопоставьте индексный номер звуковой карты с точным номером устройства в вашей системе. Запустите ”aplay -l” или ”amixer”, чтобы проверить это. Вам также необходимо сопоставить имена устройств захвата и воспроизведения в этом файле конфигурации для вашего конкретного звукового устройства.

Примечание: Если звуковое устройство было настроено в глобальном файле конфигурации /usr/share/alsa/alsa.conf, нет необходимости создавать локальный файл .asoundrc.

Микрофон или устройство ввода должны быть «захвачены» для работы talKKonnect. Запустите alsamixer и найдите свое устройство ввода (микрофон или линейный вход), затем выберите его и нажмите клавишу пробела. Красный значок «захвата» должен отображаться под устройством в alsamixer.


Проверьте работу аудиовыхода, выполнив:

s peaker-test

Вы должны услышать белый шум.


Проверьте работу аудиовхода, запустив циклическую запись на аудиоплеере:

a record –f CD | aplay

Вы должны услышать, как вы говорите в микрофон.

Отрегулируйте предпочтительную чувствительность микрофона и выходное усиление с помощью «alsamixer» или «amixer», что требует некоторых проб и ошибок.

Чтобы отключение динамика работало при нажатии PTT, вам необходимо ввести точное имя выхода вашего аудиоустройства в файле talKKonnect.xml. Это имя может быть разным для разных аудиоустройств (например, динамик, мастер, наушники и т. д.). Проверьте имя аудиовыхода с помощью «aplay», «alsamixer» или «amixer» и используйте это точное имя устройства в configuration.xml.


talKKonnect можно управлять с экрана терминала с помощью функциональных клавиш.

┌
──────────────────────────────────────────────────────────────┐
_ __ ___   __ _(_)_ __    _ __ ___   ___ _ __  _   _     │
| '_ ` _ \ / _` | | '_ \  | '_ ` _ \ / _ \ '_ \| | | |    │
| | | | | | (_| | | | | | | | | | | |  __/ | | | |_| |    │
|_| |_| |_|\__,_|_|_| |_| |_| |_| |_|\___|_| |_|\__,_|    │
├─────────────────────────────┬────────────────────────────────┤
<Del> to Display this Menu  | <Ctrl-C> to Quit talkkonnect   │
├─────────────────────────────┼────────────────────────────────┤
<F1>  Channel Up (+)        │ <F2>  Channel Down (-)         │
<F3>  Mute/Unmute Speaker   │ <F4>  Current Volume Level     │
<F5>  Digital Volume Up (+) │ <F6>  Digital Volume Down (-)  │
<F7>  List Server Channels  │ <F8>  Start Transmitting       │
<F9>  Stop Transmitting     │ <F10> List Online Users        │
<F11> Playback/Stop Stream  │ <F12> For GPS Position         │
├─────────────────────────────┼────────────────────────────────┤
<Ctrl-B> Reload XML Config   │ <Ctrl-C> Stop Talkkonnect      │
<Ctrl-D> Debug Stacktrace    │ <Ctrl-E> Send Email            │
├─────────────────────────────┼────────────────────────────────┤
<Ctrl-F> Conn Previous Server│<Ctrl-G> Send Repeater Tone     │
<Ctrl-H> XML Config Checker  │<Ctrl-I> Traffic Record         │
<Ctrl-J> Mic Record          │<Ctrl-K> Traffic & Mic Record   │
<Ctrl-L> Clear Screen        │<Ctrl-M> Radio Channel (+)      │
<Ctrl-N> Next Server         │<Ctrl-O> Ping Servers           │
<Ctrl-P> Panic Simulation    │<Ctrl-R> Repeat TX Loop Test    │
<Ctrl-S> Scan Channels       │<Ctrl-T> Thanks/Acknowledgements│
<Ctrl-U> Show Uptime         │<Ctrl-V> Display Version        │
<Ctrl-X> Dump XML Config     │                                │
├─────────────────────────────┼────────────────────────────────┤
Visit us at www.talkkonnect.com and github.com/talkkonnect  │
Thanks to Global Coders Co., Ltd. for their sponsorship     │
└──────────────────────────────────────────────────────────────┘


Объяснение истории и причин создания talkkonnect



Теги файла конфигурации talkkonnect.xml и их значение

С екция бухгалтерского учета

  • Р аздел учетных записей может содержать несколько учетных записей, talkkonnect будет искать первую учетную запись с XML-тегом default = "true" и пытаться подключиться к этому серверу.

  • Когда talkkonnected подключен к серверу, вы можете переключаться между учетными записями, в которых enabled = "true", нажимая CTRL-N, talkkonnect подключится к следующему включенному серверу в списке.

  • Talkkonnect не будет пытаться подключиться к серверу, у которого тег учетной записи установлен по умолчанию = "false"

  • Имя учетной записи тега используется только для идентификации сервера в целях регистрации.

  • Тег serverandport — это FQDN или IP-адрес сервера, за которым следует (двоеточие) и порт, на котором работает mumble для этого конкретного сервера. В настоящее время настройка сервера mumble сообщества — mumble.talkkonnect.com:64738

  • Тег имени пользователя используется для идентификации вас на сервере Mumble и для аутентификации.

  • Тег пароля используется, если сервер Mumble требует аутентификации по паролю.

  • Тег «небезопасно» следует установить как true, если сервер, к которому вы подключаетесь, не требует сертификата.

  • Тег сертификата должен содержать полный путь к ранее сгенерированному сертификату, который обычно представляет собой файл с расширением pem.

  • Тег канала должен быть заполнен только в том случае, если вы хотите подключиться к определенному каналу, отличному от корневого канала при запуске.

  • Тег идентификатора используется для идентификации имени человека, использующего talkkonnect для запроса помощи, отправленного при использовании функции паники.

  • У listentochannel есть дочерние теги XML канала, в которых вы можете настроить каналы, которые хотите прослушивать, используя функцию channellisten mumble.

  • Список токенов для каждой учетной записи для авторизации на защищенных токенами каналах

  • Идентификаторы voicetargets и соответствующие им пользователи и каналы


Глобальный раздел talkkonnect.xml (программное и аппаратное обеспечение)

Р аздел настроек программного обеспечения

  • Т ег outputdevice должен быть установлен как устройство вывода звука по умолчанию, которое представляет ваше устройство вывода звука при запуске alsamixer. Примерами являются динамик или наушники и т. д. (Если вы не уверены, что происходит, установите все 4 тега xml, начинающиеся с outputdevices, на то, что является устройством вывода звука по умолчанию в alsa.)

  • Тег logfilenameandpath должен содержать полный путь к записываемому файлу, который создается до запуска talkkonenct для целей ведения журнала.

  • Если вам не требуется ведение журнала на экране, установите тег ведения журнала на экран. Любое другое значение приведет к отображению журналов на экране и в файле журнала (обратите внимание, что если ведение журнала не установлено на экран, журналы больше не будут раскрашены). Доступные параметры для ведения журнала: экран, экран с линией нет, экран и файл с линией нет

  • Отменяемая трансляция используется для того, чтобы, если вы транслируете аудио через talKKonnect, другой пользователь на канале мог остановить вашу трансляцию, нажав PTT.

  • Simplexwithmute используется для установки симплексного режима (отключение динамика во время передачи) или полнодуплексного режима (не отключение динамика во время передачи)

  • Для тегов уровня журнала доступны следующие параметры (трассировка, отладка, информация, предупреждение, ошибка, оповещение), по умолчанию установлено значение «информация».

  • Тег cancellablestream определяет, разрешаете ли вы останавливать поток входящей передачей во время потоковой передачи звука на канале.

  • Тег streamonstart сообщает talkkonnect, что вы хотите начать трансляцию после запуска talkkonnect.

  • Тег streamafterstart сообщает talkkonnect, сколько секунд ждать, пока talkkonnect начнет потоковую передачу после подключения к серверу.

  • Тег streamsendmessage позволяет talkkonnect узнать, следует ли отправлять сообщение пользователям канала talkkonnect о начале трансляции.

  • Тег txonstart сообщает talkkonnect, хотите ли вы, чтобы talkkonnect начал передачу после запуска (вход с микрофона)

  • Тег txafterstart сообщает talkkonnect, сколько секунд ждать, пока talkkonnect начнет передачу после подключения к серверу.

  • repeattxtimes и repeattxdelay — это циклическое количество раз, которое talkkonnect должен начать передачу с задержкой (используется для тестирования).

  • Функция simplexwithmute при установке значения true отключит динамик talkkonnect во время передачи, чтобы предотвратить обратную связь и вести себя как радиопередатчик.

  • Тег txcounter включен только для отладки, чтобы подсчитать количество нажатий пользователем ptt с момента запуска (используется для отладки/тестирования)

  • Индекс nextserver должен быть установлен на 0 по умолчанию, это используется для информирования talKKonnect, к какому серверу подключаться в конфигурации xml, если есть более одного сервера, отмеченного как true. Отсчет начинается с нуля с первого сервера с тегом по умолчанию, отмеченным как true.

  • Функция txlockout, если установлено значение true, не позволяет talkkonnect осуществлять передачу, если на канале кто-то говорит.

  • Если listentochannelonstart установлен в значение true, talkkonnect будет прослушивать каналы, определенные в дочернем теге listentochannel channel при запуске, как установлено в разделе учетных записей конфигурации.


Раздел автоподготовки

А втоматическая инициализация обеспечивает возможность удаленной инициализации устройства Talkkonnect через протокол http с веб-сервера.

  • Тег автоподготовки, если установлен в значение true или false, включает и выключает функцию автоподготовки соответственно.

  • Тег tkid используется для установки имени файла автоподготовки (xxxx.xml), который talkkonnect будет запрашивать у веб-сервера автоподготовки.

  • Тег URL используется для определения URL-адреса веб-сервера автоподготовки, на котором размещен XML-файл конфигурации.

  • Теги savefileandpath используются для определения имени и того, где будет локально храниться http-файл xml. Обычно это /home/talkkonnect/gocode/src/github.com/talkkonnect/talkkonnect/talkkonnect.xml


Секция маяка

Ф ункция маяка была создана для эмуляции радиомаяка-ретранслятора, который будет воспроизводить определенные wav-файлы в определенные периоды, чтобы уведомить всех пользователей на определенном канале о том, что ретранслятор находится в сети и функционирует. Теперь вы можете воспроизвести wav-файл в потоке бормотания или также можете выбрать воспроизведение объявления на динамике (RF Side, если используется как контроллер ретранслятора)

  • Beacontimersecs — это интервал времени в секундах между повторными сообщениями.

  • Beaconfileandpath — это тег, который определяет файл и путь к wav-файлу, который будет воспроизводиться через регулярные интервалы времени.

  • Тег localplay установлен на значение true, и звук будет воспроизводиться на динамике (или на стороне RF)

  • Тег localvolume может быть установлен в диапазоне от 1 до 100 для настройки громкости воспроизведения файла на динамике.

  • Функции с поддержкой GPIO можно использовать для включения передатчика, когда сообщение находится на локальном воспроизведении (используется для ретрансляторов)

  • gpioname — это имя контакта gpio, который будет переходить в высокий/низкий уровень при воспроизведении сообщения.

  • Тег playintostream позволяет воспроизводить wav-файл в направлении потока mumble.

  • Beaconvolumeintostream можно задать в диапазоне от 1 до 100 для настройки громкости воспроизведения файла в потоке Mumble.


Раздел TTS

Э тот раздел создан для пользователей, которым нужна звуковая реакция на происходящие события (обычно это пользователи без ЖК-экрана).

  • Вы можете отключить функциональность TTS всего раздела с помощью тега tts enabled = false

  • Вы можете включить только определенные события, которые вас интересуют, установив тег tts enabled = true и выбрав нужный тег для вашего конкретного варианта использования.

  • Вы также можете установить тег блокировки, чтобы определить характер воспроизведения tts.

  • Уровень громкости можно установить от 1 до 100.

  • язык по умолчанию - en


Раздел SMTP

T alkkonnect в настоящее время может подключаться только к SMTP Gmail для отправки писем.

  • Укажите свое имя пользователя и пароль Gmail, а также получателя сообщения электронной почты в соответствующих тегах.

  • Определите тему и фиксированное тело сообщения электронной почты в соответствующих тегах.

  • Если вы хотите отправлять временную метку GPS в электронном письме, установите для тега gpsdatetime значение true (для этого вам необходимо подключить и настроить USB-адаптер GPS).

  • Если вы хотите отправить по электронной почте свое текущее местоположение GPS в координатах LAT и LONG, вы можете включить этот тег.

  • Если вы хотите включить URL-адрес в ваше закрепленное местоположение на картах Google, включите тег googlemapurl.


Раздел Звуков

В принципе в talkkonnect есть 2 типа звуковых событий: один — системный тип событий, а другой — тип ввода команды пользователя. Звуки системного типа событий генерируются либо mumble, либо talkkonnect, когда события происходят на сервере или канале. Звук типа ввода команды пользователя генерируется, когда пользователь talkkonnect отдает команду talkkonnect сделать что-либо напрямую или через удаленное управление.

  • Каждый звуковой элемент можно включить/отключить, а также можно индивидуально настроить соответствующую громкость воспроизведения.

  • Каждое событие, например, когда человек присоединяется к каналу, покидает канал или отправляет сообщение в канал, можно настроить отдельно.

  • Тег filenameandpath должен содержать полный путь и имя файла WAV, который вы хотите воспроизвести для каждого события.

  • Тег события используется для воспроизведения звукового оповещения при изменении статусов других пользователей.

  • Тег оповещения используется для воспроизведения WAV-файла в потоке принимающей стороне по запросу пользователя на тревожную сигнализацию.

  • Тег rogerbeep используется для определения WAV-файла, который будет воспроизводиться в конце каждой передачи.

  • Имя тега stream, эта функция очень мощная и может использоваться для определения локального файла или сетевого потока, который будет воспроизводиться в канале mumble при нажатии клавиши F11. Очень полезно для отладки.

  • Тег блокировки определяет, хочет ли пользователь, чтобы talkkonnect дождался воспроизведения файла перед продолжением или просто воспроизвел файл и перешел к следующему событию.


Раздел ретранслятора тона

Р епитерный тон — это определение talkkonnect для воспроизведения синусоидального тона в динамик или радиовход на предопределенную длительность в секундах предопределенной частоты, возможно, для открытия репитера. Эта функция была запрошена европейскими радиолюбителями. Я думал, что если бы был синусоидальный генератор


Раздел TXTIMEOUT

Т ег txtimeout используется для ограничения длины одной передачи в секундах. Этот тег полезен при использовании в качестве ретранслятора между RF и mumble. Также используется для предотвращения застревания клавиши и застревания talkkonect в режиме передачи.


Раздел API (удалённое управление по HTTP)

Р аздел API позволяет пользователю детально контролировать, какие функции удаленного управления доступны через http в локальной сети. Тег apilisten port определяет порт, который talkkonnect должен прослушивать и отвечать на запросы удаленного управления http

Listing API available http://{your-talkkonnect-ipaddress}:8080/?command=listapi Channel Up     http://{your-talkkonnect-ipaddress}:8080/?command=channelup Channel Down         http://{your-talkkonnect-ipaddress}:8080/?command=channeldown Mute/UnMute Toggle     http://{your-talkkonnect-ipaddress}:8080/?command=mute-toggle Mute Speaker     http://{your-talkkonnect-ipaddress}:8080/?command=mute Unmute Speaker     http://{your-talkkonnect-ipaddress}:8080/?command=unmute Volume UP     http://{your-talkkonnect-ipaddress}:8080/?command=volumeup Volume Down     http://{your-talkkonnect-ipaddress}:8080/?command=volumedown Start Transmitting     http://{your-talkkonnect-ipaddress}:8080/?command=starttransmitting Stop Transmitting     http://{your-talkkonnect-ipaddress}:8080/?command=stoptransmitting Play/Stop Stream     http://{your-talkkonnect-ipaddress}:8080/?command=stream-toggle Request GPS Position     http://{your-talkkonnect-ipaddress}:8080/?command=gpsposition Send Email     http://{your-talkkonnect-ipaddress}:8080/?command=sendemail Previous Server     http://{your-talkkonnect-ipaddress}:8080/?command=connpreviousserver Next Server     http://{your-talkkonnect-ipaddress}:8080/?command=connnextserver TTS Annoncement     http://{your-talkkonnect-ipaddress}:8080/?command=ttsannouncement Voice Target 0     http://{your-talkkonnect-ipaddress}:8080/?command=setvoicetarget&id=0 Voice Target 1     http://{your-talkkonnect-ipaddress}:8080/?command=setvoicetarget&id=1 ChannelListener Start    http://{your-talkkonnect-ipaddress}:8080/?command=listeningstart ChannelListener Stop     http://{your-talkkonnect-ipaddress}:8080/?command=listeningstop 


Раздел PrintVariables

  • Э та функция полезна для отладки значений, считываемых из каждого раздела файла конфигурации xml. Вы можете контролировать, какой раздел отображается. Эта команда привязана к клавише CTRL-X


Раздел MQTT

  • T alkkonnect может управляться удаленно с помощью публичного или локального сервера MQTT.

  • Это устраняет проблему управления устройствами Talkkonnect, которые находятся в сетях NATTED по всему Интернету.

  • Вы можете подписаться на тему сервера mqtt по вашему выбору

  • С помощью MQTT вы можете удаленно управлять Talkkonnect, а также реле для управления внешними устройствами.


Пример Ниже приведен talkkonnect.xml с рабочей конфигурацией MQTT. Предположим, мы хотим увеличить громкость микрофона cameraman1. Сначала настройте talkkonect.xml, как показано ниже, и обязательно измените данные сервера mqtt для параметров mqttbroker, mqttpassword, mqttuser, mqttid.

 <mqtt enabled="true"> <settings> <mqttsubtopic>event/cameraman1/</mqttsubtopic> <mqttpubtopic>response/cameraman1</mqttpubtopic> <mqttbroker>tcp://mqtt.yourserver.com:1883</mqttbroker> <mqttpassword>yourpassword</mqttpassword> <mqttuser>camera1</mqttuser> <mqttid>camera</mqttid> <cleansess>false</cleansess> <qos>0</qos> <num>1</num> <payload/> <action>sub</action> <store/> <retained/> <attentionblinktimes>20</attentionblinktimes> <attentionblinkmsecs>300</attentionblinkmsecs> <pubpayload> <mqtt item="0" payload="channelup" enabled="true"/> <mqtt item="1" payload="channeldown" enabled="true"/> </pubpayload> </settings> <commands> <command action="displaymenu" message="Display Menu" enabled="true"/> <command action="channelup" message="Channel Up" enabled="true"/> <command action="channeldown" message="Channel Down" enabled="true"/> <command action="muteunmute" message="Mute-Toggle" enabled="true"/> <command action="currentrxvolume" message="Current Volume" enabled="true"/> <command action="volumerxup" message="Volume Up" enabled="true"/> <command action="volumerxdown" message="Volume Down" enabled="true"/> <command action="currenttxvolume" message="Current Volume" enabled="true"/> <command action="volumetxup" message="Volume Up" enabled="true"/> <command action="volumetxdown" message="Volume Down" enabled="true"/> <command action="listserverchannels" message="List Channels" enabled="true"/> <command action="starttransmitting" message="Start Transmitting" enabled="true"/> <command action="stoptransmitting" message="Stop Transmitting" enabled="true"/> <command action="listonlineusers" message="List Users" enabled="true"/> <command action="playback" message="Playback" enabled="true"/> <command action="gpsposition" message="GPS Position" enabled="true"/> <command action="sendemail" message="Send Email" enabled="true"/> <command action="previousserver" message="Previous Server" enabled="true"/> <command action="connnextserver" message="Next Server" enabled="true"/> <command action="clearscreen" message="Clear Screen" enabled="true"/> <command action="pingservers" message="Ping Servers" enabled="true"/> <command action="panicsimulation" message="Panic Simulation" enabled="true"/> <command action="repeattxloop" message="Repeat TX Loop" enabled="true"/> <command action="scanchannels" message="Scan Channels" enabled="true"/> <command action="thanks" message="Thanks" enabled="true"/> <command action="showuptime" message="Show UpTime" enabled="true"/> <command action="dumpxmlconfig" message="Dump XML Config" enabled="true"/> <command action="ttsannouncement" message="TTS Announcement" enabled="true"/> <command action="voicetargetset" message="Set Voice Target" enabled="true"/> <command action="attention" message="Attention LED" enabled="true"/> <command action="relay" message="RelayControl" enabled="true"/> </commands> </mqtt> 


Если мы подключимся к серверу mqtt и опубликуем тему event/cameraman1 и отправим сообщение (полезную нагрузку) как volumetxup, мы заметим, что громкость голоса cameraman1 теперь стала громче, когда он/она говорит.


Ниже приведены допустимые команды для MQTT.

  • канал вверх

  • канал вниз

  • отключение звука

  • немой

  • включить звук

  • currentrxvolume

  • объемxup

  • громкостьxdown

  • currenttxvolume

  • объемtxup

  • громкостьxdown

  • начатьпередачу

  • остановитьпередачу

  • поток-переключатель

  • воспроизведение

  • gpsposition

  • connpreviousserver

  • connnextserver

  • паникасимуляция

  • сканканалы

  • обратил внимание:на

  • внимание:выкл

  • внимание:мигание

  • реле1:вкл

  • реле1:выкл.

  • реле1:импульс

  • voicetargetset

  • прослушиваниеначало

  • прослушиваниеостановка

Например, для темы thailand/bangkok/company/talkkonnect/attentionled:on включится светодиод, чтобы привлечь внимание пользователя.

Другой пример по теме thailand/bangkok/company/talkkonnect/relay1:pulse будет имитировать нажатие кнопки, например, для открытия двери для системы контроля доступа.

Для того чтобы приведенный выше пример работал, вам придется указать пин gpio в разделе XML-файла.


Раздел TTSMessages

  • Э та функция полезна, когда вы хотите, чтобы talkkonnect действовал как оповещатель. Эта функция использует Google Translate для генерации речи из текста.

  • Тег ttsmessages enabled отключает или включает эту функцию в talkkonnect.

  • Например, ttslanguage можно установить на en для английского языка (другие языковые коды см. в Google Translate)

  • ttsmessagesfromflag Если этот параметр установлен на значение true, в объявлении будет указано «сообщение от», однако для целей объявления мы рекомендуем вам установить значение false, если вы не хотите, чтобы в объявлении произносилось слово «сообщение от».

  • ttstone — это тег, которому нужен абсолютный путь к wav-файлу для воспроизведения перед объявлением

  • блокировка установлена таким образом, что звуки воспроизводятся в порядке ожидания окончания воспроизведения каждого звука

  • ttssounddirectory установлен на audio, это место, где будут создаваться wav-файлы из движка tts

  • localplay установлен в значение true, если вы хотите воспроизвести файл локально через динамик talkkonnect или локальные усилители

  • playintostream имеет значение true, если вы хотите воспроизвести объявление в потоке, чтобы все пользователи канала могли его услышать.

  • speakvolumeintostream установит громкость от 0 до 100 для воспроизведения звука tts в потоке, чтобы другие на том же канале могли его слышать

  • playvolumeintostream установит громкость от 0 до 100 для воспроизведения звука wav-файла в потоке, чтобы другие на том же канале могли его слышать

  • gpio name=transmit если включено, GPIO будет установлен на высокий уровень во время воспроизведения объявления с целью управления реле для возможного включения внешнего устройства, например аудиоусилителя или мигающего света для привлечения внимания во время воспроизведения объявления.

  • предварительную задержку и постзадержку можно задать в секундах, чтобы обеспечить небольшую задержку до и после воспроизведения объявления


Игнорировать раздел пользователя

  • Э та функция используется в случае, если вы не хотите получать звук от какого-либо пользователя (пользователей), например, вы передаете звук на другое устройство в той же комнате и не хотите слышать себя.

  • Обратите внимание, что ignoreuserregex принимает регулярное выражение пользователя, чтобы игнорировать и не воспроизводить аудио для этого пользователя при получении.


Раздел оборудования

  • П лата тегов targetboard имеет 2 опции (1) pc и (2)rpi. Режим pc используется, когда talkkonnect работает на ПК или сервере, который не имеет GPIO и не подключен к кнопкам и ЖК-экрану.

  • Для запуска на Raspberry Pi или других совместимых одноплатных компьютерах установите целевую плату на rpi, это включит выходы/входы GPIO.

  • Если вы используете ресивер-хэт со светодиодной лентой

<ledstripenabled>true</ledstripenabled>
<voiceactivitytimermsecs>200</voiceactivitytimermsecs>


Раздел МО

  • Р аздел ввода-вывода был полностью переписан, чтобы сделать его более гибким и упростить добавление функций в talkkonnect в будущем.

  • gpioexpander enabled = true указывает, что для чипа MCP23017D, подключенного к адресу шины i2c, указанному в теге i2cbus с конфигурацией адреса, указанной в mcpdevice, этот номер может быть от 0 до 7, поддерживая в общей сложности 8 чипов на одной шине i2c. Пока что чип-расширитель используется для gpio в направлении вывода. Тег enabled или disabled для идентификатора чипа включает или отключает этот конкретный чип.

  • Также теперь есть поддержка max7219 8 x 7-сегментного драйвера, подключенного к шине SPI, для отображения идентификатора канала. Здесь вам нужно будет установить каскадное значение 1, а адрес spibus также spidevice и яркость от 0 до 7. Тег enabled включает и отключает этот дисплей.

  • Раздел контактов с тегом контактов отображает направление контакта gpio, который может быть входом или выходом. Устройство может быть светодиодом, реле, ЖК-дисплеем, радиомодулем, кнопкой или тумблером. Тег имени отображает предопределенные функции в talkkonnect, тег pinno отображает номер gpio, и если внешний чип-расширитель не используется, установите chipid на 0. Инвертированный сигнал инвертирует логическое напряжение выходного сигнала с активного высокого уровня на активный низкий уровень и наоборот. В обычных случаях инвертированный будет установлен на false. Как обычно, включенный тег отключает или включает каждую линию gpio.

  • Функцию вращающегося энкодера теперь можно включать и отключать, чтобы управлять каналом бормотания вверх вниз, локальной громкостью или радиоканалом радиочастотного модуля sa818, в зависимости от того, какую функциональность вы хотите от вращающегося энкодера, вы можете задать порядок и включать и отключать их. Вы можете переключаться между функциями вращающегося энкодера, нажимая кнопку вращающегося энкодера. Если вращающийся энкодер реагирует слишком быстро или слишком медленно, отрегулируйте теги leadingmsecs pulsemsecs и tailing msecs.

  • Чтобы использовать поворотный энкодер, вам также придется определить в разделе ввода-вывода контакты для rotatea, rotateb и button, поскольку они являются входами, идентификатор чипа должен быть равен 0, а устройство должно быть rotateecoder.

  • Функции канала памяти позволяют вам определить имя GPIO для избранного канала. Вы можете иметь до 4 кнопок для каналов памяти.


Раздел «Кнопка регулировки громкости»

  • Э та настройка позволяет вам определить шаг увеличения или уменьшения регулировки громкости. Эта настройка будет зависеть от ваших предпочтений и используемой звуковой карты.


Раздел Heartbeat (ВЫХОД)

  • Т ег heartbeat определяет контакт GPIO, который будет переключаться в соответствии с заданными значениями, чтобы показать, что talkkonnect активен и работоспособен.

  • Обратите внимание, что этот пульс может использовать тот же GPIO PIN и VoiceActivityPIN, так что один светодиод может иметь двойную функцию.

  • Примечание. Отключите пульсацию или не используйте тот же контакт, что и светодиод голосовой активности, если вы подключаете talKKonnect к трансиверу.


Раздел комментариев

  • Э та функция позволяет пользователю установить 2 возможных сообщения, например, сообщения об отсутствии, в зависимости от состояния тумблера.

  • Когда другой участник, использующий talkkonenct, нажимает F10, он может увидеть имя пользователя вместе с заданным сообщением (в зависимости от положения переключателя вкл./выкл.) в квадратных скобках.

  • Тег commentbuttonpin определяет контакт GPIO, к которому подключен тумблер.


Раздел ЖК-дисплея (для ЖК-экрана HD44780 20x4)

  • Н а данный момент talkkonnect поддерживает легкодоступный 4-строчный 20-символьный ЖК-модуль HD44780.

  • Чтобы отключить эту опцию экрана, вы можете установить enabled = "false"

  • Поддерживаются как параллельный, так и i2c-интерфейсы для ЖК-модуля HD44780, которые можно настроить в этом разделе.

  • Допустимые теги interfacetype: parallel или i2c

  • Адрес i2c можно получить, выполнив команду i2cdetect -y 1. Преобразуйте адрес, отображаемый в шестнадцатеричном формате, в десятичный и заполните тег lcdi2caddress.

  • Также доступна функция подсветки и время отключения подсветки ЖК-дисплея в случае отсутствия активности на канале в течение определенного периода времени в секундах.

  • Контакты rs, e, d4, d5, d6, d7 — это контакты GPIO, которые подключаются к дисплею HD44780 в параллельном режиме.

  • ПРИМЕЧАНИЕ! Вы не можете использовать контакты 2,3 на Raspberry Pi ни для чего, кроме режима I2C, если вы хотите подключить дисплей I2C.


Раздел OLED (для OLED-экранов с интерфейсом I2C 0,96 и 1,3 дюйма)

  • Н а данный момент talkkonnect также поддерживает легкодоступные 0,96- и 1,3-дюймовые I2C OLED-экраны.

  • Чтобы отключить эту опцию экрана, вы можете установить enabled = "false"

  • Интерфейс i2c — это единственная опция, которую следует указать, поскольку spi не разработан.

  • Адрес i2c можно получить, выполнив команду i2cdetect -y 1. Преобразуйте адрес, отображаемый в шестнадцатеричном формате, в десятичный и заполните тег lcdi2caddress, в большинстве случаев шина i2c будет равна 1.

  • Для OLED-экранов пока нет функции подсветки

  • Вам придется указать строки и столбцы, которые поддерживает ваш экран (для моего экрана я использовал 8 строк и 21 столбец)

  • Ширина и высота дисплея OLED для моего экрана составляли 130 на 64.

  • Еще одной важной настройкой является настройка oledstartcolumn, которая для экранов 0,96 дюйма установлена на 0, а для экранов 1,3 дюйма — на 1. Это удалит весь мусор, который вы видите по краям экрана.

  • ПРИМЕЧАНИЕ! Вы не можете использовать контакты 2,3 на Raspberry Pi ни для чего, кроме режима I2C, если вы хотите подключить дисплей I2C.


Раздел GPS

  • T alkkonnect поддерживает USB-модуль ublox 6 для обеспечения GPS-отслеживания при активации режима паники.

  • Установите для тега enabled значение false, если у вас не подключен USB-ключ.

  • Определите порт, на котором обнаружен GPS, в Linux обычно это /dev/ttyACM0

  • Определите все остальные настройки последовательного порта, такие как скорость передачи данных, четность/нечетность/отсутствие четности, а также стоповые биты и биты данных.


Раздел трамваев

  • В ы можете отключить и включить GPS-отслеживание на платформе Traccar с помощью тега enabled

  • если вы установите для параметра track значение true, данные будут отправляться в traccar в зависимости от указанного вами имени протокола и настроенных вами данных подключения к протоколу.


Раздел PanicFunction

  • Ф ункцию паники можно включить или отключить, она используется для запроса помощи.

  • Тег Filenameandpath используется для определения WAV-файла, который будет воспроизведен в потоке при нажатии кнопки паники.

  • Тег громкости определяет громкость воспроизведения wav-файла в потоке.

  • Sendident отправит содержимое тега ident, определенного в разделе аккаунта. Это используется в случае, если вы хотите, например, чтобы ваше имя или альтернативный идентификатор были отправлены в сообщении о панике.

  • Тег panicmessage определяет текстовое сообщение, которое будет отправлено на родительский канал и все дочерние каналы, если recursivemessage установлен как true при нажатии кнопки паники.

  • Тег sendgpslocation позволяет отправлять GPS-координаты talkkonnect с просьбой о помощи в виде текстового сообщения.

  • Тег с включенным txlock заблокирует talkkonnect в режиме передачи на указанное время txlocktimeoutsecs после нажатия кнопки, чтобы запрашивающая сторона могла разговаривать, не нажимая кнопку ptt.


Раздел USB-клавиатуры

  • З десь вы можете включить проводную/беспроводную USB-клавиатуру для голосового управления и других прямых команд для безголового TalkKonnect.


Раздел «Команды клавиатуры»

  • С talkkonnect у вас есть возможность использовать USB-клавиатуру/USB-цифровую клавиатуру для управления talkkonnect, например, нажмите «1» для перехода на следующий канал и «2» для перехода на следующий канал.

  • Используя USB-клавиатуру, вам не нужно входить в систему терминала, просто подключите и пользуйтесь.

  • Вы можете определить команду, связанную с каждой клавишей tty или каждой клавишей на цифровой клавиатуре USB.

  • TTY. Клавиатура, которую вы используете при подключении к устройству по SSH или при использовании TalkKonnect в терминале.

  • в ttykeyboard вы можете установить идентификатор сканирования для каждой клавиши в терминальной сессии

  • в usbkeyboard вы можете установить идентификатор сканирования для каждой клавиши на физической клавиатуре

  • USB означает использование внешней проводной или беспроводной цифровой USB-клавиатуры непосредственно на USB-порту Raspberry Pi для управления Talkkonnect в режиме Headless.

  • Ниже приведены команды, которые можно назначить клавиатуре TTY или USB.

  • канал вверх

  • канал вниз

  • серверup

  • сервер вниз

  • немой

  • включить звук

  • отключение звука

  • поток-переключатель

  • увеличение громкости

  • уменьшение громкости

  • setкомментарий

  • трансмиттерстарт

  • трансмитстоп

  • записывать

  • voicetargetset

  • mqttpubpayloadset

  • повторительтональный плей

  • прослушиваниеканаластарт

  • прослушиваниеканаловстоп


Радиосекция

  • Р адиочасть должна поддерживать радиочастотный трансивер типа SA818, подключенный к Talkkonnect через последовательный порт, чтобы Talkkonnect мог управлять радиочастотными параметрами модуля (это пример использования ретранслятора).

  • Включенный тег может сообщить talkkonnect, подключено ли к talkkonnect устройство SA818.

  • вы можете задать последовательные параметры для последовательного порта, бод, стоповые биты, биты данных в последовательных тегах

  • для целей управления каналом вам необходимо указать идентификатор канала устройства, например 01,02,03,04 и т. д.

  • вам нужно будет установить

  • пропускная способность до 0 или 1

  • частота приема МГц с 3 4 десятичными знаками

  • txfrequency МГц с 3 4 десятичными знаками

  • шумоподавление 0 - 8

  • ctsstone

  • dcstone

  • предвосхищение

  • высокочастотный

  • фильтр нижних частот

  • громкость 0 - 8


Первоисточник


Ctrl
Enter
Заметили ошЫбку
Выделите текст и нажмите Ctrl+Enter
Комментарии (0)
Топ из этой категории
Разрешенные безлицензионные, гражданские, частоты в Украине. Разрешенные безлицензионные, гражданские, частоты в Украине.
LPD (от англ. Low Power Device) – 433,05 – 434,79 МГц., в этом диапазоне разрешена работа (без специальных разрешений)...
20.02.25
14
0
TalKKonnect TalKKonnect
talKKonnect — это настраиваемый автономный клиент Mumble Push to Talk (PTT) с открытым исходным кодом, разработанный...
17.02.25
28
0