Например TDA7294

РадиоКот > Схемы > Аудио > Разное

Аудиопроцессор на TDA7419: управляем по домашней WIFI сети с ANDROID и PC

Автор: olew, trifonidi@yandex.ru
Опубликовано 17.10.2017.
Создано при помощи КотоРед.

   Эта статья является логическим продолжением моей предыдущей публикации под названием: “Аудиопроцессор на TDA7419 с управлением по WiFi с андроид-устройства.”: http://radiokot.ru/circuit/audio/other/46/ . Продолжить работу над проектом меня побудили практический опыт эксплуатации устройства а также отклики и пожелания читателей. Какие проблемы эксплуатации были обнаружены и как были решены. – Об этом пойдёт здесь речь…
Прежде всего, необходимо отметить, что использование НЕПОСРЕДСТВЕННОГО управления с андроид-устройства в некоторых случаях является неудобным.
Например, Вы работаете в интернете, соединившись через роутер по WiFi. Возникла необходимость управления звуковыми параметрами аудиопроцессора. Вы запускаете приложение, подчеркну для НЕПОСРЕДСТВЕННОЙ СВЯЗИ с устройством, и, как факт, теряете связь с роутером и, соответственно, с итнернетом. После такого сеанса регулировки аудиопроцессора необходимо снова переподключаться к сети для работы в интернете. Это очень неудобно.
   В этом случае удобно было бы иметь приложение, работающее через домашнюю сеть Вашего роутера. Тогда можно сочетать одновременно и работу в интернете и управление звуковым устройством. Схема всей системы в этом случае немного изменится и будет выглядеть так:
 
 
   Т.е., идея такова: само управляемое устройство своим модулем ESP8266 подключается к домашней сети, раздаваемой Вашим роутером, в качестве клиента (режим станции для модуля ESP8266) с сервером на борту, и статическим IP. Управляющее устройство также должно быть подключено к этому роутеру. Работая, например, в интернете, Вам понадобилось изменить параметры звука. Запускаете приложение для управления аудиопроцессором через Вашу локальную сеть и регулируете звуковые параметры, не теряя связи с интернетом и другими устройствами в Вашей сети. Такой способ в описанном случае будет удобнее!
Кроме того, такой способ управления предпочтителен там, где очень сильно перегружена связь. Много рабочих точек доступа, например, и т.п. Сигнал, даваемый роутером, и его чувствительность к входящим каналам связи всё же выше, чем у планшета или телефона. И устанавливается более устойчивое и надёжное соединение. Это подтвердилось в ходе эксплуатационного тестирования. Ну… И кроме того – реализация самой идеи! Кому-то, быть может, это пригодится для управления чем-нибудь… Исходный код здесь приводится. См. материалы, приложенные в конце статьи. Вы можете свободно его использовать в своих целях. Для чего его и публикую…
 
Теперь о практической реализации идеи.
 
  Как можно видеть из предыдущей публикации – там реализован принцип непосредственной связи по WiFi между управляемым и управляющим устройствами. Т.е. модуль ESP8266 в процессе стартовой настройки конфигурируется как ТОЧКА ДОСТУПА с сервером на борту. Но… Для работы в домашней локальной сети такой режим модуля ESP8266 не подходит. Его необходимо сконфигурировать как СТАНЦИЮ с сервером на борту, получающую при вхождении в домашнюю локальную сеть определённый IP адрес. Т.е. функционал контроллера управляемого устройства (аудиопроцесора в моём случае) пришлось расширить. Для этого пришлось взять другой контроллер, так как PIC16F876A оказался слабоват… Мало ОЗУ. Для реализации модернизированного функционала мной был выбран PIC16F1938. Куплен был здесь. При применении данного контроллера НЕТ НЕОБХОДИМОСТИ ВНОСИТЬ КАКИЕ-ЛИБО ИЗМЕНЕНИЯ В КОНСТРУКЦИЮ. Достаточно лишь просто установить PIC16F1938, прошитый приведенной здесь прошивкой на место прежнего.
 
 Теперь несколько слов о приложениях для гаджетов, способных управлять устройством.
 
   1. Модернизированы и улучшены приложения для андроид-устройств: MiniEqualizer (для устройств с маленьким экраном. Менее 5.2”) и MyEqualizer (для устройств с достаточно большим экраном).
В эти приложения добавлены меню задания для управляемого устройства (аудиопроцессора) имени SSID Вашей домашней сети и пароля для вхождения в неё. Добавлен также функционал смены IP адреса, используемого устройством для подключения к домашней сети. Последний по умолчанию уже задан в контроллере устройства как 192.168.1.120. Но, если он по каким-то причинам не удовлетворяет Вашим требованиям (н.п. роутер не предоставляет для подключения таких адресов), то может быть изменён. О том как – читайте ниже.
   2. Для управления устройством через домашнюю локальную сеть созданы два новых приложения для андроид-устройств: LanEqMini (для устройств с маленьким экраном. Менее 5.2”) и LanEqual (для устройств с достаточно большим экраном).
