После добавления, сперва экрана, а потом и самого проектора в экосистему умного дома Apple, настал черед пульта дистанционного управления, благо наконец он дошел из Китая.
Суть модернизации, как и во всех проектах этой серии, заключается в эмуляции нажатия кнопок. За это отвечает плата 817×16. Плата 817×1 нужна для сброса питания пульта, т.к. он не отличается стабильностью…
Подготовка заключается в подпайке проводов или шлейфа к микросхемам на плате пульта управления и сборке двух плат-адаптеров.
На плате LZN1005 нужно:
Исходная таблица соответствия кнопок выводам микросхем 74HC164D и C2TH2218.
74HC164D | |||||||||
---|---|---|---|---|---|---|---|---|---|
3 | 4 | 5 | 6 | 10 | 11 | 12 | 13 | ||
C2TH2218 | 7 | POWER | UP | LEFT | DOWN | MIC | VOL+ | VOL- | HOME |
8 | MUTE | OK | RIGHT | BACK | MENU | SOURCE | SET | MOUSE |
К примеру, при замыкании контакта 8 на микросхеме C2TH2218 и контакта 6 на 74HC164D, сработает клавиша «BACK», а, соответственно, 7 и 13 – «HOME».
Это основная плата-коммутатор. Собирается на макетной плате 3×7 см. Распаивать можно только те соединения, которые будут использоваться – к примеру, я не распаивал кнопки «POWER», «SOURCE» и «MIC» т.к. они мне не нужны, соответственно, ни оптопары, ни обвязки там нет. Более добавить нечего, все видно на схеме и фотографиях.
Т.к. плата LZN1005, ни в одной из имеющихся у меня ревизий, не отличается бесперебойностью работы, я заранее предусмотрел модуль сброса питания платы… который, как выяснилось в процессе последующей эксплуатации, работает только, когда пульт не находится в спящем режиме – в спящем режиме ему хоть бы хны! Что, в общем, использованию модуля по прямому назначению совершенно не мешает!
Сводная таблица по соединениям.
Function | NodeMCU3) | (ESP32) | 817×16 | 817×1 | 74HC164D | C2TH2218 | LZN1005 |
---|---|---|---|---|---|---|---|
MUTE | D32 | (GPIO32) | A05 | ||||
UP | D23 | (GPIO23) | F06 | ||||
OK | D33 | (GPIO33) | D05 | ||||
LEFT | D22 | (GPIO22) | I06 | ||||
RIGHT | D25 | (GPIO25) | G05 | ||||
DOWN | D21 | (GPIO21) | L06 | ||||
BACK | D26 | (GPIO26) | J05 | ||||
MENU | D27 | (GPIO27) | M05 | ||||
VOL+ | D19 | (GPIO19) | R06 | ||||
VOL- | D18 | (GPIO18) | U06 | ||||
SET | D14 | (GPIO14) | S05 | ||||
HOME | D4 | (GPIO04) | X06 | ||||
MOUSE | D13 | (GPIO13) | V05 | ||||
POWER/MUTE | C05 | 3 | |||||
UP/OK | F05 | 4 | |||||
LEFT/RIGHT | I05 | 5 | |||||
DOWN/BACK | L05 | 6 | |||||
MIC/MENU | O05 | 10 | |||||
VOL+/SOURCE | R05 | 11 | |||||
VOL-/SET | U05 | 12 | |||||
HOME/MOUSE | X05 | 13 | |||||
08 | 7 | ||||||
03 | 8 | ||||||
3V3 | X01 | ||||||
GND | M10 | ||||||
RCU RESET | D15 | (GPIO15) | X10 | ||||
M01 | VBAT+1 | ||||||
M09 | VBAT-1 |
В приложении «Пульт Apple TV»4), в режиме совместимости, т.е. без поддержки Apple AirPlay 2, которой тут конечно же нет, очень мало кнопок и все кнопки физического пульта там не помещаются. Поэтому был придуман «второй слой» кнопок, который вызывается по нажатию кнопки «i» на пульте. Подробнее ниже.
Фактически, кнопка «INFO» переключает группы правил, размещенных в «Rule1» и «Rule2».
Прошивать в данном случае5) удобнее через веб-установщик Tasmota:
Помимо прошивки, веб инструменты могут показать консоль, подключить к Wi-Fi и что-то еще… В общем, как оказалось, намного более удобный инструмент, чем Tasmotizer.
Backlog Template {"NAME":"Xnano LZN1005","GPIO":[0,0,576,0,235,0,0,0,0,236,234,269,0,0,232,231,0,226,227,225,0,228,230,233,0,0,0,0,224,229,0,0,7584,0,0,7585],"FLAG":0,"BASE":1}; Module 0
Backlog DeviceName Projector Remote; FriendlyName1 Пульт проектора
Backlog Topic remote_%06X; FullTopic projector/%topic%/%prefix%/
Backlog MqttHost 192.168.XXX.XXX; MqttPort 1883; MqttUser RGEHrther; MqttPassword 34g34g3gffsd; SetOption3 1
Backlog WebButton1 Mute; WebButton2 Up; WebButton3 Down; WebButton4 Left; WebButton5 Right; WebButton6 Ok; WebButton7 Back; WebButton8 Vol+; WebButton9 Vol-; WebButton10 Menu; WebButton11 Set; WebButton12 Home; WebButton13 Mouse; WebButton14 Reset
Backlog PulseTime1 1; PulseTime2 1; PulseTime3 1; PulseTime4 1; PulseTime5 1; PulseTime6 1; PulseTime7 1; PulseTime8 1; PulseTime9 1; PulseTime10 1; PulseTime11 1; PulseTime12 1; PulseTime13 1; PulseTime14 20
Rule1 ON Event#GetKey=SELECT DO Power6 1 BREAK ON Event#GetKey=UP DO Power2 1 BREAK ON Event#GetKey=DOWN DO Power3 1 BREAK ON Event#GetKey=LEFT DO Power4 1 BREAK ON Event#GetKey=RIGHT DO Power5 1 BREAK ON Event#GetKey=BACK DO Power7 1 BREAK ON Event#GetKey=PLAY_PAUSE DO Power6 1 BREAK ON Event#GetKey=VOLUME_UP DO Power8 1 BREAK ON Event#GetKey=VOLUME_DOWN DO Power9 1 BREAK ON Event#GetKey=INFO DO Event ChangeLayer=5 BREAK
Rule2 ON Event#GetKey=SELECT DO Backlog Power6 1; Event ChangeLayer=1 BREAK ON Event#GetKey=UP DO Power8 1 BREAK ON Event#GetKey=DOWN DO Power9 1 BREAK ON Event#GetKey=LEFT DO Backlog Power10 1; Event ChangeLayer=1 BREAK ON Event#GetKey=RIGHT DO Backlog Power11 1; Event ChangeLayer=1 BREAK ON Event#GetKey=BACK DO Event ChangeLayer=1 BREAK ON Event#GetKey=PLAY_PAUSE DO Backlog Power14 1; Event ChangeLayer=1 BREAK ON Event#GetKey=VOLUME_UP DO Backlog Power1 1; Event ChangeLayer=1 BREAK ON Event#GetKey=VOLUME_DOWN DO Backlog Power1 1; Event ChangeLayer=1 BREAK ON Event#GetKey=INFO DO Backlog Power13 1; Event ChangeLayer=1 BREAK
Rule3 ON Event#ChangeLayer DO Backlog Rule1 2; Rule2 2; PulseTime6 %value% ENDON ON Mqtt#Connected DO Subscribe GetKey, projector/remote_DEEBB4/cmnd/REMOTE ENDON ON System#Init DO Backlog Rule2 0; Rule1 1; PulseTime6 1 ENDON
Таблица соответствия функций проектора и моста с кнопками в приложении «Пульт Apple TV»:
Кнопка | Функция | |
---|---|---|
Основная | Дополнительная | |
Громкость «+» | Увеличение громкости | Выкл./вкл. звук |
Громкость «-» | Уменьшение громкости | Выкл./вкл. звук |
Вверх | Навигация вверх | Увеличение громкости |
Вниз | Навигация вниз | Уменьшение громкости |
Влево | Навигация влево | Меню приложения |
Вправо | Навигация вправо | Настройки системы |
Выбор | Навигация – выбор | Выбор (долгое нажатие) |
Старт/стоп | Навигация – выбор | Сброс питания пульта |
Назад | Навигация назад | Основные функций |
Инфо | Дополнительные функции | Вкл./выкл. режим «мышь» |
Основные функции доступны сразу после запуска приложения, а дополнительные – после нажатия кнопки «i». Выход из режима дополнительных функций осуществляется автоматически после нажатия на любую кнопку, кроме увеличения и уменьшения громкости. Для выхода из режима после настройки громкости или вообще без нажатия на другие функциональные кнопки, используется кнопка «НАЗАД».
Кнопки громкости продублированы, т.к. штатные кнопки доступны не всегда и не везде! Мало того, они то есть, то их нет на одном и том же телефоне! Пока не понял закономерности…
Отдельной интеграции не имеет и использует ключ «setRemoteKey» в аксессуаре «television».
В комплекте с проектором X1 мне пришел пульт LZN1005V1.210) с датой 20220913, который то и дело переставал работать вплоть до сброса питания путем вытаскивания батарейки. Китайцы прислали мне второй пульт, уже LZN1005V1.0 от 20220709, но он, как показала практика, работает еще менее стабильно, т.е. значительно чаще отваливается! Вот так вот и вот думаю… написать что ли китайцам очередную претензию…
Сторона с компонентами крупно.
Насколько я разглядел, разводка плат особо не отличается, микросхемы одни и те же…
Но, что интересно, тестируя уже четвертый день свой колхоз, описанный в этой статье, пульт ревизии 1.2, запитанный от стабильных 3V3, ведет себя прекрасно и пока ни разу11) не отваливался!
Обсуждение