Esp32 ничего не выводит в мониторинг порта (проблема с wifi), к телефону подключается отлично

Тема в разделе "ESP8266, ESP32", создана пользователем WhatLogin, 18 мар 2021.

  1. WhatLogin

    WhatLogin Нерд

    Простите, Мастера, не могу понять, почему ничего не выводиться. Никакой ошибки не вылазит, скетч загружается. Код взял с гайда. Тут на форуме была похожая проблема. Но у меня пример WiFiClient спокойно подключиться к роутеры. Плата DOIT ESP32 DevKit1. А вот к телефонной точке доступа все спокойной подключается и работают все показания. Прошу дать совет

    Код (C++):
    // загружаем библиотеку для WiFi и другие библиотеки:
    #include <WiFi.h>
    #include <Wire.h>
    #include <Adafruit_BME280.h>
    #include <Adafruit_Sensor.h>

    // при использовании SPI убираем комментарии у строчек ниже:
    /*#include <SPI.h>
    #define BME_SCK 18
    #define BME_MISO 19
    #define BME_MOSI 23
    #define BME_CS 5*/


    #define SEALEVELPRESSURE_HPA (1013.25)

    Adafruit_BME280 bme; // I2C
    // аппаратный SPI:
    //Adafruit_BME280 bme(BME_CS);
    // программный SPI:
    //Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK);

    // ставим здесь учетные данные своей сети:
    const char* ssid     = "TP-LINK_CEB8";
    const char* password = "sid11";

    // выставляем номер порта на «80»:
    WiFiServer server(80);

    // создаем переменную для хранения HTTP-запроса:
    String header;

    void setup() {
      Serial.begin(115200);
      bool status;

      // настройки по умолчанию
      // (вы также можете использовать объект библиотеки Wire):
      //status = bme.begin();
      if (!bme.begin(0x76)) {
        Serial.println("Could not find a valid BME280 sensor, check wiring!");
                   //  "Невозможно найти корректный датчик BME280,проверьте подключение!"
        while (1);
      }

      // подключаемся к WiFi-сети при помощи SSID и пароля:
      Serial.print("Connecting to ");  //  "Подключение к"
      Serial.println(ssid);
      WiFi.begin(ssid, password);
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
      }
      // печатаем локальный IP-адрес и запускаем веб-сервер:
      Serial.println("");
      Serial.println("WiFi connected.");  //  "WiFi подключен."
      Serial.println("IP address: ");  //  "IP-адрес: "
      Serial.println(WiFi.localIP());
      server.begin();
    }

    void loop(){
      // начинаем прослушивать входящих клиентов:
      WiFiClient client = server.available();

      if (client) {                     // если подключился новый клиент,  
        Serial.println("New Client.");  // печатаем сообщение
                                        // «Новый клиент.»
                                        // в мониторе порта;
        String currentLine = "";        // создаем строку для хранения
                                        // входящих данных от клиента;
        while (client.connected()) {    // цикл while() будет работать
                                        // все то время, пока клиент
                                        // будет подключен к серверу;
          if (client.available()) {     // если у клиента есть данные,
                                        // которые можно прочесть,
            char c = client.read();     // считываем байт, а затем              
            Serial.write(c);            // печатаем его в мониторе порта
            header += c;
            if (c == '\n') {            // если этим байтом является
                                        // символ новой строки
              // если мы получим два символа новой строки подряд,
              // то это значит, что текущая строчка пуста;
              // это конец HTTP-запроса клиента,
              // а значит – пора отправлять ответ:
              if (currentLine.length() == 0) {
                // HTTP-заголовки всегда начинаются
                // с кода ответа (например, «HTTP/1.1 200 OK»)
                // и информации о типе контента
                // (чтобы клиент понимал, что получает);
                // в конце пишем пустую строчку:
                client.println("HTTP/1.1 200 OK");
                client.println("Content-type:text/html");
                client.println("Connection: close");
                             //  "Соединение: отключено"
                client.println();
             
                // показываем веб-страницу с помощью этого HTML-кода:
                client.println("<!DOCTYPE html><html>");
                client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");
                client.println("<link rel=\"icon\" href=\"data:,\">");
                // задаем CSS-стили для таблицы:
                client.println("<style>body { text-align: center; font-family: \"Trebuchet MS\", Arial;}");
                client.println("table { border-collapse: collapse; width:35%; margin-left:auto; margin-right:auto; }");
                client.println("th { padding: 12px; background-color: #0043af; color: white; }");
                client.println("tr { border: 1px solid #ddd; padding: 12px; }");
                client.println("tr:hover { background-color: #bcbcbc; }");
                client.println("td { border: none; padding: 12px; }");
                client.println(".sensor { color:white; font-weight: bold; background-color: #bcbcbc; padding: 1px; }");
             
                // заголовок веб-страницы:
                client.println("</style></head><body><h1>ESP32 with BME280</h1>");
                client.println("<table><tr><th>MEASUREMENT</th><th>VALUE</th></tr>");
                client.println("<tr><td>Temp. Celsius</td><td><span class=\"sensor\">");
                client.println(bme.readTemperature());
                client.println(" *C</span></td></tr>");
                client.println("<tr><td>Temp. Fahrenheit</td><td><span class=\"sensor\">");
                client.println(1.8 * bme.readTemperature() + 32);
                client.println(" *F</span></td></tr>");    
                client.println("<tr><td>Pressure</td><td><span class=\"sensor\">");
                client.println(bme.readPressure() / 100.0F);
                client.println(" hPa</span></td></tr>");
                client.println("<tr><td>Approx. Altitude</td><td><span class=\"sensor\">");
                client.println(bme.readAltitude(SEALEVELPRESSURE_HPA));
                client.println(" m</span></td></tr>");
                client.println("<tr><td>Humidity</td><td><span class=\"sensor\">");
                client.println(bme.readHumidity());
                client.println(" %</span></td></tr>");
                client.println("</body></html>");
             
                // конец HTTP-ответа задается
                // с помощью дополнительной пустой строки:
                client.println();
                // выходим из цикла while():
                break;
              } else {  // если получили символ новой строки,
                        // очищаем переменную «currentLine»
                currentLine = "";
              }
            } else if (c != '\r') {  // если получили любые данные,
                                     // кроме символа возврата каретки,
              currentLine += c;      // добавляем эти данные
                                     // в конец строки «currentLine»
            }
          }
        }
        // очищаем переменную «header»:
        header = "";
        // отключаем соединение:
        client.stop();
        Serial.println("Client disconnected.");
                    // "Клиент отключился.")
        Serial.println("");
      }
    }
     
    Последнее редактирование: 18 мар 2021