Слайд 2Организация взаимодействия
ESP 8266
Wi-FI
GPIO
Нагрузка
Адрес и аргументы
Элемент управления
![Организация взаимодействия ESP 8266 Wi-FI GPIO Нагрузка Адрес и аргументы Элемент управления](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899297/slide-1.jpg)
Слайд 3Передача информации
от элемента управления к GPIO
На HTML странице имеются элемент для
![Передача информации от элемента управления к GPIO На HTML странице имеются элемент](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899297/slide-2.jpg)
выбора состояния (input с типом “radio”) и кнопка для его применения (input с типом “submit”)
При нажатии на кнопку данные формы передаются серверу в виде аргумента со значением, соответствующим выбору
На сервере в обработчике страницы анализируются аргументы и в соответствии с их значением активируются/деактивируются пины GPIO
Слайд 4Передача информации
от GPIO к элементу управления
При обновлении страницы формируется запрос на
![Передача информации от GPIO к элементу управления При обновлении страницы формируется запрос](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899297/slide-3.jpg)
сервер, в котором указан адрес страницы
При обработке запроса сервер передает управление функции, назначенной на обработку данной страницы («ключа»)
На сервере в обработчике страницы анализируется состояние GPIO и в соответствии с ним формируется элемент управления (ставится cheсked у соответствующего input)
Слайд 6Пример переключателя
Лампочка
![Пример переключателя Лампочка Что будем делать с лампой? Вкл Выкл](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899297/slide-5.jpg)
Слайд 7Пример проверки аргумента и его значения и управления GPIO
for (uint8_t i
![Пример проверки аргумента и его значения и управления GPIO for (uint8_t i](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/899297/slide-6.jpg)
= 0; i < server.args(); i++) {
if ( (server.argName(i) == “lamp") && (server.arg(i) == "on") )
digitalWrite(13, HIGH);
if ( (server.argName(i) == “lamp") && (server.arg(i) == "off") )
digitalWrite(13, LOW);
}