ESP8266 в качестве модема как WebClient

Тема в разделе "ESP8266, ESP32", создана пользователем Денис Полушкин, 29 окт 2018.

  1. Здравствуйте, использую ESP8266 в качестве модема как WebClient при помощи библиотек
    ESP8266.h, SoftwareSerial.h.
    Посылаю запрос к серверу, который присылает ответ в виде json. Этот ответ, указанной выше библиотекой обрабатывается так
    uint8_t buffer[100] = {0};
    uint32_t len = wifi.recv(buffer, sizeof(buffer), 10000);

    if (len > 0) {
    Serial.print("Received:[");
    for(uint32_t i = 0; i < len; i++) {
    Serial.print((char)buffer);
    }
    Serial.print("]\r\n");
    }

    Однако этого хватает только на заголовок ответа веб-сервера, до данных json не доходит. Увеличивая uint8_t buffer[100] = {0}; до 400 также не хватает (выводится больше, но снова не доходит до информации json). При большем буфере arduino работает нестабильно и вообще не запускается.
    Как пропустить заголовок сервера и сразу считывать json? Буду благодарен за любую помощь! Спасибо
    P.S. по сути, если бы буфер считывался посимвольно, можно бы было искать открывающую фигурную скобку, и если нашли, то всю информацию после нее помещать в переменную, до тех пор пока не найдена закрывающая фигурная скобка. Но как это реализовать если здесь wifi.recv буфер сразу загружается не нужной информацией о заголовках веб-страницы предусмотренными стандартом обмена сообщениями между клиентом и веб-сервером(((
     
    Последнее редактирование: 29 окт 2018
  2. Найдите библиотеку, которая обработает http за вас. Не надо заниматься ерундой.
     
  3. parovoZZ

    parovoZZ Гуру

    мозгов сколько? Я где-то видел, как напаивали чуть ли не 8 метров к этой есп.
     
  4. Я не использую память esp, она идет в качестве именно модема. По поводу сколько там мозгов - это модуль амперки для IoT. Может конечно я не до конца понимаю логику общения этого модуля с ардуино. Но в моем решении она общается с ардуино по softserial.
     
  5. Новое
    По запросу http в библиотеках ардуино есть только одна и она работает с шилдом 101
     
  6. Блин ну нормально искать, а не в модерируемом репозитории коммерческого проекта. Так вы никогда ничего не найдете. Гугл же есть, тематические ресурсы, и так далее.
    https://github.com/McOffsky/Arduino_ESP8266_HTTP_Client
     
  7. parovoZZ

    parovoZZ Гуру

    Через DMA что ле? Эта микра умеет так?