Прошивка ESP8266

DeGlucker
Offline
Зарегистрирован: 23.07.2014

Собрал обвязку для ESP8266-12 по схеме NODE MCU.

Один модуль прошивается автоматически по кнопке "Заливка", два других не хотят (приходится нажимать кнопки FLASH и RESET). Пробовал в IDE 1.8.2 и 1.8.3. Модули из одной партии.

В чем может быть разница ?

Спасибо.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Сопля/замыкание/непропай исключены, внимательно проверялось?

DeGlucker
Offline
Зарегистрирован: 23.07.2014

Обвязка одна и таже. Модули вставлялись в панельку.

Посмотрел терминалом процесс загрузки на скрости 74880:

Автоматическая загрузка:

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v09f0c112

Ручная  загрузка (нажата FLASH при ресете):

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v09f0c112

Что значит boot mode:(3,6) или (3,7) ?

 

DeGlucker
Offline
Зарегистрирован: 23.07.2014

Проблема была в каких-то задержках USB. На другом компе прошиваютсе все.

frank58
Offline
Зарегистрирован: 19.04.2016

Помогите решить. Модуль WIFI соединил вот таким образом

пользуясь вот этим руководством "http://arduino-project.net/podklyuchenie-wi-fi-modulya-esp8266/" ввожу команду AT в ответ тишина.  Единственное что я не делал это не подключал питание. Из за это может молчать в ответ ?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

frank58 пишет:

Единственное что я не делал это не подключал питание.

И чем по-вашему должна питаться плата? Святым духом?

frank58
Offline
Зарегистрирован: 19.04.2016

а сам USB питание не дает ? или его банально маловато ?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

frank58 пишет:

а сам USB питание не дает ? или его банально маловато ?

USB даёт. А зачем Вы тогда написали, что питание не подключили, если всё соединили как на кртинке?

Ещё нюанс - а сколько вольт даёт Ваш USB-UART переходник? 5В это много, нужно 3.3В. Если всё-таки 3.3В, то стабилизатор на USB-UART переходнике действительно может оказаться слабоват, ибо ESP8266 прожорлив. Особенно когда работает в режиме точки доступа.

Уточните, какой у Вас модуль ESP8266. На нём есть светодиод, который загорается при подключении питания? Пробовали смотреть WiFi-сети, не появилась ли новая сеть?

Далее. Какой программой (терминалом) пользуетесь? Включены ли служебные символы возврата каретки и перевода строки (CR+LF)?

frank58
Offline
Зарегистрирован: 19.04.2016

когда подаю питание появляется сеть wifi "al-thinker 06c009" но на самом модуле только при включении мигнет синий диод и после чего негорит не чего. но сеть остается видна.

frank58
Offline
Зарегистрирован: 19.04.2016

незнаю как но у меня както все заработало . Обидно в том что я так и не понял в чем косяк был (

Oleg_I
Offline
Зарегистрирован: 04.04.2016

Уважаемые участники форума прошу Вашей помощи

Осваиваю сейчас ESP 8266 в связке с MQTT

Собрал простенькое устройство по управлению 3 мя реле и передачу показаний термодатчика 

Устройство успешно работало в тестовом режиме около месяца  все было нормально.

Далее решил исправить косяк связанный с перезагрузкой ESP в случае если пропадает питание хотел чтоб состояние реле запоминалось и после перезагрузки оставалось в том же состоянии. 

Данное решил добавлением флага retaind в программе клиента на андроиде. 

Все продолжало отлично работать но на следующий день ESP начала постоянно ребутится 

Постоянно одна и таже ошибка 

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)
 
wdt reset
load 0x4010f000, len 1392, room 16 
tail 0
chksum 0xd0
csum 0xd0
v3d128e5c
~ld

Пробовал перепрошивать прошивкой Blink модуль работает без рестартов точка доступа появляеться в сетовом окружении 

