Фоторамка с нейросетью

KNLL

★✩✩✩✩✩✩
13 Окт 2024
10
13
Проект пока в работе, как допилю сохранение на SD карту, поделюсь. Уж больно интересные картинки иногда получаются, хочется сохранить.Пока в виде "говнокод", и для удобства отладки в него сразу зашиты мои настройки и пароли, чтобы каждый раз после перепрошивки не вводить. Работает это на ESP32c3 ZERO, ( Умная мини-плата ESP32-C3 PRO, встроенная умная плата с встроенным модулем, Wi-Fi, Bluetooth | AliExpress ) в Wemos не хватает оперативки, чтобы сохранять изображение под меняющимися цифрами часов. Только под это надо порядка 25Кб. RTC встроенный в ESP, синхронизация из инета от нескольких NTP-серверов. Дисплей с IPS матрицей, с просто отличными цветами и углами обзора. Возможность выбора драйвера дисплея через дефлайн в config. Датчик освещённости есть и уже работает, баг с неполной загрузкой картинок и JPEG ERROR для версии на ESP32 тоже пофиксил.

И да, если есть ещё идеи, какие функции добавить, пишите здесь. Если смогу - сделаю.
 
  • Лойс +1
Реакции: Syrion, SoftFelix и rv1cj

Alex_48

✩✩✩✩✩✩✩
4 Дек 2023
23
9
у меня вторую неделю работает только с позднего вечера до утра, в остальное время "wait result"...
уже возникло желание что-то вроде метеостанции прикрутить, типа такой: https://thesolaruniverse.wordpress....c3-super-mini-and-an-ili9488-spi-tft-display/
железо схожее

а еще регулятор яркости, таймер сна
 

KNLL

★✩✩✩✩✩✩
13 Окт 2024
10
13
Ночью сервер менее загружен, генерит изображение меньше. чем за минуту. Днем и несколько минут можно ждать.... Ещё зависит ок скорости инета.... Регулятор яркости у меня прикручен, это я ещё в Wemos запихнул, до того как на ESP32 перешел. В принципе, в память ESP8266 влезают часы со шрифтом совсем немного поменьше, и с "глюком" - если обновлять изображение под цифрами только единиц часов и оба знака минут. На мигающие точки уже оперативной памяти не хватает. Соответственно 3 раза в день - в 00:00 в 10:00 и 20:00 до того, как загрузится новая картинка с сервера кандинского, в десятках часов будет напечатано новое значение поверх старого.

Таймер сна - выключать на какое то время?
 

Alex_48

✩✩✩✩✩✩✩
4 Дек 2023
23
9
@KNLL,
Таймер сна, я имел ввиду время, через какое время гасить экран, чтобы не мешал спать (мне на некоторых блоках питания приходилось светодиод ЧЕРНОЙ изолентой заклеивать, а белый семисегментный дисплей на TM1637 закрашивал в зеленый)
Метеостанция, что я предложил, как раз помогла мне использовать библиотеку TFT_eSPI вместо Adafruit_GFX для ускорения вывода на экран буфера
А насчет памяти экрана: зачем запоминать те места, которые не будут изменяться? Точки мигают раз в секунду, их массивы запомнить можно, а остальное, по умолчанию, изменяется 1 раз в минуту, как и ВРЕМЯ НА ЧАСАХ.....
...
Я бы, как инженер АСУТП (PLC, HMI) выводил время поверх изображения, не запоминая его. А если смена минут наступила ранее смены изображения, задержать вывод времени до обновления картинки. Если задержка картинки длительная, то вывести на сером фоне. Задержка в несколько секунд критична только в Новый Год
.... как-то так
...
...P.S. а насчет сохранения картинки на SD, у вас "DISP_SCALE" в Config.h чему равно? Какое разрешение картинки будет?
лучше в https://fusionbrain.ai/editor/ отправлять свои фото с SD и получать результат (у меня ПОКА не получилось)
 
