alutov / ESP32-R4sGate-for-Redmond

ESP32 Ready4Sky (R4S) Gateway for Redmond+ devices
MIT License
212 stars 18 forks source link

Feature Request. MQTT command for refresh picture. #126

Closed exotsk closed 1 year ago

exotsk commented 1 year ago

Андрей, можно сделать галку обновление картинки по MQTT команде ? для видеодверных звонков полезно. И реально ли сделать ресайз картинки чтобы вписать в экран ? У меня подхватывает картики от 480, влазит в литмит памяти. Но показывает конечно же уголок.

alutov commented 1 year ago

По порту не могу пока сказать ничего, по масштабированию надо глянуть и вспомнить, что может jpeg декодер. Обновление картинки возможно как локальной кнопкой, так и по мктт, если писать в топик jpg_time любое ненулевое значение.

exotsk commented 1 year ago

если писать в топик jpg_time любое ненулевое значение. здесь понятно, спасибо, можно отправить любое большое, подгон размера был был бы пригоден. иначе придется поднимать что-то извне, если есть ресурс, то лучше локально. порт = реально не работает.

alutov commented 1 year ago

В папку jpg залил тестовую версию с масштабированием изображения. Можно корректировать размер буфера под картинку в пределах 20-65 килобайт. В декабрьской версии Home Assistant появилась возможность вывода текста. И теперь можно управлять выводом картинки из интерфейса ХА.

exotsk commented 1 year ago

Спасибо, работает, но масштабирует как то странно, примерно 20-25% процентов не дорастягивает по ширине и высоте картинку (480х270) (торчат лапы кота %)). Порт тоже пока только 80, кастомный не принимает.

alutov commented 1 year ago

Масштабирование в декодере только 1:1, 1:2, 1:4. Если ширина больше 320 1:2, больше 640 1:4. Про лапы кота как раз думал, экран должен очищаться при приходе любой команды по мктт. Можно, правда еще центровку по горизонтали сделать.

exotsk commented 1 year ago

Про масштаб понял. Болько если экран очистить, будут белые границы ? мне кажется лапы кота лучше :)

alutov commented 1 year ago

Залил версию с центровкой. Должен и порт работать.

exotsk commented 1 year ago

C центровкой вроде симпатично стало 👍🏻 но порт image image

alutov commented 1 year ago

Ну уже и не знаю, что еще можно сделать. Можно включить Uart Debug и посмотреть, не испортил ли шлюз строку. И еще может нужно писать https, а не http. Шлюз в этом плане деревянный, автозамены делать не умеет, куда послали, туда и идет.) Для проверки залил на гит тестовую картинку и в этой строке указал порт: https://raw.githubusercontent.com:443/alutov/ESP32-R4sGate-for-Redmond/master/jpg/tst.jpeg У меня работает. Вот лог: I (1655189) R4S: Url: https://raw.githubusercontent.com:443/alutov/ESP32-R4sGate-for-Redmond/master/jpg/tst.jpeg I (1656259) R4S: HTTP_EVENT_ON_CONNECTED I (1656459) R4S: Status = 200, content_length = 9476, offset_length = 9476

exotsk commented 1 year ago

image image а у тебя на другой порт кроме 80 работает ?

UPD. Андрей, походу меня микро сервачок в докере чудит, в браузер отдает, а на еспшку как то не правильно, буду искать альттернативу. Локально поставил сервер порт поменял, всё заходит на шлюз Заменил образ на другой, действительно был косяк в сервере. Спасибо за отзывчивость!

alutov commented 1 year ago

Может быть такое, что картинка приходит в текстовом виде, похоже на html. Браузеры этот формат понимают и уже сами преобразуют его в картинку. За jpeg не скажу, а вот с такими png файлами встречался.

exotsk commented 1 year ago

Вполне возможно. Ну зато исключил возможный баг для других в будущем, сервак у меня для ретрансляции данных HA по http внутри локалки. иначе с https приходится выпускать наружу много лишнего. А ты говорил про (В декабрьской версии Home Assistant появилась возможность вывода текста. И теперь можно управлять выводом картинки из интерфейса ХА.) есть ссылка на описание процесса ?

alutov commented 1 year ago

Пока это в тестовой сборке. А что описывать? Если включить Hass Discovery, в r4sGate появляются поле для ввода url и поле для ввода времени обновления. И кнопка обновления картинки.

exotsk commented 1 year ago

аа, всё понял! ну это круто, хотя у тебя итак все можно через mqtt затолкать :)

artt652 commented 1 year ago

Ну уже и не знаю, что еще можно сделать.

Андрей, здравствуйте! Есть предложение - сделать чтобы сообщения об ошибке загрузки изображения выводились в нижнюю статусную строку, а на экране оставалась загруженная ранее картинка, (в настоящий момент ошибки показываются на коте )

P.S произвольные порты , кстати заработали на прошивке из папки jpg ( до этого похоже была проблема из-за неправильной обработки двоеточия в адресе ).

alutov commented 1 year ago

При ошибке достаю кота потому, что не понятно, что до этого было на экране, но подумать можно. Вот сегодня удачно получилось с загрузкой картинок с разрешением выше 320 * 176. А раньше даже и не пытался делать, думал, что памяти однозначно не хватит. Пытался резать строку адреса при ошибке с двоеточием. При получении такой строки шлюз уходил в постоянную перезагрузку. Похоже, драйвер хттп не совсем корректно отрабатывает или я чего-то еще не учел.

alutov commented 1 year ago

Добавлено в версии 2022.12.29.