В конце статьи про приемную антенну K9AY я упомянул о пульте управления, который сможет подключаться к блоку управления K9AY и переключать направления (и не только) физическими кнопками, а не щелкая мышкой в окне браузера. О таком устройстве и пойдет речь далее. Забегаю вперед, скажу, что этот пульт может управлять не только приемным блоком антенны K9AY, но и WI-FI коммутатором антенн.
Принцип работы
Пульт управления, он же клиент, подключается к блоку коммутации, то есть серверу, находящемуся в той же локальной WI-FI сети (однако с помощью NAT переадресации и внешнего статического IP адреса можно подключаться к серверу из любой точки мира, где есть интернет). При подключении клиент считывает данные о включенных выходах и зажигает соответствующие светодиоды (кнопки) на своей панели. Далее опрос состояние происходит примерно 3 раза в секунду. Таким образом происходит почти синхронное переключение и отображение состояния сервера в браузере и на кнопках пульта управления.
При нажатии кнопок, клиент посылает команду к серверу на переключение. И это также отображается в веб-браузере и на индикаторах самого пульта. При потере связи с сервером, красная кнопка на пульте будет моргать до тех пор, пока связь не восстановится.
Как это работает можно увидеть в ролике:
Принципиальная схема
Устройство построено на базе микроконтроллера ESP8266 с внешней WI-FI антенной, который работает как http клиент для подключения к http серверу (созданному на базе такого же микроконтроллера).
Для подключения большого количества кнопок был использован I2C модуль расширения портов PCF8575. Прошивка написана в среде Arduino IDE, исходные тексты можно найти на моей GitHub странице. Питается схема от USB, дополнительно источника питания не нужно.
Конструкция
Устройство собрано в стандартном корпусе Gainta G1183G. Использованы кнопки без фиксации с подсветкой, а также галетный переключатель на 6 положения для выбора нужного сопротивления нагрузки.
Питание и первоначальная настройка осуществляется через разъем USB Type B.
Подготовка к работе
При первом включении необходимо внести в устройство данные о вашей WI-FI сети (ssid и пароль), а также IP адрес блока коммутации K9AY (сервера). Для этого использована библиотека WiFiManager. После подачи питания без сохраненных данных о WI-FI сети устройство создаст точку доступа с именем AutoConnectAP
. Необходимо подключиться к ней с помощью мобильного телефона. Пароль для доступа — password
.
Далее перейти в раздел Configure WiFI
И ввести данные вашей Wi-Fi сети. После этого, устройство попытается подключиться к вашей сети и в случае успеха, точка доступа AutoConnectAP
исчезнет из списка доступных сетей. А данные о вашей Wi-Fi сети останутся в энергонезависимой памяти микроконтроллера.
Далее нужно сохранить в устройстве IP адрес сервера, то есть IP адрес блока коммутации K9AY. Для этого можно воспользоваться любой программой терминала. Я покажу на примере программы Terminal v1.9b
Необходимо выбрать нужный com порт. Он определится при подключении USB кабеля. Если нет — то вот здесь можно скачать драйвера для ОС Windows. Выставить скорость обмена 115200 кб/с, и поставить галочку +CR
для передачи символа конца строки.
Команда для записи IP адреса сервера в память устройства:
SET<IP_ADDRESS>
Команда для чтения записанного в память IP адреса сервера:
GET
Например, чтобы записать в память адрес 192.168.0.240 нужно ввести команду SET192.168.0.240
и нажать кнопку Send. В случае успешной записи терминал выдаст сообщение EEPROM successfully committed
.
На этом настройка закончена, теперь пульт сможет подключаться к блоку коммутации и управлять им.
Работа с устройством
Пульт полностью повторяет функциональность управления антенной через веб-браузер и может быть использован совместно. То есть все переключения выходов блока коммутации K9AY с помощью пульта будут отображаться в браузере и наоборот. И браузер, и пульт, являются клиентами одного сервера — блока коммутации и отображают его текущее состояние. Это состояние можно менять как из браузера, так и с помощью пульта.
При обрыве соединения с сервером, пульт будет индицировать это морганием красной кнопки (кнопки включения предусилителя). После восстановления связи, моргание прекратится и пульт снова готов к работе.
Так как резисторы нагрузки выбираются галетным переключателем, его необходимо переключать в нужное положение после обрыва связи или после включения пульта (даже если он уже установлен в нужное положение, просто переключите в соседнее и верните обратно). Главное об этом не забывать, иначе резистор так и останется не подсоединенным.
К одному блоку коммутации может быть подключено до 8 пультов, которые будут синхронно переключаться. Это может быть полезно при использовании нескольких рабочих мест с одной приемной антенной. Главное не поругаться, когда коллега на соседнем месте переключит антенну в другое направление (hi-hi).
Другие применения
Немного изменив прошивку, можно создать пульт для управления Wi-Fi консолью, которую я описывал ранее. То есть можно делать беспроводные пульты для антенных коммутаторов и вообще для включения/выключения практически любых устройств.
Можно шагнуть еще дальше и, пробросив порты на роутере со статическим IP, получить доступ к коммутации антенн из любой точки мира. Это будет полезно тем, кто строит удаленный шэк, но при этом не любит переключать что-либо мышкой. Тактильные ощущения от нажатия физических кнопок и определенная оперативность, особенно при работе в соревнованиях — основные преимущества такого решения.