Изменено:

KNLL

★✩✩✩✩✩✩
13 Окт 2024
10
13
@Alex_48, я немного думаю о других пользователях, поэтому у меня обновление картинки стоит раз в 10 минут, и остальным не рекомендую делать чаще, потому как общими усилиями можно и сервер кандинского обвалить. И так уже днем отвечает очень долго. А у кого-то может быть обновление и раз в час. А кому-то картинка удачная прилетела, и он вообще остановил генерацию. Второй вариант - днем ответа от кандинского иногда и больше минуты ждешь, а иногда и запрос не принимает, потому как занят. Пока сервер не ответит - картинка не обновится. поэтому привязывать обновление значений времени на дисплее к обновлению изображения не верно. Первый вариант у меня был на ESP8266, там обновлялись только минуты, и то меня "кракозябры" раз в час раздражали..... Вывести просто часы на сером фоне не интересно, там и любой новичок справится, кода на 5 строк, с учетом запуска синхронизации времени от NTP.
Что до таймера сна - я первое, что прикрутил - это автояркость. Тоже спать мешала. Сейчас в темноте светит слабее, чем светодиод на БП от ноута и совсем не мешает. А на БП тоже изолентой заклеен. :)
 

rv1cj

★✩✩✩✩✩✩
22 Июн 2023
88
29
@KNLL, я наверное уже очень старый, и спать в полной темноте мне не комфортно (страшно), по этому функция автояркости для меня не так актуальна, а вот время/погода очень интересно.
 

Alex_48

✩✩✩✩✩✩✩
4 Дек 2023
23
9
@rv1cj,когда после второй смены найдешь место для парковки, приходишь домой
э заходишь в спальню, а там ОПЯТЬ это: 1730648199730.png

@rv1cj,
или заходишь на кухню водички попить, за окном темно, а там такое:
1730648956649.png
толи спать ложиться, толи не работу собираться...
так что цифровые часы с нежным свечением просто необходимы
 

KNLL

★✩✩✩✩✩✩
13 Окт 2024
10
13
Ночной режим через гайвер-сеттинг очень легко прикрутить. там-же и время этого режима задать. Хотя при полной темноте и минимальной яркости экран и так явно слабее красного с вашего фото.

@Alex_48, дизайнер часов явно был затейником. Оно конечно интересно смотрится, но пользоваться, ИМХО, невозможно. Ну да, выйдешь водички попить не просыпаясь, посмотришь на часы, пока сообразишь, сколько там, точно проснешься..... В вашей ситуации похоже ещё надо сообразить AM или PM :)
 

Alex_48

✩✩✩✩✩✩✩
4 Дек 2023
23
9
@KNLL,
кстати, ничего яркого и нет: фиолетовые часы на ТВ-приставке, зеленый индикатор телевизора, красный индикатор на БП и белые часы на Гайвер-лампе в виде фоторамки 20х20

Рядом с телевизором цилиндрическая Гайвер-лампа, но дочь от нее отказалась после того, как я ей фоторамку с ИИ подарил..., или из-за того, что лампа каждые 15 минут время говорила :rolleyes: .
Вот на лампе индикатор тоже красный, и при минимальной яркости все равно ночью яркий (сейчас не включена)
1730651276223.png
 
Изменено:

rv1cj

★✩✩✩✩✩✩
22 Июн 2023
88
29
@rv1cj,когда после второй смены найдешь место для парковки, приходишь домой
э заходишь в спальню, а там ОПЯТЬ это:
у меня работа 4 через 8, и если не хочется спать, значит ты не заи(устал)ся на смене )))
Сейчас фоторамка стоит на столе и в какой то мере используется как ночник, поэтому яркость для меня не так важна, а вот часы очень даже актуальны.
 

KNLL