Я считаю, что лучше пользоваться отдельными самостоятельными приложениями, а не одним универсальным и переключаемым. В их функционал введена возможность смены исходящего IP для подключения к управляемому устройству. Это меню появится на экране гаджета автоматически при обнаружении проблем подключения к управляемому устройству.
   3. Для управления устройством через домашнюю локальную сеть создано приложение для настольного компьютера или ноутбука, подключенных к домашней локальной сети – winequalds. Оно имеет интуитивно понятный функционал, аналогичный таковому для андроид-устройств, с особенностями, описанными в п2.
Исходный код всех приложений и прошивки контроллера также привожу здесь. Можете использовать его по своему усмотрению. Он понятно закомментирован и хорошо структурирован.
 
Чем и как пользоваться.
 
   Как пользоваться устройством в режиме непосредственной связи, доходчиво изложено мной в предыдущей публикации. Поэтому остановлюсь на новых возможностях.
Для запуска работы устройства посредством домашней локальной сети, Вам необходимо прежде всего задать для управляемого устройства (аудиопроцесора) параметры для подключения к Вашей домашней сети: имя SSID сети, пароль для вхождения в неё и, возможно, желаемый IP устройства, используемый при подключении к сети. Последний должен соответствовать диапазону IP адресов, раздаваемых DHCP-сервером Вашего роутера. Например, если другие устройства получают адреса из диапазона 192.168.0.***, то и здесь нужно задать IP-адрес с таким же началом, но с уникальным окончанием, не пересекающимся с IP-адресами других устройств. Как правило, диапазон раздаваемых адресов можно увидеть, и при необходимости изменить в настройках DHCP-сервера Вашего роутера. Выбираемый IP адрес для устройства должен быть в пределах этого диапазона. Также он должен быть уникальным, чтобы не было конфликтов при подключении других устройств, запрашивающих статический IP адрес при подключении.
Необходимо, чтобы на Вашем телефоне или планшете были установлены оба варианта приложений: как для непосредственной связи, так и для связи посредством домашней локальной сети.
   1. Включите аудиопроцессор. Дождитесь появления на индикаторе сообщения “SERVER_OK”. Запустите на андроид-устройстве приложение для непосредственной связи с устройством. Нажмите кнопку вызова меню дополнительных параметров приложения. В нём выберите настройку параметров для LAN сети. Введите имя SSID Вашей домашней сети. Наблюдайте успешность операции по факту появления на дисплее аудопроцессора соответствующего сообщения, подтверждающего успех операции. Затем таким же образом введите пароль. С именем и паролем сильно не извращайтесь – допускаются строки длиной до 24 символов включительно. Без каких-либо “безумных” знаков, пожалуйста… IP пока не изменяйте…
   2. Закройте приложение на гаджете. Нажимайте кнопку ручного ВЫБОРА ПАРАМЕТРА на аудиопроцессоре до появления меню: “LAN_MODE -N +Y”. Для инициации режима работы посредством домашней сети нажмите кнопку прибавления параметра. Ожидайте некоторое время (примерно не более 2мин). Если на дисплее появится сообщение: “LAN_OK”, то это означает, что WiFi модуль аудиопроцессора подключился к локальной сети Вашего роутера и имеет в этой сети IP для входящих подключений: 192.168.1.120. Т.е. всё в порядке и можно продолжать.
Если же вместо последнего сообщения Вы увидите сообщение о недоступности сети: “LAN NO AVAILABLE”, то это может означать, что Ваш роутер не может предоставить для устройства выше указанный IP. Не все роутеры предоставляют… Аудиопроцессор, тем временем, автоматически вернётся в режим непосредственного управления и на индикаторе снова отобразится: “SERVER_OK”.
Разберитесь с Вашим роутером в плане предоставляемых IP для подключения и задайте свой. Для этого повторите действия п1, но уже не вводите повторно имя и пароль (они уже сохранены), а введите Ваш желаемый IP и дождитесь сообщения об успешности на дисплее аудиопроцессора. Запомните или запишите Ваш IP. Его необходимо будет прописать в соответствующем приложении для гаджета. А далее повторите действия этого пункта, изложенные вначале.
КОНТРОЛЛЕР АУДИОПРОЦЕССОРА ЗАПОМИНАЕТ И ХРАНИТ ВВЕДЁННЫЕ ВАМИ ИМЯ, ПАРОЛЬ И IP ДО СЛЕДУЮЩЕГО ПЕРЕНАЗНАЧЕНИЯ ДАЖЕ ПРИ ВЫКЛЮЧЕНИИ ПИТАНИЯ!
   3. Запустите на гаджете, подключенном к Вашей домашней сети, приложение для связи посредством домашней сети LAN. Приложение попросит Вас установить параметры сети. Подтвердите. Вас перебросит на страницу настроек параметров сети WIFI гаджета. И там должна быть активирована Ваша домашняя сеть. Нажмите кнопку возврата из этого меню. Приложение автоматически запомнит параметры для вхождения в целевую сеть. Если Вы не вынуждены были менять IP, то произойдёт инициализация интерфейса приложения в соответствии с настройками, установленными на аудиопроцессоре.
