Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 6 из 8 ПерваяПервая ... 345678 ПоследняяПоследняя
Показано с 51 по 60 из 72

Тема: Хочу поделиться программой

  1. #51
    Прекратил работу старый сервер pmr, читаем 32 пост данной темы.


  2. #52
    Вечный "начинающий" Аватар для UnDroid
    Регистрация
    02.12.2014
    Адрес
    Kyiv, UA
    Сообщений
    538
    Записей в дневнике
    2
    Позывной
    UT4UUB
    Просьба к автору: выложите, пожалуйста, схему в лучшем качестве - номиналы не читаемы..
    И вопрос: насколько код Ардуины переносим? Есть одна идея...
    Евгений. 73!

  3. #53




    Цитата Сообщение от UnDroid Посмотреть сообщение
    насколько код Ардуины переносим?
    Переносим куда? Из за отсутствия на данном Ардуино ЦАП, он реализован посредством ШИМ. На другие микроконтроллеры это не переносимо, но все остальное сделано на языке Си, с некоторыми правками код переносим. Из за скромных возможностей данного Ардуино используется всего лишь 8 битный звук. Гораздо интересней исходный код под Linux. Последняя версия находится в образе диска для OrangePi zero, который тут выложен.

  4. Спасибо от UnDroid

  5. #54
    Вечный "начинающий" Аватар для UnDroid
    Регистрация
    02.12.2014
    Адрес
    Kyiv, UA
    Сообщений
    538
    Записей в дневнике
    2
    Позывной
    UT4UUB
    RN6LIQ, на ESP32 есть желание перетащить. Получится беспроводная погремушка. Так интереснее. Ну и проц там значительно мощнее.
    Евгений. 73!

  6. #55
    Этот вариант мы уже рассматривали. По отзывам других товарищей, кто уже пробовал, на качествo микрофона сильно влияет помеха от WiFi. Так же я пробовал вариант связки ардуино и esp-01, видеоролик прилагается. Работает нормально.
    http://188.168.58.111:8080/GAME/ArduinoESP.html
    Последний раз редактировалось RN6LIQ; 10.01.2021 в 05:25.

  7. #56
    Дополнение к постам 47 и 49, - когда система с образа будет развернута, то диск будет всего 4 гига. Если он физически больше по размеру, то необходимо образ "растянуть" командой
    /usr/lib/armbian/armbian-resize-filesystem start
    а затем перезапустить систему командой reboot

  8. #57
    ВЕРСИЯ ПМР рации для Linux в консольном режиме.

    В этой теме уже выкладывалась подобная программа для использования на микрокомпьютере Orange PI Zero, в режиме симбиоза с телефонным аппаратом. Необходимость новой версии (на базе старой) появилась после моего опыта использования микрокомпьютера Raspberry PI в режиме Desktop. На этом микрокомпьютере используются ARM архитектура и поэтому нельзя запустить приложения Windows в режиме эмуляции Wine. А необходимость связываться по PMR каналам есть. Значит надо использовать версию именно для ARM процессоров. Также в Raspberry PI нет своей нормальной полноценной звуковой карты. Но можно использовать различные USB звуковые карты. Вот тут и начались проблемы. Для PMR базовой частотой дискретизации является 16000. А различные подключаемые устройства чаще всего не умеют работать с такой частотой. Вернее устройства могут, но драйвер ALSA видит только некоторые их режимы, в основном 44100 и 48000, а одна из имеющихся у меня гарнитур может работать только в 44100, причем в режиме стерео и по приему и по передаче. Вот в основном в этом направлении и сделана доработка. Данная программа подстраивается под тот режим который обеспечивает драйвер ALSA. И также эта программа работает под управлением клавиатуры, в отличии от старой версии где всё управление происходит через GPIO и DTMF код.
    Новая программа работает в двух режимах, PMR рации и в режиме телефона. В режиме PMR при старте программы считываются данные с файла phonebook.txt, где с первой строчки считывается сервер, базовый порт, номер канала и индекс с которыми программа запускается. В последующем можно переключаться между записями этого файла с помощью клавиатуры. Ввод 01 переключит на данные во второй строчке файла phonebook.txt. И так далее. Также можно начинать с цифры 9 (901 например), в этом случае можно обратится к 99 записям файла. Возможен ввод семи цифр ( 2790362 ), первая цифра номер канала, а остальные шесть номер индекса. Каждая команда завершается нажатием Enter. Нажатие этой клавиши без аргументов управляет приемом передачей. Одна цифра от 0 до 9 переключает каналы.
    В режиме телефона программа всегда находится в канале определенной первой строчкой файла phonebook.txt. При наборе номера ( 01...09, 901...999, семизначного номера ) программа переходит на новый канал и пытается вызвать корреспондента, туда идет звонок а нам длинные гудки. При неудачном вызове, например в нужном канале нет корреспондента, - идут короткие гудки и программа возвращается в свой канал.
    Если коннект произошел, то начинается разговор, причем в отличии от PMR режима разговор в канале нельзя подслушать другим корреспондентам которые будут находится в этом канале.
    Есть возможность настроить звонок в отдельный динамик, а разговор в отдельную гарнитуру. Например подключенная гарнитура будет отложена в сторонку, а звонок прозвучит в динамиках. В этом случае одевается гарнитура, в консоли нажимается Enter и разговор начинается. Самом собой этой программой можно пользоваться если у Raspberry нет графической среды, а только текстовая консоль. Также программа работает на других микрокомпьютерах с ARM архитектурой.
    Последний раз редактировалось RN6LIQ; 24.03.2021 в 15:22.

  9. Спасибо от UA0YAS

  10. #58
    Хотел бы напомнить, а тем кто читает только последние посты рассказать еще про команды в командной строке:
    b + Enter(нажать маленькую латинскую букву b а затем клавишу Enter) - подать звуковой сигнал. При этом у нас ничего не звенит, а у корреспондента звенит звонок.
    exit + Enter - выйти из программы.
    Также про некоторые команды Linux
    Что бы узнать какие звуковые карты подключены надо выполнить команду aplay -l, если такой команды нет, то установить sudo apt-get install alsa-utils
    Код:
    pi@raspberrypi3:~ $ aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
      Subdevices: 8/8
      Subdevice #0: subdevice #0
      Subdevice #1: subdevice #1
      Subdevice #2: subdevice #2
      Subdevice #3: subdevice #3
      Subdevice #4: subdevice #4
      Subdevice #5: subdevice #5
      Subdevice #6: subdevice #6
      Subdevice #7: subdevice #7
    card 1: Device [Generic USB Audio Device], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    pi@raspberrypi3:~ $
    Как у меня в листинге, видно что кроме стандартной звуковой карты под номером card 0 есть еще card 1. Это внешняя USB , вот такая
    Нажмите на изображение для увеличения. 