★✩✩✩✩✩✩
13 Окт 2024
10
13
Пока выходные, я "почти" вытащил картинку из рамки. Пока ещё глючит, но вот милоты в ленту файлики с подключенной SD карты:Kandinskiy 2024-11-03 18-31.jpg Kandinskiy 2024-11-03 12-20.jpg
 
Изменено:
  • Лойс +1
Реакции: SoftFelix, rv1cj и Alex_48

Alex_48

✩✩✩✩✩✩✩
4 Дек 2023
23
9
@kukrpavt,
и стрелки с циферблатом не флуорисцентные
1730781298166.png

@rv1cj,
сейчас в магазинах любого добра хватает
1730788953399.png
 

SoftFelix

✩✩✩✩✩✩✩
16 Фев 2020
32
4
Подскажите, пожалуйста.
Последняя версия проекта от AG на Гитхабе имеет "универсальный формат", т.е. для Платформио и Ардуино ИДЕ. А как его сделать только для Ардуино ИДЕ, что бы была возможность просматривать и редактировать все вкладки? Сейчас надо запускать tft4.ino, но там ничего нет (но всё компилируется нормально). Понятное дело, что нужно использовать папку scr и из неё запускать main.ccp, который подхватит все остальные файлы по вкладкам. Но что делать с папкой Kandinsky ??? Оставить там же или закинуть в папку с библиотеками Ардуино ИДЕ?
 

rastaman29

★✩✩✩✩✩✩
15 Ноя 2019
61
18
@KNLL,
И да, если есть ещё идеи, какие функции добавить, пишите здесь. Если смогу - сделаю.
Круто с часами получилось! Ждем скетч.
А есть возможность, добавить подключение камеры, что бы распознавал лица, автоматически делал фото и выводил на экран? Тоже получается будут уникальные фотки.
 
Изменено:

Alex_48

✩✩✩✩✩✩✩
4 Дек 2023
23
9
...
И да, если есть ещё идеи, какие функции добавить, пишите здесь. Если смогу - сделаю.
Отключение точки доступа Кандинский, если к WiFi подключился и обратное подключение, если WiFi пропал больше, чем на минуту, как в Гайвер-лампе. А еще возможность назначать статический IP-адрес и время для часов из браузера, вывод фото с SD (например, при отсутствии Интернет)
 
  • Лойс +1
Реакции: SoftFelix и pvt

SoftFelix

✩✩✩✩✩✩✩
16 Фев 2020
32
4
Я всё пытаюсь прикрутить исходники только для Arduino IDE.