Если Вы вынуждены были менять дефолтный IP адрес для входящих подключений на аудиопроцессоре, то увидите дополнительное меню с сообщением о невозможности подключения по дефолтному IP приложения. Если меню не появилось, но также и приложение не подключилось, закройте приложение и перезапустите его вновь (могут быть такие “осечки”). В этом меню есть ввод IP. Введите Ваш IP. Устройство запомнит его и переподключится (перезапустится). В дальнейшем оно будет подключаться по этому IP. Наблюдайте инициализацию интерфейса приложения в соответствии с настройками, установленными на аудиопроцессоре. Обратите внимание: есть возможность возврата дефолтного IP, если что…

   Всё то же самое для компьютерного приложения. Там всё интуитивно понятно … Создайте на системном диске Вашего компьютера папку для файла приложения. Папку желательно создать потому, что в ней, в случае создания Вами профилей звуковых настроек, появится XML-файл этих профилей. Скопируйте в неё файл winequalds.exe. Создайте ярлык на рабочем столе или панели задач. Это вся установка. Настройте Ваш аудиопроцессор как было описано выше. Запустите Вашу домашнюю локальную сеть (включите роутер, подключитесь к нему компьютером). Включите аудиопроцессор в режиме LAN. Дождитесь сообщения о его готовности “LAN_OK” на дисплее. Запустите приложение на компьютере и в нём нажмите кнопку: “ПОДКЛЮЧИТЬСЯ”. В случае удачного подключения, кнопка подключения исчезнет с формы, цвет фона формы станет бирюзовым, регуляторы и кнопки на форме займут положения согласно текущим настройкам аудиопроцессора. Слева внизу будет выдано сообщение об удачном подключении и инициализации интерфейса приложения.

   Если приложение не подключилось, о чём будут свидетельствовать его зависание на некоторое время, а затем появление соответствующего сообщения слева внизу, ищите проблемы с сетью. В том числе и описанную здесь информацию с предоставлением IP адресов Вашим роутером.
   Если приложение не запускается или при запуске выдаёт ошибку, обновите/установите Microsoft NET framework 4.5; 4.5.1; 4.5.2; 4.6; 4.6.1, а также Microsoft Visual C++ redistributable 2005 – 2015гг. Это пригодится для правильной работы многих других программ.
 
   Вернуть режим непосредственной связи на аудиопроцессоре можно, нажимая кнопку ручного ВЫБОРА ПАРАМЕТРА на аудиопроцессоре до появления меню: “DIRECT_MODE -N +Y”. Нажмите прибавление параметра и наблюдайте появление на дисплее через какое-то время сообщения: “SERVER_OK”. Вы снова в непосредственном режиме управления.
 
   Аудиопроцессор при включении инициирует последний, удачно настроенный, режим работы в сети. Если последним удачным сохранённым был сеанс связи посредством домашней локальной сети, а Вы включили аудиопроцессор, тогда как роутер выключен, то он перейдёт в режим непосредственного управления. Но это текущее состояние НЕ будет сохранено как стартовое при следующем включении. Т.е. при выключении аудиопроцессора и повторном его включении в этом случае будет происходить попытка связи через домашнюю сеть.
 
   ПРИЛОЖЕНИЯ ПОМНЯТ ПАРАМЕТРЫ ДЛЯ ПОДКЛЮЧЕНИЯ к устройству, и поэтому, если Вы ничего не изменяли, они будут самостоятельно подключаться к серверу устройства!
 
   В заключении необходимо отметить, что выложенные здесь версии приложений несовместимы с прежней конструкцией на PIC16F876A с приведенной в предыдущей публикации его прошивкой! Не стоит даже и пробовать! Это может привести к повреждению прежней прошивки PIC16F876A!
 
   Приложения для ANDROID были созданы в среде JAVA ECLIPSE LUNA.
   Приложение для компьютеров было создано в среде Microsoft Visual Studio 2015 Enterprise.
 
 Трифонов О.Г., ред. Фёдоров А.С. г. Данилов, Ярославской обл.
   

Файлы:
Приложение для маленьких ANDROID для работы в локальной сети
Приложение для больших ANDROID для работы в локальной сети
Приложение для маленьких ANDROID для непосредственной связи
Приложение для больших ANDROID для непосредственной связи
приложение для PC
проект для контроллера
различная проектная документация
прошивка PIC16F1938
Visual Studio проект приложения для PC
JAVA исходник LanEqMini
JAVA исходник LanEqual
JAVA исходник MiniEqualizer
JAVA исходник MyEqualizer


Все вопросы в Форум.


ID: 2593