ESP-8266, ESP32 - как залить прошивку, невзирая на мнение модуля.

Тема в разделе "ESP8266, ESP32", создана пользователем ИгорьК, 29 ноя 2017.

  1. ИгорьК

    ИгорьК Давно здесь

    Вот что надо сказать вначале:

    "Убить" модуль любой правильной/неправильной прошивкой не возможно. Прошивка льется в микросхему памяти, а их даже можно перепаивать на подходящие бОльшего объема памяти.

    В случае неправильной заливки модуль просто может не начать работать, но путем метода "инженерного тыка" (перебора адресов из документации к той или иной прошивке) он так или иначе прошьется правильно и запустится.

    Модуль (ESP-8266) убивается как подачей 5 вольт для его питания так и на его ноги в виде сигнала. Дохнет он медленно, сразу не горит. Через разное время возникают странные глюки и вот тогда вы задолбаетесь искать причину его выкрутасов: то работает, то - нет.

    ESP32 уничтожает 5 вольтами свои ноги сразу.

    ==============================================
    UPD
    . По сообщению IvanUA, ESP32 прошивкой Espruino следует запитывать через прошивальщик от Espresiff. Надеюсь, он поделится своим опытом.

    Я повторил его рекомендации так:
    upload_2017-12-19_12-43-26.png


    ===============================================

    Касается ESP-8266, ESP32. Методика заливки любых прошивок, в том числе АТ , Espruino, NodeMCU, возможно другие.

    1. Устанавливаем Python третьей версии. Можно и второй, но в третьей по умолчанию есть утилита pip.

    2. Устанавливаем pyserial:
    Код (C++):
    pip install pyserial
    upload_2017-11-29_19-20-10.png

    3. Устанавливаем esptool: https://github.com/espressif/esptool например, в директорию C:\esptool
    Переходим туда:
    upload_2017-11-29_20-25-37.png

    4. Соединяем модуль с компом по UART любым доступным модулем (cp230*, pl2303, ch340G, ft245, еще другие есть ) или через Ардуино (здесь не забываем согласовывать уровни логики).
    ESP32, NodeMCU, etc просто втыкаем в USB.

    5. При включении вводим модуль в режим загрузки, прижав GPIO0 к земле. На модулях с USB портом есть отдельная кнопка, которую держим при подключении модуля.
    upload_2017-11-29_19-31-53.png

    6. Проверяем жизнеспособоность модуля:
    Код (C++):
    py esptool.py --port порт_модуля flash_id
    upload_2017-11-29_19-22-5.png

    7. Все трем на нем:
    Код (C++):
    py esptool.py --port порт_модуля erase_flash
    upload_2017-11-29_20-9-37.png
    8. Заливаем прошивку из архива ( речь об АТ прошивке), приблизительно (там в архиве есть схемы заливки в файле README.md):
    Код (C++):
    py esptool.py --port порт_модуля write_flash -fm qio 0x00000 boot_v1.2+.bin 0x01000 user1.1024.new.2.bin 0xfc000 esp_init_data_default.bin 0x7e000 blank.bin
    upload_2017-11-30_10-0-58.png

    А это для ESP32 прошивка Espruino:
    Код (Bash):
    esptool.py --port com3 erase_flash
    esptool.py --port com3 write_flash -fm dio 0x1000 bootloader.bin 0x8000 partitions_espruino.bin 0x10000 espruino_esp32.bin
    А это прошивка для NodeMCU
    Код (Bash):
    py esptool.py --port com3 write_flash -fm dio 0x1000 C:\esptool\esp32\bootloader.bin 0x8000 C:\esptool\esp32\partitions_singleapp.bin 0x10000 C:\esptool\esp32\NodeMCU.bin
    Это я заливаю ESP32, но для АТ прошивки ESP-8266 суть та же и выглядит приблизительно так же:
    upload_2017-11-29_20-27-34.png

    Espruino на RESP32, как он был залит в последнем пункте:

    upload_2017-11-29_20-38-24.png

    Все делаете на свой страх и риск.

    Пример. Прошиваем ESP32 прошивкой Espruino:
    upload_2017-12-1_9-41-3.png
     
    Последнее редактирование: 15 янв 2018 в 20:03
    IvanUA, SergeiL, arkadyf и 2 другим нравится это.
  2. IvanUA

    IvanUA Гик

    Игорь добрый день.

    Может подскажите в чем мой бок. (Возможно и китайский)
    Установил я драйвер для своего CP210x.
    При старте модуль подключается и сразу же отваливается.
    Если перевести его в бут режим, то видно СОМ порт.
    При попытке считать flash_id - начинает читать и отваливается (выходит из бута).
    Если зажать кнопку флеш на модуле, то можно считать информацию флеша
    1.jpg

    Стереть флеш
    2.jpg

    И даже записать
    3.jpg

    Но стоит только вывести его из флеш режима, то естественно порт отваливается.

    Не долго думая, подцепил на его RX0 и TX0 еще 340- ттл конвертер и в его порту можно что то увидеть...

    Кстати, скрипт видно что заливается, но в СОМ порт нет информации о его работе.(((
     
  3. ИгорьК

    ИгорьК Давно здесь

    У меня на винде 10 после обновления не видна в ESPlorer NodeMCU на ch340g.
    Видимо это особенности Windows.
     
  4. IvanUA

    IvanUA Гик

    Таки завел...
    Причина банальна - два китайских шнурка микроЮСБ. Через один "работало" только при зажатой кнопке бут. Через второй вообще определялось как неопознанное устройство.

    Третий "китайчик" таки осилил (скорее всего по току) поднять ESP-32.

    Понимаю что случай частный, но может кому на заметку.
     
    ИгорьК нравится это.
  5. Airbus

    Airbus Оракул

    Эммм.Извиняюсь не сочтите за тупого а с помошью Node ncu flasher разве нельзя?У меня шьёт без нажатия на кнопки.
     
  6. ИгорьК

    ИгорьК Давно здесь

    Наверно можно. Я шел от мануала от NodeMCU.

    Однако он уже давно не поддерживается и, главное, не трет память.

    Да и не всегда шьет: почему - хз.

    Да, и линуксоводы имеют лишь этот способ. Правда, по своей сути им этот пост не нужен - они такие проблемы щелкают как орехи.
     
    Последнее редактирование: 27 дек 2017
    Airbus нравится это.
  7. Airbus

    Airbus Оракул

    Будем знать что может быть сюрприз.Хотя у меня и трёт (бланком?)и шьёт и даже нажимать ничего не надо а вот второй прошивальщик ESP8266 DownloadTool у меня так и не заработал.Может дело в Виндах?У меня ХР.А то не очень хочется возвращаться к Ms-Dos както.
     
  8. ИгорьК

    ИгорьК Давно здесь

    А вот Lua от NodeMCU для ESP32 скомпилирован:
    upload_2017-12-21_19-55-15.png

    Забираем, кому интересно и шьем:
    upload_2017-12-21_19-57-14.png

    И, здравствуй wifi:
    Код (Lua):
    do
    wifi.start()
    wifi.mode(wifi.STATION)
    station_cfg={}
    station_cfg.ssid="ВАШАСЕТЬ"
    station_cfg.pwd="ВАШПАРОЛЬ"
    station_cfg.auto=true
    station_cfg.save=true
    wifi.sta.config(station_cfg)
    end
     

    Вложения:

    • esp32.zip
      Размер файла:
      425,4 КБ
      Просмотров:
      10
    Последнее редактирование: 21 дек 2017
  9. IvanUA

    IvanUA Гик

    Я бы еще добавил, что при прошивке через прошивальщик от Espresiff
    перед прошивкой, таки нажимать кнопочку "ERASE".
    Был печальный опыт ловить "хвосты"...
     
    ИгорьК нравится это.
  10. А можно использовать не Arduino, а Iskra Js и как? Зарание спасибо
     
  11. IvanUA

    IvanUA Гик

    Вы немного путаете понятия. Ардуино - это ардуино (мини, микро, нано, мега и т.д.)
    ЕСП - это соответственно ЕСП)))))
    А искра JS - это собственный модуль амперки, с уже установленной на него JavaScript - по этому он собственно и имеет окончание JS
    В данной теме идет речь о заливке в модули ESP - JavaScript или LUA
     
  12. ИгорьК

    ИгорьК Давно здесь

    И АТ-прошивки.
     
  13. ИгорьК

    ИгорьК Давно здесь

    и в теме вопросов про него есть порядок заливки собственной прошивки в экстренном случае.
     
    Airbus нравится это.
  14. Всё, понял. Спосибо огромное!!!
     
  15. REMBOV

    REMBOV Воскреситель Матрёшек

    ЯСНО теперь