Шаг №5 – Передача данных на Web страницу

Поддержать сайт

Программирование по порядку.
В этом скетче, добавляем интерфейс для передачи данных на Web страницу.

step5-datapages

Поддержать сайт

11 мыслей о “Шаг №5 – Передача данных на Web страницу”

  1. Для того, что бы при перезагрузке был виден отклик, нужно поменять местами строку в обработчике.

    // Перезагрузка модуля по запросу вида http://192.168.0.101/restart?device=ok
    void handle_Restart() {
    String restart = HTTP.arg(“device”);
    if (restart == “ok”)
    HTTP.send(200, “text/plain”, “OK”);
    ESP.restart();
    }

    1. Полезное замечание!
      Тогда уж так:
      void handle_Restart() {
      String restart = HTTP.arg(“device”); // Получаем значение device из запроса
      if (restart == “ok”) { // Если значение равно Ок
      HTTP.send(200, “text / plain”, “Reset OK”); // Отправляем ответ Reset OK
      ESP.restart(); // перезагружаем модуль
      }
      else { // иначе
      HTTP.send(200, “text / plain”, “No Reset”); // Отправляем ответ No Reset
      }
      }

  2. А можно вместо:
    String НашаСтрока = “много-много всего”;
    …набиваем всё в НашаСтрока…

    HTTP.send(200, «text / plain», НашаСтрока); //сразу вся страница рисуется

    А можно выводить на страницу несколькими командами, типа как в сериал порт?..

    А то похоже ОЗУ не хватает, если много сгружать в НашаСтрока…

      1. в этом скетче да, в моем не помещается в строчную переменную, удобнее было бы “сбрасывать” данные кусками, не загружая всю страницу в строку.
        нашел такое, но для Эзернета:
        void setup()
        {
        Ethernet.begin(mac, ip);
        server.begin();
        }

        а потом сброс по кусочкам:
        client.print(out);
        client.print(” 100,”);
        ….
        client.stop(); //в конце (как я понял)

        а для вайфая не соображу как… но вроде можно тоже?
        (сорри за длинноту)

  3. Не понял о чем этот шаг((
    Где, собственно, “передача данных на web-страницу”? Взяли значения переменных присвоенные в скетче в лоб и просто вывели их в json-формате. В данном случае никакой разницы с plain/text из первого шага.
    Не-е-т, батенька, так не пойдет. Вы давайте-ка, получите данные введенные непосредственно в поля вэб-морды. Я подозреваю, здесь без запроса к БД уже никак не обойтись. Или, на худой конец, пошлого парсинга файла (txt? xml? csv?) с данными.

  4. Здравствуйте.

    Использую отладочную плату NodeMCU. Ваш проект выкачал непосредственно с этой страницы (http://esp8266-arduinoide.ru/step5-datapages/) и вгрузил в ESP8266 без изменений. При корневом подключении (в поисковой строке Google Chrome – 192.168.4.1) web-страница загружается, но значения всех полей остаются дефолтными:
    {{SSDP}}, {{ssid}}, {{timezone}} и т.д.

    При просмотре JSON – запроса (в поисковой строке Google Chrome – 192.168.4.1/configs.json) всё нормально:

    {“SSDP”: “SSDP-test”, “ssid”: “home”, “password”: “i12345678”, “ssidAP”: “WiFi”, “password”: “”, “ip”: “0.0.0.0”}.

    В чём может быть ошибка? Почему данные не передаются на web-страницу?

    1. это пуcтой файл json
      зайдите на веб страницу с настройками и укажите ваши значения, сохраните их тем самым заполните файл config.json

      1. Здравствуйте,Михаил. У меня в точности такая же проблема. 192.168.4.1/configs.json выдает нужные значения, но они на страницу не попадают. Я правильно понял что при таком запросе должен создаться файл configs.json с заполненными данными?
        Не совсем понял что значит заполнить его данными. Какой формат у этого файла должен быть?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.