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

ESP12F не прошивается.

Народ, подскажите в чем может быть дело? Как прошивать через Arduino UNO я смотрю вот на этом видео. Вот окончательную схему прилагаю.
Вроде все сделал как описано в видео. Пытаюсь прошить, выдает:
esptool.py v3.0
Serial port COM4
Connecting.....

Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 94:b9:7e:15:38:bc
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
A fatal esptool.py error occurred: Timed out waiting for packet header

Я попробовал на DeepSeek поискать ответ. Он мне и скорость уменьшать советовал. И проверял я действительно ли в режим прошивки плата входит. Вроде да. Вот что выдает в порт при зажимании GPIO0 на землю и кратковременном нажатии на сброс: ets Jan 8 2013,rst cause:2, boot mode:(1,1) .
Я пробовал как на схеме у меня питание подавать. И пробовал просто от 3,3 вольт Arduino Uno запитывать. Никакой разницы. Вроде и состояние GPIO0, GPIO15 и EN все как положено. GPIO2 в воздухе. Куда копать? В чем заковыка?
 

Вложения

CodeNameHawk

Moderator
Команда форума
boot mode 1,1 не хорошо.
Попробуйте подтянуть GPIO2 к плюсу через резистор.
Поищите по "не хочет перепрошиваться"
 
Попробовал вместо Arduino UNO использовать модуль PL2303. Точно такую же ошибку выдает. Я так подозреваю, что что-то на схеме не дает прошиться.
 
На время экспериментов кинул перемычку вместо кнопки GPIO0 на землю. Ну и тестером проверил. GPIO0 - 0, GPIO2 - +3,3V, GPIO15 - 0, RESET - +3,3V.
Займусь отцеплением остальных задействованных выводов от схемы.
 
Убрал все связи с ESP-шки, оставил только GPIO0, GPIO2, GPIO15, RESET. Выдало boot mode: (1,6). Но не прошилось с помощью Arduino UNO. Даже подключиться не смогло. А вот с помощью Адаптер CH340 USB в ESP8266 прошилось. Ща буду смотреть работает ли прошивка через OTA.
 
Рано радовался. Хоть и прошилась ESP-шка, но признаков жизни не подает. Попытался подключить уже прошитую через Arduino UNO к компу, что бы посмотреть порт че-нить выдает или нет. Тишина. Только при перезагрузке выдает

ets Jan 8 2013,rst cause:2, boot mode: (3,0).
Придется видно снова все отпаивать и начинать как-то отлаживать программу. Вроде как ИИ говорит, что должны сообщения в порт идти когда через ардуинку к компу подключаешь.
 
Все отпаял снова, подключил через Адаптер CH340 USB в ESP8266. Идет постоянная перезагрузка.
ets Jan 8 2013,rst cause:2, boot mode: (3,6)

load 0x4010f000, len 3424, room 16
tail 0
chksum 0x2e
load 0x3fff20b8, len 40, room 8
tail 0
chksum 0x2b
csum 0x2b
v0005b070
~ld

ИИ говорит, что питания не хватает. Завтра или послезавтра подключусь со внешним питанием и посмотрю. Но так хоть я сообщения в порту вижу. Можно отлаживать.
 
Блин. ЧТо-то не нрпавится мне эта ESP12F. Но плата уже сделана. Короче стала она прошиваться, как я и говорил, но WiFi не подключается.
Код:
#include <ESP8266WiFi.h>

// Данные вашей сети
const char* ssid     = "DVKH24";
const char* password = "12345678";

void setup() {
  WiFi.setPhyMode(WIFI_PHY_MODE_11G);
  Serial.begin(115200);
  Serial.setDebugOutput(true);
  delay(100);

  Serial.println();
  Serial.print("Подключение к сети: ");
  Serial.println(ssid);

 Serial.println("Сканирую сети...");
int n = WiFi.scanNetworks();
Serial.print("Найдено сетей: ");
Serial.println(n);
for (int i = 0; i < n; i++) {
  Serial.print(i + 1);
  Serial.print(": ");
  Serial.print(WiFi.SSID(i));
  Serial.print(" (");
  Serial.print(WiFi.RSSI(i));
  Serial.println(" dBm)");
}

  // Переводим WiFi в режим станции (клиента)
  WiFi.mode(WIFI_STA);
  //WiFi.disconnect();       // принудительно сбросить старое состояние
  //delay(200);
  WiFi.begin(ssid, password);

  // Ждём подключения (максимум ~20 секунд)
  unsigned long startAttempt = millis();
  while (WiFi.status() != WL_CONNECTED && millis() - startAttempt < 20000) {
    delay(500);
    Serial.print(".");
  }
  Serial.println();

  if (WiFi.status() == WL_CONNECTED) {
    Serial.println("WiFi подключён!");
    Serial.print("IP-адрес: ");
    Serial.println(WiFi.localIP());
    Serial.print("Маска:    ");
    Serial.println(WiFi.subnetMask());
    Serial.print("Шлюз:     ");
    Serial.println(WiFi.gatewayIP());
    Serial.print("RSSI:     ");
    Serial.print(WiFi.RSSI());
    Serial.println(" dBm");
    Serial.print("MAC:      ");
    Serial.println(WiFi.macAddress());
  } else {
    Serial.print("Не удалось подключиться. Код статуса: ");
    Serial.println(WiFi.status());
    // 1 = WL_NO_SSID_AVAIL (Сеть не найдена)
    // 4 = WL_CONNECT_FAILED (Ошибка подключения)
    // 6 = WL_CONNECT_WRONG_PASSWORD (Неверный пароль)
    // 7 = WL_DISCONNECTED (Модуль не в режиме STA) 
  }
}