Как только заливаю свою прошивку снова на рестарт и по кругу 

Может ли быть что проблема связана с ретеин флагом но я его даже в прошивку не добавлял ? 

Очень прошу подсказать в чем может быть причина? 

 

Oleg_I
Offline
Зарегистрирован: 04.04.2016

может ли быть что-то с памятью ESP? но тогда как работает Блинк ?!

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Oleg_I пишет:

Далее решил исправить косяк связанный с перезагрузкой ESP в случае если пропадает питание хотел чтоб состояние реле запоминалось и после перезагрузки оставалось в том же состоянии. 

Это в корне неправильный подход.  Я думаю, если ты немношка парозмыслишь, ты поймешь, почему.  

Oleg_I
Offline
Зарегистрирован: 04.04.2016

Спасибо за ответ, подумаю над этим 

Имееться ввиду проблемы с отключением устройства в случае зависания сервера ? 

Но может есть идеи по самой проблеме, это флеш памятью что-то случилось или почему такая ситуация с ESP происходит ?

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)
 
load 0x4010f000, len 1392, room 16 
tail 0
chksum 0xd0
csum 0xd0
v3d128e5c
~ld
⸮⸮
Booting Sketch...
 
Exception (3):
epc1=0x40100a28 epc2=0x00000000 epc3=0x00000000 excvaddr=0x400441c9 depc=0x00000000
Oleg_I
Offline
Зарегистрирован: 04.04.2016

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

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Много задержек в loop вот и перезагружается.

Oleg_I
Offline
Зарегистрирован: 04.04.2016

Спасибо за подсказку и время, можно подробнее?

Не понимаю почему он раньше нормально с тем же кодом работал. Правильно ли я понимаю что физически с железом все ок, проблема в коде? 

В основном цыкле у меня вот такой код 

void loop() {
  // подключаемся к wi-fi
  if (WiFi.status() != WL_CONNECTED) {
    Serial.print("Connecting to ");
    Serial.print(ssid);
    Serial.println("...");
    WiFi.begin(ssid, password);

    if (WiFi.waitForConnectResult() != WL_CONNECTED)
      return;
    Serial.println("WiFi connected");
  }

  // подключаемся к MQTT серверу
  if (WiFi.status() == WL_CONNECTED) {
    if (!client.connected()) {
      Serial.println("Connecting to MQTT server");
      if (client.connect(MQTT::Connect("arduinoClient2")
                         .set_auth(mqtt_user, mqtt_pass))) {
        Serial.println("Connected to MQTT server");
        client.set_callback(callback);
        client.subscribe("test/led"); // подписывааемся на топик с данными для светодиода
        client.subscribe("test/led2"); // подписывааемся на топик с данными для светодиода
        client.subscribe("test/led3"); // подписывааемся на топик с данными для светодиода
      } else {
        Serial.println("Could not connect to MQTT server");   
      }
    }

    if (client.connected()){
      client.loop();
      TempSend();
  }
  
}
server.handleClient();
  MDNS.update();
} // конец основного цикла

 

Oleg_I
Offline
Зарегистрирован: 04.04.2016

читал на других формумах так там по такой проблеме наооборот предлагают добавить делей в основном цикле.

Можно Ваше мнение , нужно ли это делать ?   

Думал проблемы с флеш памятью но нет стандартный пример по проверки флеша выдает нормальные параметры 

Flash ide  size: 1048576 bytes
Flash ide speed: 40000000 Hz
Flash ide mode:  DOUT
Flash Chip configuration ok.
Oleg_I
Offline
Зарегистрирован: 04.04.2016

Вообщем вопрос удалось решить путем затирания флеша бланком с помощью flash_download и повторной загрузкой скетча 

Обидно что так  и не понял в чем была причина

Может потому что релейний модуль питаеться без полной гальванической развязки и в момент клацания реле прозошел сбой 

Если у кого есть мысли на счет причин прошу пнуть в нужном направлении