1. Создал папку tft1.8_ArduinoIDE
2. Закинул туда config.h, db.h, gen.h, settings.h, tft.h и main.cpp.
3. main.cpp переименовал в tft1.8_ArduinoIDE.ino. Проект открывается, вкладки с файлами *.h отображаются.
4. Папку Kandinsky скопировал в папку с библиотеками Arduino IDE.
5. В gen.h изменил:
C++:
// #include "Kandinsky/Kandinsky.h"
#include <Kandinsky.h>
Пытаюсь компилировать и получаю ошибку:
c:/users/yakushina_ua/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\yakushina_ua\AppData\Local\Temp\arduino\sketches\49E6FFF0EEE9CC9DD3DCAE35C722466D\sketch\tft1.8_ArduinoIDE.ino.cpp.o: in function `_ZN5ghttp10ServerBase13handleRequestER6ClientPNS_16HeadersCollectorE':
c:\Users\yakushina_ua\Documents\Arduino\libraries\GyverHTTP\src/utils/ServerBase.h:360: undefined reference to `jd_prepare'
c:/users/yakushina_ua/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: c:\Users\yakushina_ua\Documents\Arduino\libraries\GyverHTTP\src/utils/ServerBase.h:360: undefined reference to `jd_decomp'
c:/users/yakushina_ua/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\yakushina_ua\AppData\Local\Temp\arduino\sketches\49E6FFF0EEE9CC9DD3DCAE35C722466D\sketch\tft1.8_ArduinoIDE.ino.cpp.o: in function `_ZN9Kandinsky11parseStatusER6Stream':
c:\Users\yakushina_ua\Documents\Arduino\libraries\Kandinsky/Kandinsky.h:255: undefined reference to `jd_prepare'
c:/users/yakushina_ua/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.1.0-gcc10.3-e5f9fec/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: c:\Users\yakushina_ua\Documents\Arduino\libraries\Kandinsky/Kandinsky.h:257: undefined reference to `jd_decomp'
collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1
Как я понял, основная ругань на некий `jd_decomp'.

Где ещё подкрутить для нормальной компиляции этого исходника?
 

KNLL

★✩✩✩✩✩✩
13 Окт 2024
10
13
@SoftFelix, ну вы ещё по B64 ошибку получите потом..... Не проще ли не парить себе мозги и установить Visual studio code. Там хоть Ардуиновский, хоть ПлатформИО плагин можно подключить. Не хотите плагин, просто открывайте файлы в Visual studio code, там правьте и сохраняйте. А компилируйте потом в Ардуино. Это конечно совсем через одно место, но ничего в проекте переделывать не надо будет. В Visual studio работать на порядок удобнее, чем в Ардуино, попробовав единожды к IDE уже не вернетесь.

@SoftFelix, StreamB64.h - Сделать то же, что и с кандинским, папку tjpgd, скорее всего, тоже в библиотеки придется тащить с соотвтетствующей правкой Kandinsky.h
 

SoftFelix

✩✩✩✩✩✩✩
16 Фев 2020
32
4
Не проще ли не парить себе мозги и установить Visual studio code.
Я ждал такое предложение, скрывать не стану. :) Но пока хотелось бы работать в привычной среде.

@KNLL, изначально у Алекса библиотека Kandinsky имела такой вид (в аттаче) и всё замечательно компилировалось. С нынешней библиотекой я тоже пытался сделать такую структуру (с папкой scr), но там уже вылазит другая ошибка (не могу найти то, не могу найти это...).
 

Вложения

KNLL

★✩✩✩✩✩✩
13 Окт 2024
10
13
@SoftFelix, что там было раньше, я не помню, да и сейчас почти по памяти. В проекте. кроме тех библиотек, что лежат в соответствующей папке, подключаются классы - читай библиотеки из файлов Kandinsky.h, StreamB64.h и папка с tjpgd.h tjpgd.c tjpgdcnf.h. Если идти по Вашему пути - создать в папке библиотек Ардуино три папки под эти классы, и соответственно править кавычки в инклюдах в Кандинском и др. файлах, чтобы указанный путь соответствовал расположению этих файлов в папке с библиотеками Ардуино.
 
  • Лойс +1
Реакции: SoftFelix

Wayman

✩✩✩✩✩✩✩
4 Янв 2022
25
0
Всем доброго. Выручайте. После прошивки пишет подключится к точке доступа на 192.168.4.1. Но после подключения к AP пишет что сайт недоступен и страницы для настройки сети естественно нет. Как пофиксить?
 

KNLL

★✩✩✩✩✩✩
13 Окт 2024
10
13
@Wayman, по хорошему, должно подключаться. Как прошивали? если с компа, то можно в db.h до прошивки вбить свои данные: Заменить то, что в кавычках на Ваши данные.

db.init(kk::wifi_ssid, "ваша точка доступа");
db.init(kk::wifi_pass, "ваш пароль");
db.init(kk::kand_token, "ваш токен кандинского");
db.init(kk::kand_secret, "ваш пароль кандинского");
 

Wayman

✩✩✩✩✩✩✩
4 Янв 2022
25
0
@KNLL, вообще ноль изменений. Прошивал через PIO и через IDE. Результат один и тот же. И при том в монитор порта выдает иероглифы какую скорость не выбирай. Вдогонку вопрос: в PIO отдельно ФС нужно загружать или она автоматически загружается?
 
Изменено: