На esp8266 не работает прошивка по wifi

ShadowFlash
Offline
Зарегистрирован: 20.06.2019

На esp8266 не работает прошивка по wifi, хотя на nodemcu все хорошо. Может что в обвязке есп поменять/добавить?

 

Скетч:

/*********
  Руи Сантос (Rui Santos)
  Более подробно о проекте на: http://randomnerdtutorials.com
  Пример в IDE Arduino: File > Examples > Arduino OTA > BasicOTA.ino
                       (Файл > Примеры > Arduino OTA > BasicOTA.ino)
*********/
 
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
 
// замените значения в этих константах на те,
// что соответствуют вашей сети:
const char* ssid = "***********";
const char* password = "***********";
 
void setup() {
  Serial.begin(115200);
  Serial.println("Booting");  //  "Загрузка"
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.println("Connection Failed! Rebooting...");
    //  "Соединиться не удалось! Перезагрузка..."
    delay(5000);
    ESP.restart();
  }
 
  // строчка для номера порта по умолчанию
  // можно вписать «8266»:
  // ArduinoOTA.setPort(8266);
 
  // строчка для названия хоста по умолчанию;
  // можно вписать «esp8266-[ID чипа]»:
  // ArduinoOTA.setHostname("myesp8266");
 
  // строчка для аутентификации
  // (по умолчанию никакой аутентификации не будет):
  // ArduinoOTA.setPassword((const char *)"123");
 
  ArduinoOTA.onStart([]() {
    Serial.println("Start");  //  "Начало OTA-апдейта"
 
  });
  ArduinoOTA.onEnd([]() {
    Serial.println("\nEnd");  //  "Завершение OTA-апдейта"
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
    //  "Ошибка при аутентификации"
    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
    //  "Ошибка при начале OTA-апдейта"
    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
    //  "Ошибка при подключении"
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
    //  "Ошибка при получении данных"
    else if (error == OTA_END_ERROR) Serial.println("End Failed");
    //  "Ошибка при завершении OTA-апдейта"
  });
  ArduinoOTA.begin();
  Serial.println("Ready");  //  "Готово"
  Serial.print("IP address: ");  //  "IP-адрес: "
  Serial.println(WiFi.localIP());
}
 
void loop() {
  ArduinoOTA.handle();
}

Обвязка есп8266:

gfx125
Offline
Зарегистрирован: 27.05.2017

что за ESP и какие настройки при прошивке выставляте?

ShadowFlash
Offline
Зарегистрирован: 20.06.2019

esp 12f. Настройки

ShadowFlash
Offline
Зарегистрирован: 20.06.2019

gfx125
Offline
Зарегистрирован: 27.05.2017

выставьте правильный размер flash size. У ESP12F - 4M

 

ShadowFlash
Offline
Зарегистрирован: 20.06.2019

Есп и раньше прошивалось с этими настройками. Но я сделал как вы сказали, все без изменений

gfx125
Offline
Зарегистрирован: 27.05.2017

по шнурку она прошиваться будет в любом случае, а вот по воздуху нужен достаточный объем памяти. После прошивки через шнурок плату перезагружаете, порт определяется?

ShadowFlash
Offline
Зарегистрирован: 20.06.2019

У меня просто отошел контакт от rx. Спасибо за отклик!

ShadowFlash
Offline
Зарегистрирован: 20.06.2019

Назрел другой вопрос, как ставить перемычку для прошивки по вайфай? Без нее не хочет прошиваться

gfx125
Offline
Зарегистрирован: 27.05.2017

Каким образом Rx связан с ОТА и что за перемычка?

ShadowFlash
Offline
Зарегистрирован: 20.06.2019

Перемычка burn на схеме. Не понял вопрос про rx

gfx125
Offline
Зарегистрирован: 27.05.2017

ShadowFlash пишет:

Не понял вопрос про rx


У вас название темы "... прошивка по wifi. " Вот и интересно причем здесь
Цитата:
У меня просто отошел контакт от rx.

После успешной заливки по шнуру никакие контакты Rx не имеют никакого отношения к ОТА также как и всякие перемычки

ShadowFlash
Offline
Зарегистрирован: 20.06.2019

Вы не поняли. Изначально проблема была в том что прошивка по шнурку не загружалась, хотя раньше все было норм, причиной этому был плохой контакт rx или tx, я точно не понял, но что то одно. Вторая проблема в том что, когда загружаешь скетч, нужно ставить перемычку (burn) , но как эту перемычку ставить когда шьешь по воздуху?

gfx125
Offline
Зарегистрирован: 27.05.2017

ok, первый момент проехали. Что касается второго, для начала проверьте правильность монтажа, нет ли где косяков.

ShadowFlash
Offline
Зарегистрирован: 20.06.2019

Все хорошо

gfx125
Offline
Зарегистрирован: 27.05.2017

откройте любую терминальную программу и посмотрите какие сообщения выдаются по шнуру в процессе прошивки через wifi.