Название:	usbcard1.png 
Просмотров:	77 
Размер:	24.5 Кб 
ID:	354665
    Значит для того что бы программой открыть её надо в файле init.ini прописать
    Код:
    hw:1,0;16000;1;// input
    hw:1,0;16000;1;// output
    13723; // recive port
    22;    // 19(16000_8), 21(16000_16), 22(16000_G711), 25(8000_16), 26(8000_G711), 27(8000_8)
    hw:1,0 это есть вторая карта, hw:0,0 это первая карта, то есть выход звука Raspberry. Так как к этому микрокомпьютеру не подключен монитор, то мы не видим еще одну звуковую HDMI.
    Еще немного про файл init.ini, первая и вторая строка это вход выход звука. 16000;1; - это частота дискретизации и количество каналов. Впрочем эти значения можно не прописывать, и так все будет работать. Или вообще не трогать, пусть так и остается. Третья строка это сетевой порт приёма. Если в квартире запущено несколько таких программ, или их версий для Windows, то у всех этих программ должны быть разные номера портов, иначе они могут сбоить. Четвертая строка меняет режим передачи, без надобности тут лучше ничего не менять.
    В папке есть еще файл bell, в нем прописана команда внешнего звонка. Что бы нам вывести звонок на динамики Raspberry нужно в нем указать
    Код:
    /usr/bin/aplay -Dplughw:0,0 /home/pi/PeoplesPhone/bell.wav
    Вот и все настройки.
    А вот конфигурация для другого микрокомпьютера
    Код:
    root@orangepipc:~# aplay -l
    **** List of PLAYBACK Hardware Devices ****
    card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 [CDC PCM Codec-0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 1: USB [Plantronics .Audio 628 USB], device 0: USB Audio [USB Audio]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    card 2: sun8ih3hdmi [sun8i-h3-hdmi], device 0: 1c22800.i2s-i2s-hifi i2s-hifi-0 [1c22800.i2s-i2s-hifi i2s-hifi-0]
      Subdevices: 1/1
      Subdevice #0: subdevice #0
    root@orangepipc:~#
    Тут есть еще один выход на HDMI. А под номером card 1 ( hw:1,0 ) идет USB гарнитура, что то типа этого
    Нажмите на изображение для увеличения. 

Название:	usbcard2.png 
Просмотров:	84 
Размер:	31.3 Кб 
ID:	354670
    В ней вообще удобно разговаривать по каналам PMR, в режиме дуплекса или симплекса (каждый раз нажимать Enter для перехода с приема на передачу и наоборот).
    Ну и напоминаю, что программа ещё хороша тем, что она может работать без графической оболочки.
    Для обычных персональных компьютеров эта программа тоже может быть полезна, в том случае если там нет графической оболочки. Вот версия ДЛЯ ЭТОГО.
    Последний раз редактировалось RN6LIQ; 24.03.2021 в 21:49.

  11. #59
    Хотелось бы узнать мнения уважаемых радиолюбителей вот по такому вопросу, как лучше приспособить PMR к управлению удаленной радиостанцией через сеть интернет? Сейчас расшифрую что именно хочется узнать. Подобным мне уже приходилось заниматься через "Виртуальную шарманку", но для этого использовался полноценный компьютер под управлением операционной системы Windows. На данный момент это уже явно не современно. На примере PMR проекта видно, что сейчас для этого можно использовать микрокомпьютеры под управлением Linux, или еще лучше микроконтроллеры. Сейчас у меня появилась необходимость сделать удаленное управление своей УКВ радиостанции. На данный момент пока что не рассматриваю использование микроконтроллеров, все таки на этапе проектирования более удобно делать все через микрокомпьютер. Все таки полноценный Linux позволяет использовать множество удобностей, таких как удаленное управление, защиту трафика и многое другое. К тому же у меня завалялись устаревшие и маломощные платы микрокомпьютеров, которые тем не менее превосходно могут управлять удаленным приема-передатчиком. Итак что нужно. Лично мне надо управлять радиостанцией yaesu vx-7r. Для этого уже давно был сделан CAT интерфейс, где кроме линий входа/выхода есть еще управление приемом/передачей через замыкание контактами. Раньше замыкание происходило через управление COM порта компьютера. Теперь надо переделать через GPIO микрокомпьютера. Это не проблема. Но так как программу делаю так, что бы ею потом могли воспользоваться другие радиолюбители, хочу сразу заложить другие возможности. Вот что меня интересует:
    1. Насколько есть необходимость производить прием с приемника и передачу в сеть по реакции появления на каком либо контакте управляющего напряжения? Как по мне это кажется лишним. Сейчас все приемники работают с шумодавом, а это значит, что как только прошел сигнал на вход звуковой карты микрокомпьютера выше определенного порога, то надо это передавать в сеть. Другое дело, что желательно бы делать анализ спектра что бы отсекать помеху в виде шумов, но с этим пока погожу. А если используется CTCSS или DCS, то эта проблема уже решается на уровне радиостанции. Так что остается первоначальный смысл вопроса, нужна ли реакция какого либо GPIO контакта на микрокомпьютере, где как только появится изменение сигнала, то должна начинаться передача принимаемого с приемника сигнала в сеть? Или достаточно VOX по превышению порогового уровня сигнала?
    2. Достаточно ли для начала работы радиостанции на передачу выставить управляющий уровень на контакте GPIO? Для моей задачи, которую сейчас решаю, этого пока достаточно. Но если бы использовал FT-817, то там происходит управление через последовательный интерфейс, то есть нужны управляющие коды. Для меня это пока не нужно, но насколько это важно для тех, кто потенциально будет потом пользоваться моей программой? Про VOX на самой радиостанции я пока умалчиваю, это самый простой вариант. Правда не на всех радио он есть.
    Итак схема простая:
    Радиостанция <-> Микрокомпьютер <-> Канал PMR закрытый индексом или даже VPN <-> Любой клиент PMR, это может быть версия под Андроид.
    Становимся на нужный канал закрытый индексом, где стоит удаленная радиостанция, включаем передачу, удаленная радиостанция также становится на передачу и мы вещаем в эфир. Как только прекратили передачу, то радиостанция переходит на прием и в канал идет принимаемый с нее звук. Если таких радиостанций несколько, то их можно разнести по нескольким канала PMR и переключаться между ними. А можно через специальную программу, которую еще надо написать, объединить их в радио сеть и управлять ею. Или в этом канале может быть клиент виртуальной шарманки, с режимом PMR, и тогда выходить в радиоканал можно будет пользователям шарманки.
    Как видно с описания, эта схема не позволяет перестраиваться по частоте и изменять другие настройки радиостанции. Это отдельная и довольно не простая задача, где необходимо учитывать тип самой радиостанции. Но возможно когда либо мне понадобится удаленное управление моим FT-817, вот тогда займусь и этим. Но пока что нет даже готового клиента PMR, что бы мог делать такое управление. Итак, кого интересует данная тема, подключайтесь пожалуйста к обсуждению.
    Понятно, что есть множество таких других подобных решений, например FRN, но цель данной темы, сделать это именно через PMR проект. Он очень простой, по предыдущим исходникам это видно. И для этого не нужно бесконечное множество зависимых библиотек и самых последних версий Linux. Все помещается в нескольких файлах и используются самые стандартные возможности Linux. Работает практически на всех версиях. Там где нет звукового входа, то реализуется звук через внешние USB звуковые карты. Ну а наличие GPIO у микрокомпьютеров решает проблемы переключений.
    Последний раз редактировалось RN6LIQ; 21.04.2021 в 11:20.


  12. #60
    Выкладываю версию программы для микрокомпьютеров на ARM процессорах для организация линка. Функциональная схема имеет такой вид.
    Нажмите на изображение для увеличения. 

Название:	link.png 
Просмотров:	59 
Размер:	33.5 Кб 
ID:	356970
    Характеристики этой консольной программы:
    - предназначена для работы в Linux среде на микрокомпьютерах Raspberry PI, Orabgepi PI и подобных.
    - используемая звуковая библиотека - Alsa
    - библиотека для работы с GPIO - Wiringpi (для PTT), прямое и инверсное управление контактами
    - качество звука - частота дискретизации 16000 и 8000, уровень квантования 8 и 16 бит, G711
    - использование встроенных и внешних звуковых устройств, автоматическая адаптация под те режимы, что есть в зв. картах, 44100, 48000, моно, стерео.
    - использование цифровых фильтров с полосой 8, 4, 3.4, 2.7, 2,4 кГц. (для устранения неприятных, раздражающих звуков)
    - использование программного усилителя с нужным коэффициентом усиления.
    - использование регулируемого порогового VOX
    - возможность отсечения "хвостика" репитера после окончания передачи радиостанции
    - управление через виртуальный PMR канал. Приоритет принимаемого звукового потока из сети над тем, что приходит с радио. То есть, если по PMR каналу приходит звук, то выдача звука с приемника в сеть прекращается, передатчик переводится в режим передачи.
    Назначение файлов:
    phonebook.txt - предназначен для организации подключения к PMR каналу. Вот его содержимое
    Код:
    127.0.0.1:16000:7000000=MyLocal
    185.221.154.39:16000:7000000=MyGlobal
    Первая строчка подключает программу к локальному серверу PMR с базовым портом 16000, канал 7, без индекса (то есть индекс 000000)
    Если настроить виртуальную рацию на этот канал, то с нее можно управлять радиостанцией. Только надо указать вместо ip 127.0.0.1 тот адрес, с которым работает микрокомпьютер. Для того что бы подключиться через внешний сервер необходимо верхнюю и нижнюю строчку поменять местами. Выше, в данной теме, про это писалось.
    init.ini - в файле хранятся настройки для программы.
    Код:
    hw:1,0;16000;1;// input
    hw:1,0;16000;1;// output
    13763;   // recive port
    26;      // 19(16000_8), 21(16000_16), 22(16000_G711), 25(8000_16), 26(8000_G711), 27(8000_8)
    3.0;     // USILITEL mic (microphone amplifier)
    1;500;   // VOX only for pmr mode
    f27;     // FILTER 0.3-2700 ( f24, f27, f34, f40 ) only for  25(8000_16), 26(8000_G711), 27(8000_8)
    0;       // pause after transmission
    0;12;0;  // pin prd  send prd radio
    0;13;0;  // pin prm  send prd net
    Первые две строки параметры звука. Нам нужна в основном одна цифра hw:1,0 которая помечена жирным шрифтом. Она обозначает номер карты. Родная звуковуха микрокомпьютера имеет номер 0, а у меня в примере 1. Это говорит о том, что это внешняя USB карта. Её номер лучше всего узнать через программу alsamixer, после ее запуска нажимаем F6 и увидим номера карт, прописываем номер нужной.
    13763; // recive port номер UDP порта на который будем принимать пакеты с сервера. Для каждого экземпляра программы указываем свой номер, даже если они находятся на разных микрокомпьютерах.
    26; // 19(16000_8), 21(16000_16), 22(16000_G711), 25(8000_16), 26(8000_G711), 27(8000_8) - качество звука
    3.0; // USILITEL mic (microphone amplifier) - программный усилитель, обозначает коэффициент усиления с плавающей запятой(точкой), если установлено значение 0.0 или 1.0 то усилитель выключен
    1;500; // VOX only for pmr mode - если первая цифра 0, то VOX выключен. 500 - пороговый уровень срабатывания.
    f27; // FILTER 0.3-2700 ( f24, f27, f34, f40 ) only for 25(8000_16), 26(8000_G711), 27(8000_8) эти фильтра работают только для частоты дискретизации 8000
    0; // pause after transmission - время в миллисекундах в течении которого на сервер не будет ничего передаваться сразу после окончания передачи радиопередатчика.
    0;12;0; // pin prd send prd radio
    0;13;0; // pin prm send prd net

    эти две строки управляют pin GPIO, соответственно для приема и передачи. Первая цифра если ноль, pin не используется, если 1 используется. Вторая цифра номер используемого контакта в нумерации библиотеки wiringpi. Третья цифра если 0, инверсия не используется, если 1 используется. Это нужно для подстройки под нашу схему согласования на транзисторах или оптронах, ну и тому подобному. Первая строчка управляет приемом передачей радиопередатчика. Для радиостанции это PTT. Если на радиостанции не используется VOX, то это очень нужное управление. Вторая строчка позволяет выдавать в сеть. Если использовать приемник с шумоподавителем, то этот pin не очень нужен. Тут значительно эффективней будет работать VOX на данной программе. Появился звук выше порога и в сеть пошла передача. Но если у нас к звуковой карте подключена не радиостанция, а например микрофон, то лучше использовать этот pin управления в качестве клавиши PTT.
    server - сервер PMR, локальный.
    while - через этот скрипт запускается программа данного линка
    link0 - версия линка без использования gpio
    link
    - наша программа линка
    rc.local - тут показан пример, как запускать программы в автозагрузке. Необходимо из этого файла в ваш файл /etc/rc.local скопировать всего две строчки
    Код:
    /root/link/server >/dev/tty9 </dev/tty9 &
    /root/link/while >/dev/tty10 </dev/tty10 &
    И при загрузке ОС микрокомпьютера будут запускаться сервер PMR и программа данного линка.
    Последний раз редактировалось RN6LIQ; 27.04.2021 в 14:29.

Страница 6 из 8 ПерваяПервая ... 345678 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Поделиться документацией на трансивер
    от gleco1 в разделе Трансиверы, приемники КВ/УКВ
    Ответов: 17
    Последнее сообщение: 02.02.2019, 18:23
  2. Как познакомить браузер с программой?
    от ra6foo в разделе Программное обеспечение
    Ответов: 45
    Последнее сообщение: 01.02.2014, 15:40
  3. КАК ПОЛЬЗОВАТЬСЯ ПРОГРАММОЙ RFSimm99rus
    от VOVA080808 в разделе Технический кабинет
    Ответов: 31
    Последнее сообщение: 01.10.2010, 00:04
  4. Не могу разобраться с программой...
    от vadim1002star в разделе Для начинающих
    Ответов: 1
    Последнее сообщение: 07.02.2010, 17:29
  5. Какой программой перекодировать GIF или PLT в S-layot ?
    от R0SBD в разделе Программное обеспечение
    Ответов: 3
    Последнее сообщение: 08.04.2006, 04:53

Ваши права

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