КАК ПОСТРОИТЬ WEB SERVER НА ESP32

  Переглядів 3,622

Kirill Ivanychev

Kirill Ivanychev

Рік тому

Как открыть входную дверь вашего дома пришедшему родственнику, если вы уехали в командировку?...
В этом видео я покажу, как построить такого электронного помощника, чтобы он удаленно слушал мои команды и правильно реагировал на них.
ТАЙМ КОДЫ
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

КОМЕНТАРІ: 20
@user-sc3ix7lc5g
@user-sc3ix7lc5g Рік тому
Отличный урок .. давно искал что то подобное а здесь все и сразу)). Спасибо!!!
@kirill-ivanychev
@kirill-ivanychev Рік тому
Пожалуйста, уже готовлю к нему дополнение,
@kardanium
@kardanium Рік тому
Поднимал WEB на ESP8266 (с фреймворком Arduino). WEB станицы разрабатывал сам, подняв виртуальный хост на сервере Apache. Бэкэнд на сервере писал на PHP (писал чисто обслуживание команд клиента и выдачу примеров данных). Шаблонизация страниц выполняется на стороне клиента с помощью JavaScript. Многие данные приходят в виде JSON, например такие, как пункты меню, подписи к кнопкам, текущие данные о статусе и прочее. А JS, имея шаблон HTML страницы, сам наполняет страницу контентом. Потом, после разработки комплекта скриптов и html шаблонов, был написан бэкэнд для сервера на МК, а файлы WEB страниц, скриптов и стилей были закинуты на "диск" в микроконтроллере (SPIFFS, она же LittleFS) Такой подход был выбран из тех соображений, чтобы не грузить МК лишними действиями. И процесс разработки WEB страницы перестал отличаться от такового для "взрослых" систем.
@kirill-ivanychev
@kirill-ivanychev Рік тому
Отлично! Главное, что вы нашли удобный для себя способ построения веб.
@aleksandrkozlov9286
@aleksandrkozlov9286 Рік тому
Спасибо, было интересно
@kirill-ivanychev
@kirill-ivanychev Рік тому
Пожалуйста:-)
@3dprinterdoma
@3dprinterdoma Рік тому
Круто, но пока не понятно можете выложить скетч. Я в нем подпишу что для чего и буду знакомиться с кодом.
@kirill-ivanychev
@kirill-ivanychev Рік тому
Этот код по структуре отличается от Arduino-скетчей. Вы можете взять для ознакомления пример реализации сервера точно по той же структуре, что и в моем видео. Пример можно взять вот здесь: github.com/espressif/esp-idf/blob/master/examples/protocols/http_server/simple/main/main.c
@lofo1979
@lofo1979 11 годин тому
Очень интересно, но нефига не понятно
@kirill-ivanychev
@kirill-ivanychev 11 годин тому
Бывает:-)
@sergc9068
@sergc9068 Рік тому
Насколько я понимаю, этот сервер может обрабатывать одну сессию одного пользователя одновременно.
@kirill-ivanychev
@kirill-ivanychev Рік тому
Я тестировал параллельное подключение от мобильника, планшета и через ethernet контроллер. Работает со всеми девайсами хорошо
@sergc9068
@sergc9068 Рік тому
@@kirill-ivanychev Я наверное не правильно задал вопрос. Если например сделать страницу для того чтобы пользователи оставляли отзывы на сервере, то несколько одновременно пользователей, будут конкурировать и перезаписывать данные в полях на странице. После нажатия сохранить, наверное останется в полях каша от всех пользователей, которые одновременно набирали?
@kirill-ivanychev
@kirill-ivanychev Рік тому
@@sergc9068 Я вижу решение такой задачи следующим образом. В сервере пишу обработчик запроса в котором выгребаю данные отзыва, которые прислал отдельный пользователь: имя, электронная почта, текст отзывы. Этот обработчик сохраняет полученные данные в виде записи отзыва. Следующий пользователь также напишет свои данные отзыва и по нажатию на кнопку отправки сформируется запрос с данными отзыва по той же структуре. Сервер обработает этот запрос и сохранит ещё одну запись. И так далее... В такой реализации каши получится не должно. Ну а вообще серверы на esp32 всё-таки предназначены для управления железом умной электроники, для датчиков, измерительной и контролирующей аппаратуры
@sergc9068
@sergc9068 Рік тому
@@kirill-ivanychev Усложняю задачу. На сервере стоит проверка правильности маски например электронной почты. И пользователям пришло уведомление что нужно исправить почту. К тому же бывает что пользователи могут нажать все кнопку отправки одновременно. Это я потихоньку подвожу к варианту с асинхронным вебсервером. Насколько я знаю именно представленный в видео Вами сервер - он однопользовательский на одну сессию одновременно. К тому же не плохо там включить авторизацию. И тогда можно более спокойно пользоваться управлением своего умного дома. Однопользовательского интерфейса вполне хватает для таких целей.
@kirill-ivanychev
@kirill-ivanychev Рік тому
@@sergc9068 всё верно, этот сервер предназначен для задач устройств умного дома
@OpenFrimeTVcom
@OpenFrimeTVcom 11 місяців тому
почему так мало просмотров? контент на уровне
@kirill-ivanychev
@kirill-ivanychev 11 місяців тому
Спасибо. Просмотров, по всей видимости мало потому, что я не пользуюсь способами накрутки просмотров. Видео смотрят только те, кому тема действительно интересно
@OpenFrimeTVcom
@OpenFrimeTVcom 11 місяців тому
@@kirill-ivanychev ну нужно ж еще и доход получать с ютуба. любая работа должна быть оплачиваемой
@kirill-ivanychev
@kirill-ivanychev 11 місяців тому
Если вы хотите мне предложить гонорар, то я только за! :-)
Getting Started with ESP32 - Step-By-Step Tutorial
19:50
Tomasz Tarnowski
Переглядів 297 тис.
Эффект Карбонаро и соковыжималка
01:01
История одного вокалиста
Переглядів 3 млн
Eurovision Song Contest 2024: First Semi-Final (Live Stream) | Malmö 2024 🇸🇪
2:23:45
СОЗДАЕМ ПРОЕКТ УСТРОЙСТВА В ОБЛАКЕ tuya
13:43
Kirill Ivanychev
Переглядів 1,5 тис.
Try these 16 Brilliant ESP32 projects!!!
11:18
ToP Projects Compilation
Переглядів 512 тис.
Web-страница сервера ESP32
6:10
Kirill Ivanychev
Переглядів 1,9 тис.
Эффект Карбонаро и соковыжималка
01:01
История одного вокалиста
Переглядів 3 млн