ESP01 как избавиться от server.on?

Различные параметры и/или состояния переменных и тп в веб передают с помощью GET или POST запросов. Обработчик (назначенная функция server.on) при этом может быть один.

Самый простой - это GET запрос. Например, он может быть таким:

http://sitename.ru:port_number/index/?x=23&y=45&action=get_status&melody=no

Где x, y, action, melody - это передаваемые в веб-сервер параметры. А index - ни что иное как функция-обработчик.

Если бы я не додумался прописать строку 7, то мне этот код и на хрен не тарахтел.

По аккуратнее в выражениях, за мат тут банят…


Вот так можно параметры получить из get-запроса:

for (uint8_t i = 0; i < server.args(); i++) {
    server.argName(i); // имя аргумента
    server.arg(i).     // значение аргумента
}

Но это если ты что-то сделать хочешь, а не только по агрызаться.

Разберитесь, что такое параметры http запроса. Тогда вы сможете вызывать одну и ту же функцию на любые значения влажности.

Я ему уже всё расписал, если

То и запрос сформировать и распарсить по моим сообщениям легко сможет ))

1 лайк

Вы понимаете синтаксис, но абсолютно ничего не знаете о веб протоколе и http запросах. Настолько, что даже когда вам подсказывают - вы не понимаете подсказок.

1 лайк

А получить строку из POST еще проще:

server.arg("plain");     // полученная строка

Осталось только понять, как у ТС формируется и отправляется запрос на ESP-01

Ну, если все в порядке, то о чем мы здесь перетираем? Хотя, я вот не понимаю, каким образом MAC-адрес может помочь вашему вопросу ))

Здесь решение вопроса не о парсинге, а о продключении ESP к роутеру. Парсинг - другой вопрос.
Мне нужно , было задать конкретный локальный IP-адрес для ESP: 192.168.0.62.
У меня не получалось задавать его в лоб в скетче - не было подключения.

Тогда я придумал MAC-адрес (строка 7).
В разделе DHCP роутера в резервировании адресов связал MAC-адрес и необходимый
IP-адрес.
В разделе виртуальный сервер связал IP 192.168.0.62 и Port 10200.

Таким образом, ESP подключается по DHCP, но получает мой IP 192.168.0.62.

Что касается парсинга, то получилось. Спасибо всем ответившим и критиковавшим.

WiFi.config(IPAddress(192, 168, 0, 62), 
            IPAddress(192, 168, 0, 1), 
            IPAddress(255, 255, 255, 0);
1 лайк

Я делал другим способом. Спасибо. Попробую так.

Я поправил код - давно не писал под ESP

Да. Я заметил. Шлюз был не такой.

Нет. Адрес не строкой задается

#21 именно с такие GET-запросы я отсылаю с компьютера на удаленные сервера.
А теперь и на ESP01. Просто хотелось избавиться от обработчика. На Web-серверах я раньше не работал, только “общался” с ними.

У меня работает без косой перед вопросом.

Потому что так Вы и описываете адрес для обработчика:

server.on("/armageddon", f2);

Да. Просто сейчас у меня переделано.