Посмотрите примеры из esp-adf, там большая часть, того что нужно - есть
Esp arduino основан на esp-idf, и там freertos и сеть "из коробки"
Посмотрите примеры из esp-adf, там большая часть, того что нужно - есть
Esp arduino основан на esp-idf, и там freertos и сеть "из коробки"
Вот что бы во всем этом не путаться предлагается использовать один единственный сервер с очень простым протоколом. Если внимательно прочитать первый пост, то там говорилось, что через STUN не всегда будет работать (про симметричные NAT), а если лепить в проект TURN, то уж лучше использовать свой сервер, который проще (всего 4 байта служебной информации на пакет), настолько проще, что получилось на Arduino Uno(Nano) реализовать простой IP приемопередатчик. Типовые решения часто избыточны для конкретной простой реализации, поскольку они универсальны, на многие жизненные случаи. Схема сетевого взаимодействия устройств, применяемая в нашем проекте, строится на моем многолетнем опыте разработки различных сетевых проектов. Все о чем вы пишите уже опробовано, и выбран именно данный способ как более простой.
Добавлено через 6 минут(ы):
Ну так кто спорит, мы что изобретаем свое сетевое взаимодействие? Также используем стандартные механизмы обмена по сети. Если посмотреть наш исходный код для Arduino, то можно заметить, что сетевой код взят прямо из примеров Arduino IDE. В общем то мы ничего не изобретаем, используем все те же принципы которыми все давно пользуются, просто предлагаем уже практическую реализацию, выбросим все лишнее и оставив только то, что действительно нужно.
Добавлено через 15 минут(ы):
Современное программирование идет по пути создания большого "паровоза". Вместо того, что бы ездить в булочную на велосипеде, мы ездим на больших автобусах. Это аллегория, которой хотел сказать, что при программировании берем какую либо готовую библиотеку за которой "цепляются" другие библиотеки, готовые протоколы, за которые "цепляются" другие протоколы, и в результате вместо маленькой программы получаем "монстра". На мощных железках это все работает. Как не работать, если в моем смартфоне 8 ядер, 4 гига ОЗУ и "батарейка" на 4 Ампер/часа что бы все это работало. Мощностью процессоров мы решаем свою "простоту" программирования. А если взять маломощный процессор? Оптимальный по выполняемой задаче..., и тогда получится, что наш паровоз туда не влазит.
Добавлено через 11 минут(ы):
В общем то с сетью все понятно. Чего тут обсуждать. Все уже реализовано и работает, и как уверяют некоторые пользователи работает лучше чем другие программы, проще и связь устойчивее. Надо двигаться дальше. А дальше - это улучшения качества звука при реализации на микроконтроллерах, желательно дешевых, что бы "жаба не душила" за цену вопроса.
Последний раз редактировалось RN6LIQ; 22.06.2020 в 13:45.
А нет каких нибудь железяк дешевых вроде vs1063 чтобы кодированием/декодированием не заморачиваться ?
Надо учитывать один нюанс. Когда программа запускается несколько раз на одном компьютере ( из разных каталогов ), то при невозможности открыть порт приема она ищет следующий свободный порт до тех пор, пока не сможет открыть его (для версии Windows) . И таким образом несколько экземпляров программы уживаются на одном компьютере, а NAT сервер правильно пробрасывает пакеты на их порты. Но если программу запустить еще на одном компьютере, то в сети появятся одинаковые порты, но на разных IP. Казалось бы ничего страшного, но вот тут то и могут быть проблемы, у NAT начинается какая то путаница и на втором компьютере связи может не быть. Для того что бы решить проблему надо определить на втором компьютере другой порт. Для этого надо блокнотом создать в рабочем, каталоге программы PMR, файл port.txt и прописать туда любой порт который считаете нужным, например 17123, затем нажать Enter, то есть сделать перевод строки, и сохранить файл. Перезапустите программу. Признаком того, что все работает нормально является наличие цифры количества пользователей в канале.
Спасибо от DL8RCB
Это какое то очень хитрое колдунство, не замечал проблем в подобном случае с другим ПО.
На стареньком смарте с Андроидом 4.4.2 работает некорректно. Кнопки закрывают всю картинку рации - на передачу чтоб нажать остаётся тоненькая полоска внизу. Нажимаю её, при доступе к микрофону приложение выдаёт ошибку. Кнопка 5 не отображается, хотя функционирует. На 5м Андроиде всё хорошо
Здравствуйте!
Хочу разнообразить внешний вид программы.
Надеюсь, что Василий Михайлович не против !?
Скачиваем архив, копируем в папку с программой, разархивируем по очереди.
Не забываем клацать по интерфейсу мышкой. Наслаждаемся внешним видом.
Кто захочет создать свой ресурс интерфейса, файл - Контур_000.png.
На нём границы и зоны активации кнопок.
Спасибо автору и всем кто принимал участие в создании данного проекта.
С уважением!
Андрей
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)