РЕШЕНО Esp-01 шьется, но ничего не пишет в serial

Тема в разделе "ESP8266, ESP32", создана пользователем Nekto_nikto, 24 ноя 2020.

  1. Nekto_nikto

    Nekto_nikto Гик

    Всем привет, захотелось заюзать модуль ESP-01, такой как этот
    [​IMG]
    в результате был приобретен сам модуль и как я тогда думал программатор, такой
    [​IMG] [​IMG] [​IMG]
    Для прошивки как выяснилось требуется на этом программаторе замыкать GPIO0 на GND, иначе не шьет, т.к. таким образом чип на ESP-01 переводится в режим для записи как я понял из интернетов.
    В качестве примера для себя выбрал такой код
    Код (C++):
    /*********
      Автор – Руи Сантос (Rui Santos)
      Более подробно о проекте на: http://randomnerdtutorials.com
    *********/


    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <ESP8266WebServer.h>
    #include <ESP8266mDNS.h>

    MDNSResponder mdns;

    // впишите сюда данные, соответствующие вашей сети:
    const char* ssid = "YOUR_SSID";
    const char* password = "YOUR_PASSWORD";

    ESP8266WebServer server(80);

    String webPage = "";

    int gpio0_pin = 0;
    int gpio2_pin = 2;

    void setup(void){
      webPage += "<h1>ESP8266 Web Server</h1><p>Socket #1 <a href=\"socket1On\"><button>ON</button></a>&nbsp;<a href=\"socket1Off\"><button>OFF</button></a></p>";
      webPage += "<p>Socket #2 <a href=\"socket2On\"><button>ON</button></a>&nbsp;<a href=\"socket2Off\"><button>OFF</button></a></p>";

      // подготавливаем GPIO-контакты:
      pinMode(gpio0_pin, OUTPUT);
      digitalWrite(gpio0_pin, LOW);
      pinMode(gpio2_pin, OUTPUT);
      digitalWrite(gpio2_pin, LOW);

      delay(1000);
      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: ");  //  "IP-адрес: "
      Serial.println(WiFi.localIP());

      if (mdns.begin("esp8266", WiFi.localIP())) {
        Serial.println("MDNS responder started");
                   //  "Запущен MDNSresponder"
      }

      server.on("/", [](){
        server.send(200, "text/html", webPage);
      });
      server.on("/socket1On", [](){
        server.send(200, "text/html", webPage);
        digitalWrite(gpio0_pin, HIGH);
        delay(1000);
      });
      server.on("/socket1Off", [](){
        server.send(200, "text/html", webPage);
        digitalWrite(gpio0_pin, LOW);
        delay(1000);
      });
      server.on("/socket2On", [](){
        server.send(200, "text/html", webPage);
        digitalWrite(gpio2_pin, HIGH);
        delay(1000);
      });
      server.on("/socket2Off", [](){
        server.send(200, "text/html", webPage);
        digitalWrite(gpio2_pin, LOW);
        delay(1000);
      });
      server.begin();
      Serial.println("HTTP server started");
    }
    void loop(void){
      server.handleClient();
    }

    Код успешно шьется в модуль, после чего требует принудительной перезагрузки для этого я замыкал ножку модуля RST на VCC ,а также просто переподключал "программатор" с установленным там модулем к USB, вследствие чего по моему пониманию также происходит ребут, но толку ноль т.к. по логике работы скеча в сериал при попытке подключения должны выводиться точки, а после подключения сообщение об успешном коннекте. НО нет даже точек...
    В чем может быть проблема пока не догадался, если что пробывал serial с baudrate и 9600 бод и 115200 никакой разницы, такое ощущение что модуль сериал не воспринимает, но при этом прекрасно шьется.
     
  2. Nekto_nikto

    Nekto_nikto Гик

    Сорян не увидел что есть отдельный раздел под это дело. Можно ли перенести тему, чтоб не флудить?
     
  3. pav_77

    pav_77 Нерд

  4. Airbus

    Airbus Радиохулиган Модератор

    Можно.Вопрос
    1-точно шьётся?Программатор дорабатывали?Нужно впаять наглухо 2 перемычки между VCC и CHIP_EN и еще одну между GND и GPIO0
    2-Модуль дорабатывали? Нужно впаять наглухо перемычку между VCC и CHIP_EN
    Как то так
    [​IMG]
    И тогда будет Вам Щастье!
     
  5. Nekto_nikto

    Nekto_nikto Гик

    Спасибо всем кто ответил, вопрос можно считать закрытым, разобрался. В моем случае нужно было сначала настроить параметры среды Arduino IDE, а именно
    upload speed -> 57600
    erase flash -> «All Flash Contents»
    после чего правильно перезагрузить плату, для чего требовалось просто вынуть модуль из USB адаптера и вставить обратно, т.к. замкнуть VCC и GPIO0 в этом вопросе не помогло.
    дорабатывал и модуль и USB адаптер.
    На модуль прицепил стабилизатор напряжения на 3.3В LD1117#33C, чтоб можно было питать от 5 вольт хоть от той же ардуины.
    На USB переходник прицепил обрезки от ножек резисторов, которые по мере необходимости замыкаю джампером.
    [​IMG]
    [​IMG]

    Правда местами при общении с serial портом модуль выдает крокозябры, не смотря на то что и скорость уже выставил 9600 бод и символы там только латинские.
    бшТ-......
    !Ѕ№№•ЌС•‘ to ELTEX-64
    IP address: 192.168.1.4
    MDNS responder started
    HTTP server sta•‘5
    щРу)......
    aЅ№№•ЌС•‘ to ELTEX-64
    IP address: 192.168.1.4
    MDNS responder started
    HTTP server stWVHшеьљQ......
    AЅ№№•ЌС•‘ to ELTEX-64
    IP address: 192.168.1.4
    MDNS responde]љС…ЙС•‘5
    HTTP server stdWVHш’РП(......
    ЉЅ№№•ЌС•‘ to ELTEX-64
    IP address: 192.168.1.3
    MDNS respondeљС…ЙС•‘5
    HTTP server stЅYVHш
     
    Последнее редактирование: 25 ноя 2020