Поднимал WEB на ESP8266 (с фреймворком Arduino). WEB станицы разрабатывал сам, подняв виртуальный хост на сервере Apache. Бэкэнд на сервере писал на PHP (писал чисто обслуживание команд клиента и выдачу примеров данных). Шаблонизация страниц выполняется на стороне клиента с помощью JavaScript. Многие данные приходят в виде JSON, например такие, как пункты меню, подписи к кнопкам, текущие данные о статусе и прочее. А JS, имея шаблон HTML страницы, сам наполняет страницу контентом. Потом, после разработки комплекта скриптов и html шаблонов, был написан бэкэнд для сервера на МК, а файлы WEB страниц, скриптов и стилей были закинуты на "диск" в микроконтроллере (SPIFFS, она же LittleFS) Такой подход был выбран из тех соображений, чтобы не грузить МК лишними действиями. И процесс разработки WEB страницы перестал отличаться от такового для "взрослых" систем.
Этот код по структуре отличается от Arduino-скетчей. Вы можете взять для ознакомления пример реализации сервера точно по той же структуре, что и в моем видео. Пример можно взять вот здесь: github.com/espressif/esp-idf/blob/master/examples/protocols/http_server/simple/main/main.c
@@kirill-ivanychev Я наверное не правильно задал вопрос. Если например сделать страницу для того чтобы пользователи оставляли отзывы на сервере, то несколько одновременно пользователей, будут конкурировать и перезаписывать данные в полях на странице. После нажатия сохранить, наверное останется в полях каша от всех пользователей, которые одновременно набирали?
@@sergc9068 Я вижу решение такой задачи следующим образом. В сервере пишу обработчик запроса в котором выгребаю данные отзыва, которые прислал отдельный пользователь: имя, электронная почта, текст отзывы. Этот обработчик сохраняет полученные данные в виде записи отзыва. Следующий пользователь также напишет свои данные отзыва и по нажатию на кнопку отправки сформируется запрос с данными отзыва по той же структуре. Сервер обработает этот запрос и сохранит ещё одну запись. И так далее... В такой реализации каши получится не должно. Ну а вообще серверы на esp32 всё-таки предназначены для управления железом умной электроники, для датчиков, измерительной и контролирующей аппаратуры
@@kirill-ivanychev Усложняю задачу. На сервере стоит проверка правильности маски например электронной почты. И пользователям пришло уведомление что нужно исправить почту. К тому же бывает что пользователи могут нажать все кнопку отправки одновременно. Это я потихоньку подвожу к варианту с асинхронным вебсервером. Насколько я знаю именно представленный в видео Вами сервер - он однопользовательский на одну сессию одновременно. К тому же не плохо там включить авторизацию. И тогда можно более спокойно пользоваться управлением своего умного дома. Однопользовательского интерфейса вполне хватает для таких целей.
Спасибо. Просмотров, по всей видимости мало потому, что я не пользуюсь способами накрутки просмотров. Видео смотрят только те, кому тема действительно интересно
Отличный урок .. давно искал что то подобное а здесь все и сразу)). Спасибо!!!
Пожалуйста, уже готовлю к нему дополнение,
Поднимал WEB на ESP8266 (с фреймворком Arduino). WEB станицы разрабатывал сам, подняв виртуальный хост на сервере Apache. Бэкэнд на сервере писал на PHP (писал чисто обслуживание команд клиента и выдачу примеров данных). Шаблонизация страниц выполняется на стороне клиента с помощью JavaScript. Многие данные приходят в виде JSON, например такие, как пункты меню, подписи к кнопкам, текущие данные о статусе и прочее. А JS, имея шаблон HTML страницы, сам наполняет страницу контентом. Потом, после разработки комплекта скриптов и html шаблонов, был написан бэкэнд для сервера на МК, а файлы WEB страниц, скриптов и стилей были закинуты на "диск" в микроконтроллере (SPIFFS, она же LittleFS) Такой подход был выбран из тех соображений, чтобы не грузить МК лишними действиями. И процесс разработки WEB страницы перестал отличаться от такового для "взрослых" систем.
Отлично! Главное, что вы нашли удобный для себя способ построения веб.
Спасибо! Очень понравилось!
@@alek-x0 пожалуйста, Я рад что вы нашли что-то полезное для себя в этом видео
Спасибо, было интересно
Пожалуйста:-)
Круто, но пока не понятно можете выложить скетч. Я в нем подпишу что для чего и буду знакомиться с кодом.
Этот код по структуре отличается от Arduino-скетчей.
Вы можете взять для ознакомления пример реализации сервера точно по той же структуре, что и в моем видео.
Пример можно взять вот здесь:
github.com/espressif/esp-idf/blob/master/examples/protocols/http_server/simple/main/main.c
Класно объясняешь, спасибо
@@vlad5101 пожалуйста:-)
Насколько я понимаю, этот сервер может обрабатывать одну сессию одного пользователя одновременно.
Я тестировал параллельное подключение от мобильника, планшета и через ethernet контроллер. Работает со всеми девайсами хорошо
@@kirill-ivanychev Я наверное не правильно задал вопрос.
Если например сделать страницу для того чтобы пользователи оставляли отзывы на сервере, то несколько одновременно пользователей, будут конкурировать и перезаписывать данные в полях на странице. После нажатия сохранить, наверное останется в полях каша от всех пользователей, которые одновременно набирали?
@@sergc9068 Я вижу решение такой задачи следующим образом. В сервере пишу обработчик запроса в котором выгребаю данные отзыва, которые прислал отдельный пользователь: имя, электронная почта, текст отзывы. Этот обработчик сохраняет полученные данные в виде записи отзыва. Следующий пользователь также напишет свои данные отзыва и по нажатию на кнопку отправки сформируется запрос с данными отзыва по той же структуре. Сервер обработает этот запрос и сохранит ещё одну запись. И так далее...
В такой реализации каши получится не должно.
Ну а вообще серверы на esp32 всё-таки предназначены для управления железом умной электроники, для датчиков, измерительной и контролирующей аппаратуры
@@kirill-ivanychev Усложняю задачу. На сервере стоит проверка правильности маски например электронной почты. И пользователям пришло уведомление что нужно исправить почту. К тому же бывает что пользователи могут нажать все кнопку отправки одновременно.
Это я потихоньку подвожу к варианту с асинхронным вебсервером.
Насколько я знаю именно представленный в видео Вами сервер - он однопользовательский на одну сессию одновременно. К тому же не плохо там включить авторизацию. И тогда можно более спокойно пользоваться управлением своего умного дома. Однопользовательского интерфейса вполне хватает для таких целей.
@@sergc9068 всё верно, этот сервер предназначен для задач устройств умного дома
почему так мало просмотров? контент на уровне
Спасибо. Просмотров, по всей видимости мало потому, что я не пользуюсь способами накрутки просмотров. Видео смотрят только те, кому тема действительно интересно
@@kirill-ivanychev ну нужно ж еще и доход получать с ютуба. любая работа должна быть оплачиваемой
Если вы хотите мне предложить гонорар, то я только за! :-)