JeeUI фреймворк версии 2 / обзор превью | ESP8266 ESP32
HTML-код
- Опубликовано: 6 фев 2025
- Наливаем чаек! Смотрим до конца!
Впервые показываю свою новую разработку - фреймворк для модулей на основе ESP8266 и ESP32 со встроенным WiFi, позволяющую создавать проекты с великолепным веб интерфейсом, полностью кастомизируемым под свои нужды.
Фреймворк выполнен в виде библиотеки Arduino, вы можете использовать его как в Ardiono IDE, так и в PlatformIO
Вы сможете использовать фреймворк в свои коммерческих проектах.
ESP32 по самой низкой цене: ali.pub/3e60mq
ESP8266: ali.pub/3e60tj
Поддержи проект, это для меня стимул делать больше и лучше!
Качаем тут: github.com/jee...
Карта СБЕРБАНКА: 4276 0600 5699 0008
Карта Альфа Банка: 5559 4928 1095 3623
QIWI кошелек: +79371662772
WMR: R214658700901
WMZ: Z409825468944
PayPal: danubanan@gmail.com
Yandex деньги: 41001645217498
Супер, я в шоке, впервые за 3 года моего увлечения esp8266 увидел реально годный проект! Молодец! Лови донат!
Спасибо Марсель за труды.Классный проект👍🏻
Супер идея. Так держать. 👍
Спасибо Марсэль за труды, твоё творчество побуждает к действию. Так держать!
Случайно зашёл на канал, и я уже в подписчиках)) задумка очень интересная, надеюсь восстановить данные получится. Думаю, что большинство подписчиков поможет
Очень круто! Спасибо за работу.
А возможно ли впилить апдейт по воздуху через веб морду?
4:40 начало начал. И спасибо за пояснения каждой строки, новичкам не все так очевидно.
Спасибо за труды. Успехов!
Идея стрима по разбору проекта на фреймворке хороша. Интересно было б посмотреть реализацию музыкального школьного звонка, который по времени (по урокам) и по дням недели включает мелодии через мп3-проигрыватель (в субботу-воскресенье не работает). Реализовать расписание и выбор мелодий через веб-интерфейс. Ну, и самое главное, чтоб все настройки сохранялись в EEPROM и при отключении-включении контроллера восстанавливались.
Ж..жаль что Ютуб не рекомендовал это видео 3 года назад!
это бы сократило мои муУчения на 3 года.
с ходу: фукнция toggleClass() в ui.js - Зачем?
element.classList.toggle(className);
все...
в cpp я откровенно ламер, но как-то можно было бы заюзать templates и может быть что-то еще, а то писанины дофига, и везде можно ошибиться (при работе со строками). Далее нужно смотреть.
но за то, что берете и делаете (не как я), пусть не сразу идеально и правильно, респект ))
Спасибо за труд! Хорошо бы добавить несколько виджетов в том числе простой график, манометр. Для визуализации данных.
Молодец.ТОП контент продолжай в том же духе.
Круто,нужно развивать тему однозначно.
Делая что-то практическое(на реальных примерах)
Разные датчики с выводом инфы в веб и андроид и про радио не забыть,мп3,метео.
Я думаю было-бы круто делать умный дом с функцией охраны (постепено добавляя разные элементы)
Понравилось. А можно выложить пример из видео полностью? Всю папку проекта. Заранее благодарю.
Отлично сделано.👍
Задонатил, надеюсь что когда то вы выложите свой проект на github
как же это круто! идея помочь в проекте подписчика отличная!
Всё, для кастомизации) Штука для реализации своих задач, то что надо!)😊
Добрый день. При компиляции столкнулся с проблемой: не находит AsyncTCP.h, ESPAsyncWebServer.h, ArduinoJson.h. и AsyncMqttClient.h. где взять эти библиотеки?
Отличное решение !!!! Необходима помощь в реальном проекте , необходимо соединить несколько ESP и вывести на один экран
MIT? Круто, спасибо
Спасибо, видно, что проделана большая работа, УДАЧИ
Здравствуй Марселич
Пожалуйста Подскажи как правильно установить. Ваш Фреймворк.
Скачал с Гитхаба . пробовал установка через новую папку, и как новый проект, и просто проект.
при открытии проекта, и захода в main.cpp ругается не понимает #include "JeeUI2.h"
#include подчеркивает волнистой чертой.
подскажите что не хватает, как исправить, чтоб распознал JeeUI2.h /
в других проектах которые сам писал, на Arduino.h не ругается.
на все твои видео поставил + UP/
Круто ! 👍
Подскажите пожалуйста как подключить библиотеку jeeui2 в визуал студио коде.
13:31 не увидел авторизации...хотя бы защитить настройки типа admin, admin.
Поясните как можно сделать часть страничек публичными home, а часть главное ПриВатно.
+5
Вообще улёт, сразу захотелось что-то сделать! (вернее реализовать придуманные фишки)
Крутая штука. Жду релиза. Есть пара проектов, куда бы прямо в ёлочку зашло.
Могу в ВК отправить в личку бету
@@МАРСЕЛИЧ спасибо кончено, но я подожду релиза. В железе ещё не собрал до конца. Время терпит, да и приложение андроид тоже лишним не будет.
Спасибо за огромную работу!
Спасибо !
Снимаю шляпу. Молодец.
Хорошо бы понимать как ЮИ2 подружить фриРтОС...
как задачу для 1го ядра....8266/С3
или как непрерывный процесс для 2го ядра....есп32
и как его подружить с симофорами.
П.С.спасибо за умный понятный ответ на глупый вопрос!
UI агонь
Даешь стрим!
Желательно для глупых, может даже стоит не проект реализовать, а простейшую работу с датчиками, вывод в интерфейс/на матрицу с max7219, или же на дисплеи какие то
И будет неплохо с комментариями
А вообще, можно голосование в ВКонтакте провести)
22:27 - даже ооочень интересно. Кому нужны эти блинки? А вот понять ка разделить логику от юая - ото очень ценная информация. Спасибо!
Единственный момент меня смущает моментальная отправка данных, наверно не всегда это уместно, иногда лучше написать сначала весь текст, а потом одним разом его отправить.
Да. Это надо делать при потере фокуса html элементом, полем text, textarea.
@@appbox8754 А лучше сохранять изменения по нажатию на кнопку
не работает
Connected: yes
ets Jan 8 2013,rst cause:4, boot mode:(1,7)
wdt reset
ets Jan 8 2013,rst cause:4, boot mode:(1,7)
wdt reset
что то упускаю ?
Very good 👍
какой запрос у приложения? "host/config" ?
7:50 если у меня бтн0 и бтн1... можно ли использовать один итот же метод и будет ли метод различать от какой кнопки его вызвали ? Или нужно писать частные методы¿?
Автор, моя рекомендация. Если планируете выложить исходник в свободный доступ, то сначала напишите документацию с описанием каждой функции. И несколько возможных юзеркейсов. Иначе замучаетесь отвечать на однотипные вопросы. Подобные видео и стримы хорошо, но это не панацея. Начнете игнорировать комменты - от этого будет нарастать негатив. Текстовая документация упростит поддержку на 99%. Всегда можно освежить память или прочесть 10ть раз чтобы на 11й дошло)
Спасибо. Вот только с документациями у меня проблема, я и видео то снимаю, чтобы не писать статьи. Тяжело у меня с писаниной, что бы это не было.
очень странно что у вас колбеки на кнопки в лупе... либо они должны быть в сетапе, либо они не правильно работают по своей природе
Отлично! Так держать!
Круто!!! Попробовал, работает. Как бы ещё решить вопрос с обновлением по воздуху и правами доступа.
Сам спросил, сам и отвечу. :-)
Обновление по OTA:
Добавляем #include
В setup вставляем ArduinoOTA.begin();
В loop() вставляем ArduinoOTA.handle();
Интересно очень
Спасибо за огромною проделаною роботу!
Супер, спасибо большое!
Здравствуйте а как на странице натроек WI-FI внести настройки IP статического днс и.т.д. ? Подскажите это возможно сделать?
Всё очень хорошо. Огромное спасибо автору. Единственное что не удобно, это отсутствие документации (описание функций).
Круть!
Отлично..!!!А как на счёт добавки ssdp?событий по таймеру(задач по автоматизации),
Здравствуйте, возможно ли динамически обновить элементы списка в вашем фреймворке? Или хотя бы как по нажатию на кнопку перезагрузить страницу ?
А информеры есть? Отображать данные с датчиков например?
Фреймворк не рабочий, к wi-fi подключается, а веб интерфейс не открывается
Самый лучший канал.
Лайк поставил, комент написал))
Так как примера нет, попробовал набрать примерно тот же код который у вас в видео. Получил исключение: Station Mode Started
E (386) SPIFFS: mount failed, -10025
[E][SPIFFS.cpp:72] begin(): Mounting SPIFFS failed! Error: -1
[E][vfs_api.cpp:22] open(): File system is not mounted
Connected to :Tairova6
Got IP: 192.168.1.109
Guru Meditation Error: Core 1 panic'ed (InstrFetchProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x00000000 PS : 0x00060b30 A0 : 0x800d1576 A1 : 0x3ffb1f20
A2 : 0x3ffc1544 A3 : 0x00000000 A4 : 0x3ffc4088 A5 : 0x00000000
A6 : 0x3ffc4088 A7 : 0x00000000 A8 : 0x800d4bfb A9 : 0x3ffb1ee0
A10 : 0x377bf71e A11 : 0x3ffc4088 A12 : 0x377bf71e A13 : 0x3ffb1f2c
A14 : 0x3ffd03b4 A15 : 0x3ffc4088 SAR : 0x00000008 EXCCAUSE: 0x00000014
EXCVADDR: 0x00000000 LBEG : 0x4000c28c LEND : 0x4000c296 LCOUNT : 0x00000000
Backtrace: 0x00000000:0x3ffb1f20 0x400d1573:0x3ffb1f60 0x400db4e3:0x3ffb1fb0 0x40088c1d:0x3ffb1fd0
Rebooting...
1
Получилось решить проблему ?
Очень круто, а с приложением будет втройне круче). Скажите, возможно реализовать это все в программе Flprog?
Хочу сделать термостат на ESP8266, но програмировать не умею. можите ли вы сделать проэкт на своем канале ?
Супер !!!!
Круто!
Привет. У вас Как всегда очень полезные решения. Спасибо за работу.
Подскажите , как подключить ваш Фреймворк 2 .
он все равно не рабочий
Как обстоят дела с восстановлением данных, есть ли какие-то результаты?
Проект очень хороший, продолжайте в том же духе! Есть такой вопрос, на кнопку можно задать callback, а на выпадающий список и другие элементы, как с них получать и обрабатывать данные в скетче?
Другие элементы просто перезаписывают значение параметра (ключ - значение)
Записать значение: var(key, value);
Считать значение: param(key);
Kakije tam novosti s zostkim diskom?
Ну и выложили бы на github этот пример. Что бы с чего то можно было бы начать работу с Вашим фреймворком. А то я скачал, а там голая либа, без документации и почти без коментариев. У тому же не понятно что это за массивы данных (кода?) в хидерах.
Однозначно крутая вещь! Но хера толка от неё, если никто не знает как этим пользоваться. А те кто знает не говорят.
Ты крут!
Ты позволяешь коммерческое использование, Марсель?
Да
@@МАРСЕЛИЧ, как можно связаться?
А можно попросить поделиться main.cpp представленным в видео?
Не могу подключить DSку. Менял сопротивление, датчики, длину провода. Показывает -127 или 85. Адрес датчика читается.
Заработало!!! Какой-то косяк с питанием. Перед функцией:
sensors.requestTemperatures();
добавил настройку порта:
pinMode(pin, OUTPUT);
И все заработало.
Да, забыл сказать, что все это на ESP8266. На ESP32 говорят работает без проблем.
Марсель, есть функция, чтобы удалить созданный параметр в jee.var из json или вообще все стереть, а то похоже "Привет Заяц!" из прошлых скетчей глубоко где то засели.
Зажмите flash на 16 секунд, spiffs очистится, либо прошейте spiffs из IDE пустым
@@МАРСЕЛИЧ о спасибо, колупал json, а оказывается надо было SPIFFS. Вычистил все SPIFFS.format(); Самоучка - дом с пропущенными кирпичами ))
А у меня на esp32doit-devkit-v1 вообще пока не запускается. модуль после перезагрузки постоянно ресетится..понять пока не могу причину этого явления. Взял пример с гитхаба JeeUI2-Example-DHT22-DS18B20-MQTT там всё работает
У меня к wi-fi подключается, но веб интерфейс не работает
@@denial3874 У меня заработало всё нормально
@@AntonMalygin в ардуино ?
@@denial3874 Не в Platform IO. Но взял пример с одном из ссылок под видео и нормально стал работать. Жаль что продолжения у этого проекта пока нет.
@@AntonMalygin у меня нечего не получилось, кучу ошибок выдало
Возможно ли реализовать Captive Portal Pop-up?
А обратную связь поддерживает например на устройстве снимаем температуру и чтоб ее в реальном времени выводил в веб интерфейс? или например уровень сигнала вайфай.
Да
@@МАРСЕЛИЧ В видео обзоре вроде не было такого
Марсель, стрим это будет интересно, так как их у тебя ещё не было . И телеграм канал заводи быстрее, а лучше группу для общения.
Однозначно лайк. А каким образом сделан веб интерфейс? Какой-то фреймворк? И какой размер javascript?
Так мой фреймворк, на канале есть запись стрима по нему
@@МАРСЕЛИЧ ,прошу прощения, я наверное не совсем понятно спросил, я имел ввиду использовался ли какой-либо javascript фреймворк? Насколько я понимаю, на javascript написано некое приложение, которое получает json-строку и ориентируясь по ней формирует элементы веб интерфейса. Какими средствами было написано веб приложение? Чистый javascript или фреймворк(vue, angular)? Интересуюсь потому, что сам пишу нечто подобное.
@@ЕвгенийС-к2г Чистый JS, иначе подгружаемый скрипт весил бы слишком много.
@@МАРСЕЛИЧ я использую vue, он достаточно компактный, собираю вебпаком, минифицирую и упаковываю(gzip), в итоге файл js составляет 50-60 кб. А файл js у вас где находится? progmem или SPIFFS?
@@ЕвгенийС-к2г progmem, в исходниках всё есть, в том числе не сжатые исходники веб интерфейса и js построения страниц
Марсель, реализовано ли отображение данных в реальном времени? К примеру с датчика температуры?
Да
Не могу зайти в веб интерфейс в режиме AP. Какой ip? Где посмотреть.?
Подключился а созданной устройством сети а в веб интерфейс зайти не могу . Какой ip? Где посмотреть?
Все разобрался.😂
Кто нибудь допилил загрузку файлов через веб? очень надо!
Крутая штука, жаль жёсткий диск подвел
Эта штука и без жестокого диска выйдет, просто попозже. В моей голове был бэкап.
Всегда держите проекты еще где то кроме компа. Комп - очень ненадежное хранилище.
Лучше всего выливать все на GitHub. Если не хотите светить какой то код (ведь в GitHub бесплатные только открытые проекты) можете заливать на bitbucket.org там есть возможность бесплатно создавать приватные репозитории.
Внешний жесткий уже чем плох для бекапа? Не нравится один винт, сделайте массив из дисков.
@@asmodey1605 Ну во первых внешний жесткий обычно там где и не внешний. И потоп, пожар или ограбление уничтожит оба. А во вторых программные проекты лучше держать в инструментах которые для этого и созданы. Там они гораздо более надежно бэкапятся, дают возможность колаборации и вообще доступны с любой точки мира где есть интернет. Кроме того обеспечивают версионность. Одни плюсы по сравнению с внешним жестким диском.
Люто , +
Такая ошибка компиляции - что может быть?!
lib\OneWire\OneWire.cpp: In member function 'uint8_t OneWire::reset()':
lib\OneWire\OneWire.cpp:167:24: warning: unused variable 'reg' [-Wunused-variable]
volatile IO_REG_TYPE *reg IO_REG_BASE_ATTR = baseReg;
Почему не подключается к вайфаю а становится точкой доступа? Ты хоть можешь иногда о проблемах упомянуть, не все же умные такие как ты
Классно. Но старый интерфейс был интереснее по дизайну.
Этот фреймворк поддерживает ШАБЛОНЫ, дизайн можете рисовать любой!
@@МАРСЕЛИЧ ну тогда ваще красота)) Спасибо за твои труды.
16:52, цИфры )))
Было бы здорово иметь поддержку OTA. Судя по всему, вторая версия более-менее готова. Хотел бы поучаствовать в бетатесте.
Сделай меню не три полоски а свой треугольник . Думаю будет симпатично.
Ну а если кто-то на продажу проект будет делать, а там треугольник
@@МАРСЕЛИЧ Небольшое предложение, для небольших экранов, при выборе пункта меню лучше будет его скрывать автоматом, а не в ручную как в видео.
Я так понимаю это еще в разработке? Скачать пока нет?
Он не в разработке, он на покоцаном жёстком диске, а я по памяти пишу по новой
@@МАРСЕЛИЧ Ясно печаль, я не сильно разбираюсь но вещь вроде путевая, хотел скинуть Вам пару рублей но мой банк не отправляет с Украины в Россию (
Ну вот , начались танцы с бубнами (fatal error: AsyncTCP.h: No such file or directory
compilation terminated.
)
Просто установите библиотекиу AsyncTCP.h
@@МАРСЕЛИЧ Все не просто , уже 10 библиотека по запросу и mqtt и esp32wifi
JeeUI2.cpp: In member function 'void jeeui2::getAPmac()':
error: 'class WiFiClass' has no member named 'mode'
WiFi.mode(WIFI_MODE_AP);
error: 'WIFI_MODE_AP' was not declared in this scope
WiFi.mode(WIFI_MODE_AP);
error: 'class WiFiClass' has no member named 'softAPmacAddress'
mc = String(WiFi.softAPmacAddress());
может истина где-то рядом , но я застрял , может версии библиотек конфликтуют .
Есть еще такой проект, как AutoConnect for ESP8266/ESP32 hieromon.github.io/AutoConnect/index.html Там тоже можно создавать страницы. Может позаимствовать у них идею по поводу автоподключению к WiFi и сохранением в eeprom и создать пункт меню по умолчанию или подключаемое, для смены точки доступа, чтобы жестко не было задано в скетче!
Посмотрите первую версию фреймворка, ничего жостко не задано, это просто значение по умолчанию, это меняется из интерфейса,а заимствовать мне нечего,этот фреймворк круче
@@МАРСЕЛИЧ тут удобно то, что отображаются все доступные сети и надо ввести только пароль. И в памяти хранятся несколько сетей, к которым он подключается.
Ideja to haroshaja.
Nu kto materitsja, ja daze uspel i videl.
A jesli u nih samih zostki nakroitsja, ti mizet izmenjutsja.
А где скачать 2ю версию?
Напишите в ВК, я вам отправлю
Есть похожий фреймворк у Ренат K у него давно используется JSON формат формирования страниц и даже редактирования интерфейса, графики - ruclips.net/user/Renat2985
У меня немного другая философия
не правда! интересно!)
Спасибо за помощ . ваш JeeUI людям нужен.
Попробуй платформу M5Stack уже готовый блок. с ESP32 и дисплеем. к нему существуют доп блоки. ruclips.net/video/0uNHp1cLP1A/видео.html
Ну а тут то что за ...... дизлайк поставил?
Наверно спьяну тычут не туда.....
Просьба добавить контрол для ввода даты.
Он там есть, просто в видео не показано!
Хотелось-бы попробовать,прошу поделиться на anatoliy.byrima@gmail.com
Я не в России сейчас нахожусь, могу только в ВК документом отправить
@@МАРСЕЛИЧ доведи приложение до ума. Пожалуйста. Ну не работает оно у большинства. Вот прям как только рекламный баннер выскакивает, так сразу FC ловит. Может рекламщиков поменяй, или перепиши как то функцию.
@@MrKostyamat я бы рад, только вот работа.
Я же в свободное время это делаю, а работаю я буквально с перерывами на сон.
Народ не поддержал идею финансово, по этому жду свободного времени.
Допишу.
@@МАРСЕЛИЧ если бы оно работало, то и финансово поддержали бы, ИМХО. А то получается - человек качает приложение, оно вылетает, человек неприятно удивлен. При таких раскладах поддерживать он не пожелает.
Имхо стоит сделать нормально, положить в гуглплей версию с рекламой, и версию за деньги. Так делают все, и оно работает. Или на оутсорсинг отдайте.