• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Работа с UART в ESP2688 через Arduino IDE

Dodo

New member
Как читать и выводить данные с UART'а на web server?

Код:
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiClient.h>

const char* ssid = "............";
const char* password = "..............";
MDNSResponder mdns;
WiFiServer server(80);

void setup(void)
{
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  Serial.println("");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  if (!mdns.begin("esp8266", WiFi.localIP())) {
    Serial.println("Error setting up MDNS responder!");
  }
  Serial.println("mDNS responder started");
  server.begin();
  Serial.println("TCP server started");
}

void loop(void)
{
  mdns.update();
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  while(client.connected() && !client.available()){
    delay(1);
  }

  String req = client.readStringUntil('\r');
  int addr_start = req.indexOf(' ');
  int addr_end = req.indexOf(' ', addr_start + 1);
  if (addr_start == -1 || addr_end == -1) return;
  req = req.substring(addr_start + 1, addr_end);
  client.flush();
  String s;
  if (req == "/")
  {
    s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>Sireal = ";
    s += String(Serial.read());
    s += "</html>\r\n\r\n";
    Serial.println("Sending 200");
  }
  else
  {
    s = "HTTP/1.1 404 Not Found\r\n\r\n";
  }
  client.print(s);
}
Постоянно выдаёт "0", если не запитать UART - "255", и ему всё ровно, что бы не посылалось по UART'у. Поток данных тоже не читает. Ни одного битика!
Код:
void setup() {
        Serial.begin(115200);
}
void loop() {
        if (Serial.available() > 0) {
          Serial.print(String(Serial.read()));
        }
}
Схема подключения правильная и рабочая.
Создано в этом разделе, а не в Arduino IDE, ибо ESP с Arduino по UART общается
 
Последнее редактирование:
Сверху Снизу