КАК ПОСТРОИТЬ WEB SERVER НА ESP32
ฝัง
- เผยแพร่เมื่อ 20 ต.ค. 2022
- Как открыть входную дверь вашего дома пришедшему родственнику, если вы уехали в командировку?...
В этом видео я покажу, как построить такого электронного помощника, чтобы он удаленно слушал мои команды и правильно реагировал на них.
ТАЙМ КОДЫ
0:04 Рассуждения о том, зачем нужен сервер IoT
0:41 Кратко о технологии Client-Server
1:24 Как использовать компонент HTTP Server из IDF
3:28 Пример реализации сервера на живом проекте
5:54 Добавляю в код сервера обработку элемента управления UI
8:58 Тестирую добавленный элемент сервера и UI на железе
МАТЕРИАЛЫ ИЗ ЭТОГО ВИДЕО
------------------------------------------------------------------------
► Видео о том, как построить сервер с доступом по WiFi + Ethernet на ESP32 • Как скрестить WiFi и E...
ПОДДЕРЖИ МОЮ РАБОТУ НА СТРАНИЧКЕ BOOSTY
------------------------------------------------------------------------
Поддержи мою работу и получи доступ к проектам лаборатории полезных гаджетов:
boosty.to/useful-gadgets-lab
РАЗРАБОТАЮ ПРОТОТИП УСТРОЙСТВА ДЛЯ ВАШЕГО ПРОЕКТА
------------------------------------------------------------------------
Хотите, чтобы я создал рабочий прототип электронного управляющего устройства для Вашего проекта?
Если интересно, то записывайтесь на разовую БЕСПЛАТНУЮ консультацию здесь:
kirill.ivanychev.tilda.ws/#con...
ПОМОГУ ПОЛУЧИТЬ БАЗОВЫЙ ОПЫТ РАЗРАБОТКИ НА МИКРОКОНТРОЛЛЕРАХ
------------------------------------------------------------------------
Если Вы уже имеете опыт разработки электроники и хотите освоить создание устройств на базе микроконтроллеров Atmega или ESP32, то я могу Вам в этом помочь.
Если интересно, то записывайтесь на разовую БЕСПЛАТНУЮ консультацию, заполнив форму заявки:
kirill.ivanychev.tilda.ws/requ...
#ОтИдеиДоЖелеза #РазработкаЭлектроники #arduino #PCB #печатныеплаты #отпроектадожелеза #easyeda
Отличный урок .. давно искал что то подобное а здесь все и сразу)). Спасибо!!!
Пожалуйста, уже готовлю к нему дополнение,
Поднимал 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
Насколько я понимаю, этот сервер может обрабатывать одну сессию одного пользователя одновременно.
Я тестировал параллельное подключение от мобильника, планшета и через ethernet контроллер. Работает со всеми девайсами хорошо
@@kirill-ivanychev Я наверное не правильно задал вопрос.
Если например сделать страницу для того чтобы пользователи оставляли отзывы на сервере, то несколько одновременно пользователей, будут конкурировать и перезаписывать данные в полях на странице. После нажатия сохранить, наверное останется в полях каша от всех пользователей, которые одновременно набирали?
@@sergc9068 Я вижу решение такой задачи следующим образом. В сервере пишу обработчик запроса в котором выгребаю данные отзыва, которые прислал отдельный пользователь: имя, электронная почта, текст отзывы. Этот обработчик сохраняет полученные данные в виде записи отзыва. Следующий пользователь также напишет свои данные отзыва и по нажатию на кнопку отправки сформируется запрос с данными отзыва по той же структуре. Сервер обработает этот запрос и сохранит ещё одну запись. И так далее...
В такой реализации каши получится не должно.
Ну а вообще серверы на esp32 всё-таки предназначены для управления железом умной электроники, для датчиков, измерительной и контролирующей аппаратуры
@@kirill-ivanychev Усложняю задачу. На сервере стоит проверка правильности маски например электронной почты. И пользователям пришло уведомление что нужно исправить почту. К тому же бывает что пользователи могут нажать все кнопку отправки одновременно.
Это я потихоньку подвожу к варианту с асинхронным вебсервером.
Насколько я знаю именно представленный в видео Вами сервер - он однопользовательский на одну сессию одновременно. К тому же не плохо там включить авторизацию. И тогда можно более спокойно пользоваться управлением своего умного дома. Однопользовательского интерфейса вполне хватает для таких целей.
@@sergc9068 всё верно, этот сервер предназначен для задач устройств умного дома
почему так мало просмотров? контент на уровне
Спасибо. Просмотров, по всей видимости мало потому, что я не пользуюсь способами накрутки просмотров. Видео смотрят только те, кому тема действительно интересно
@@kirill-ivanychev ну нужно ж еще и доход получать с ютуба. любая работа должна быть оплачиваемой
Если вы хотите мне предложить гонорар, то я только за! :-)