void loop() {
  // Контроль соединения — если отвалилось, пытаемся переподключиться
  if (WiFi.status() != WL_CONNECTED) {
    Serial.println("Соединение потеряно, переподключение...");
    WiFi.disconnect();
    WiFi.begin(ssid, password);

    unsigned long startAttempt = millis();
    while (WiFi.status() != WL_CONNECTED && millis() - startAttempt < 10000) {
      delay(500);
      Serial.print(".");
    }
    Serial.println();
    if (WiFi.status() == WL_CONNECTED) {
      Serial.print("Переподключено. IP: ");
      Serial.println(WiFi.localIP());
    }
  }

  delay(5000);
}
Вот это код. А вот что оно выдает в порт:
Подключение к сети: DVKH24
Сканирую сети...
fpm close 3
mode : sta(94:b9:7e:15:38:bc)
add if0
scandone
Найдено сетей: 15
1: MGTS_GPON_5047 (-73 dBm)
2: RT-WiFi-7B5C (-70 dBm)
3: MTS_GPON_b01398 (-81 dBm)
4: MGTS_GPON_4690 (-85 dBm)
5: TP-Link_2B91 (-79 dBm)
6: MGTS_GPON_F658 (-89 dBm)
7: MGTS_GPON_FE56 (-90 dBm)
8: MTS_GPON_92ed80 (-50 dBm)
9: MGTS_GPON_D79D (-60 dBm)
10: MGTS_GPON_1645 (-92 dBm)
11: MTS_GPON_b40a10 (-90 dBm)
12: SP 150SUw-94E97903F707 (-48 dBm)
13: Beeline_2G_F24486 (-68 dBm)
14: DVKH24m (-31 dBm)
15: RT-WiFi-5CF8 (-84 dBm)
....scandone
no DVKH24 found, reconnect after 1s
reconnect
....scandone
no DVKH24 found, reconnect after 1s
.reconnect
....scandone
no DVKH24 found, reconnect after 1s
reconnect
.....scandone
no DVKH24 found, reconnect after 1s
reconnect
....scandone
no DVKH24 found, reconnect after 1s
reconnect
.....scandone
no DVKH24 found, reconnect after 1s
reconnect
....scandone
no DVKH24 found, reconnect after 1s
reconnect
.....scandone
no DVKH24 found, reconnect after 1s
reconnect
....
Не удалось подключиться. Код статуса: 1
При этом там в списке есть есть моего смартфона DVKH24m. Так вот к ней она подключается без проблем. Есть какие-нибудь мысли в чем дело? Сеть моя, которая DVKH24 2,4 Гц.
 

CodeNameHawk

Moderator
Команда форума
Куда он должен подключиться если сети не видит?
Почему в логе нет точек ожидания подключения? Даже ai рекомендует скобки "Safe Subtraction: Always use subtraction like (millis() - previousMillis) >= interval to handle rollovers safely without bugs. "
Всегда проще добавить пару скобок, чем проверять приоритет операций, у вас так их надо там три пары.
Возьмите другую есп...
К одному роутеру не подключалась андройд ТВ приставка, телефон подключался без проблем.
Нашлась в нем опция , что то вроде совместимость со старыми устройствами.
Это WiFi.setPhyMode(WIFI_PHY_MODE_11G); тоже пока выкиньте.
В ардуино включите вывод отладки, и выберите отладку для WiFi
 
Последнее редактирование:
Я вернул некоторые настройки роутера взад, а то DeepSeek там насоветовал понаотключать много чего. И сновыа стало видеть мою подсеть, но подключения почему-то нет.:
Сканирую сети...
fpm close 3
mode : sta(94:b9:7e:15:38:bc)
add if0
scandone
Найдено сетей: 12
1: SP 150SUw-94E97903F707 (-46 dBm)
2: RT-WiFi-5CF8 (-63 dBm)
3: DVKH24 (-52 dBm)
4: MGTS_GPON_4690 (-79 dBm)
5: skelex 2.4 (-76 dBm)
6: RT-WiFi_262. (-88 dBm)
7: MGTS_GPON_FE56 (-89 dBm)
8: RT-WiFi-7B5C (-71 dBm)
9: MTS_GPON_92ed80 (-52 dBm)
10: MGTS_GPON_5047 (-78 dBm)
11: biberevo89260144978 (-93 dBm)
12: MGTS_GPON_1645 (-92 dBm)
....scandone
no DVKH24 found, reconnect after 1s
reconnect
....scandone
no DVKH24 found, reconnect after 1s
.reconnect
....scandone
no DVKH24 found, reconnect after 1s
reconnect
.....scandone
state: 0 -> 2 (b0)
..state: 2 -> 0 (2)
Код:
WiFi.setPhyMode(WIFI_PHY_MODE_11G)
Выкинул.
 

CodeNameHawk

Moderator
Команда форума
Снова нет цикла ожидания подключения.
Добавьте печатание текста " я тут" перед циклом ожидания, после него "теперь тут".
 

pvvx

Активный участник сообщества
При этом там в списке есть есть моего смартфона DVKH24m. Так вот к ней она подключается без проблем. Есть какие-нибудь мысли в чем дело? Сеть моя, которая DVKH24 2,4 Гц.
Посмотрите какой вариант преамбулы установлен на роутере.
Бывает настройка типа "802.11 b mode" - long or short и ищите подобное...

Обзор от ИИ

Выбор между длинной (Long) и короткой (Short) преамбулой в настройках роутера для стандарта 802.11b зависит от наличия старых устройств
 
Сверху Снизу