Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

ESP32 присвоить переменной значение из веб формы

Тема в разделе "Раздел для начинающих", создана пользователем PMA, 28 мар 2019.

  1. PMA

    PMA Новичок

    Сообщения:
    5
    Симпатии:
    0
    приветствую всех.
    в программировании есп я пока ноль. поэтому биение головой об клаву постоянное.
    на данный момент споткнулся на простой вещи.
    в веб морде пользователь набирает имя сервера (в моем случае mqtt), имя пользователя и пароль. Нажимает кнопку "сохранить"
    Как эти поля перенести в переменные внутри есп32? я могу отреагировать на нажатие кнопки, но не могу выудить данные. поля для ввода, на самой странице, описаны так: "<input name='ServerName' maxlength="35" size="35" value=%ServerName%>" т.е. ориентир, после которого нужно забрать строку для записи есть - ServerName
    именно есп32. Для есп 8266 я нашел не один пример решения подобной задачи. но они не сработали :(
     
  2. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.162
    Симпатии:
    226
    @PMA у вас ServerName не может быть ориентиром. Это данные, по тому что вы тут написали.
     
  3. PMA

    PMA Новичок

    Сообщения:
    5
    Симпатии:
    0
    вы правы.
    исправил в странице код
    теперь он выглядит так: <input name='%ServName%' maxlength="35" size="35" value=%ServerName%>

    ServName это ориентир. и его нахожу без проблем. а далее затык.
    Похоже я понял, где моя проблема. У меня огромный пробел знаний в том, в каком виде данные со страницы передаются в есп как таковые вообще.
    Где почитать?
     
  4. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.162
    Симпатии:
    226
    при чем тут esp? Вы данные со странице передаёте на сервер. На чем сделан сервер вообще не важно. У сервера есть обработчик запроса. Этот обработчик и должен получить и разобрать строку запроса. А уж как он данные из нее передаст в программу, это совсем другая тема.
    Пробелы у вас, судя по всему, во всех шагах. Потому даже не знаю что посоветовать читать. Попробуйте начать с учебников по html, JavaScript. Когда поймёте как и куда отправляются данные со страницы, то переходите на C++ для создания сервера обработчиков http запросов.
     
  5. PMA

    PMA Новичок

    Сообщения:
    5
    Симпатии:
    0
    с html стало более менее понятно. особенно про обработку данных из форм :)
    Теперь следующий шаг.
    передаю свои данные через адресную строку. например: test.htm?login=222&pass=333
    поскольку данных у меня максимум 4ре числа, то должно хватить.
    теперь затупил на стороне есп. не могу понять простого.. библиотека ESPAsyncWebServer.. как с ее помощью отловить эти переменные?
     
  6. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.162
    Симпатии:
    226
    Последнее редактирование: 3 апр 2019
  7. PMA

    PMA Новичок

    Сообщения:
    5
    Симпатии:
    0
    этот пример я изначально нашел.
    но к каой библиотеке он применим? я использую AsyncWebServer
    и ессно полдучаю ошибку No membernamed named "arg"
     
  8. Сергей_Ф

    Сергей_Ф Moderator Команда форума

    Сообщения:
    2.162
    Симпатии:
    226
    @PMA извините, вам лень ту тему почитать? Там всего три библиотеки упоминаются. Посмотрите где есть это есть. Дела на 5 минут.
     

Поделиться этой страницей