Обновление прошивки ESP-01 на macOS

Недавно я купил ESP-01, а также программатор FTDI (3,3 В-5 В), и, набрав+GMR, я заметил, что на нем написано:

  • В версии:0.40.0.0(8 августа 2015 14:45:58)
  • Версия SDK:1.3.0
  • Ai-Thinker Technology Co.,Ltd.
  • Сборка:1.3.0.2 11 сентября 2015 11:48:04

Я искал и искал способ обновить его прошивку (на macOS), но безрезультатно. Как я могу его обновить? Я хочу иметь возможность изменить скорость передачи данных на 9600. Много примеров, чтобы сделать это, находятся в Windows, для которых требуется другое приложение или что-то в этом роде, но как я могу это сделать на Macbook? Спасибо.

, 👍1

Обсуждение

используйте esptool. двоичные файлы прошивки находятся на сайте Espressifs. последние версии не помещаются во флэш-память esp-01, @Juraj

"Я хочу иметь возможность изменить скорость передачи данных на 9600", что вы имеете в виду под этим? Это причина, по которой вы хотите обновить прошивку? Прошивка поставляется в виде двоичного файла, вы не сможете это изменить. Скорость передачи данных esp-01 по умолчанию составляет 115200 бит / с. Вы можете изменить его с помощью команды AT, запустить минимальный скетч и ввести "AT+UART_DEF=9600,8,1,0,0", чтобы внести изменения, команда "_DEF" сделает настройку постоянной., @hcheung

Извините, я действительно новичок в Arduino и ESP в целом, я читал, что вам нужно иметь и Arduino, и ESP с одинаковой скоростью передачи данных, и для этого мне нужно обновить прошивку (пожалуйста, поправьте меня, если я ошибаюсь)., @Marcelo_M


3 ответа


0

Вы используете esptool.py доступно на github.

Это точно такое же использование, независимо от того, какую операционную систему вы используете (кроме имени устройства с последовательным портом, конечно), поэтому инструкции для Linux (например) такие же, как инструкции для Mac OS X.

,

4

Вот пошаговое руководство по обновлению командной прошивки ESP-01 AT (для работы на macOS).

Проводка

Для прошивки прошивки ESP-01 вам необходимо иметь адаптер USB-TTL в качестве программатора.

+---------------------+---------+
|                     | RxD Vcc |
|       Top View      | IO2 RST |
|                     | IO0 CPD |
|                     | GND TxD |
+---------------------+---------+

ESP-01          USB-TTL Adaptor
 VCC   ---------- 3V3
 GND   ---------- GND
 TxD   ---------- RxD
 RxD   ---------- TxD
 CH_PD ---------- см. Примечание* ниже
 GPIO0 ---------- Connect to a push switch (Flash button) to GND
 RST   ---------- a push switch (Reset button) to GND

Примечание: в зависимости от того, есть ли у вас ESP-01 или ESP-01, для ESP-01 вам нужно будет подключить CH_PD либо напрямую к 3v3, либо через резистор 3k-10k к 3v3. Однако вам не нужен дополнительный подтягивающий резистор для ESP-01, так как CH_PD уже имеет встроенный подтягивающий резистор. На этом рисунке показаны различия между ESP-01 и ESP-01, визуально ESP-01 имеет 2 светодиода на борту рядом с антенной, в то время как ESP-01 имеют два дополнительных резистора между выводами заголовка и чипом ESP8266EX и только с одним светодиодом.

Скачайте и установите esptool

Загрузите и установите esptool с https://github.com/espressif/esptool. esptool-это приложение на python. Вам также необходимо установить python.

Скачать прошивку 2.1

Скачайте ESP8266 nonOS SDK - Выпуск 2.1.x, заметил, что это не последняя версия, так как последняя версия не работает для ESP-01, основываясь на моем опыте.

Обновите встроенное ПО

На самом деле вам понадобится всего 4 файла для обновления, я бы посоветовал вам скопировать и вставить эти файлы в каталог esptool из загруженного каталога bin/. вставьте компакт-диск в каталог esptool и выполните следующие команды для обновления встроенного ПО.

Чтобы перевести ESP-01 в режим программирования:

  1. Нажмите и удерживайте ОБЕ кнопки;
  2. Отпустите кнопку сброса, продолжая удерживать кнопку flash до завершения загрузки;
  3. Нажмите кнопку Сброс, чтобы запустить только что загруженную программу, когда все обновления будут выполнены.
./esptool.py --port /dev/cu.SLAB_USBtoUART write_flash 0x00000 boot_v1.7.bin
./esptool.py --port /dev/cu.SLAB_USBtoUART write_flash 0x01000 user1.1024.new.2.bin
./esptool.py --port /dev/cu.SLAB_USBtoUART write_flash 0x7c000 esp_init_data_default.bin
./esptool.py --port /dev/cu.SLAB_USBtoUART write_flash 0x3e000 blank.bin
./esptool.py --port /dev/cu.SLAB_USBtoUART write_flash 0x7e000 blank.bin

Пожалуйста, обратите внимание, что /dev/cu.SLAB_USBtoUART-это USB-порт для моего интерфейса USB-TTL, ваш может отличаться, запустите ls /dev/tty.* чтобы узнать ваш USB-порт

,

двоичные файлы AT также публикуются отдельно от SDK. https://www.espressif.com/en/support/download/at?keys=&field_type_tid%5B%5D=14, @Juraj

обычно выполняется esptool как одна команда, запущенная в папке прошивки at esptool.py write_flash --размер флэш-памяти 2 МБ-c1 0x0 boot_v1.7.bin 0x01000 в/1024+1024/пользователь1.2048.новый.5.bin 0x1fb000 пустой.bin 0x1fc000 esp_init_data_default_v08.bin 0xfe000 пустой.bin 0x1fe000 пустой.bin (эта команда предназначена для флэш-памяти объемом 1,7 и 2 МБ или более), @Juraj

@Juraj У вас есть ESP-01 с 2 МБАЙТ? Я никогда не видел, чтобы ESP-01 поставлялся с прошивкой 2 МБ, если я не куплю чип и не заменю его. Обычно я видел, что он поставляется либо с 512 КБ, либо с 1 МБ., @hcheung

Я не говорил, что это для esp-01. У меня есть команда для модуля размером 2 МБ, поэтому я вставил ее в качестве примера., @Juraj

Я понимаю. Спасибо за один лайнер., @hcheung

Я думаю, вы могли бы упомянуть, что esp-01 нужен приличный источник питания с хорошим током, чтобы предотвратить любые проблемы во время мигания... Определенно, я бы не предложил подключать vcc Esp к USB-TTL, а к внешнему источнику питания..... Если я ошибаюсь, пожалуйста, скажите мне, что я студент и я учусь, чтобы я мог ошибаться, @Shams M.Monem

@ShamsEl-Deen Да, esp-01 может принимать до 170 мА во время связи, и короткий всплеск увеличения тока может привести к падению напряжения до 3 В, что приведет к сбою esp-01. Хорошего источника питания 250 мА с большим колпачком будет достаточно. В моем случае мой USB-TTL смог включить его, в то время как все мои платы Arduino (Uno, Leonardo, Nano) не смогли включить ESP-01., @hcheung


-1

ОП не нужно обновлять прошивку ESP, несмотря на то, что именно об этом говорится в вопросе. Видимо, они хотят изменить скорость передачи данных. Это можно сделать с помощью AT-команды в существующей прошивке, как описано @hcheung в комментарии.

См. мой ответ на аналогичный вопрос здесь, особенно отметив последние несколько строк этого сообщения, которые, по сути, представляют собой сценарий для внесения изменений вручную. Также обратите внимание, что это вовсе не зависит от операционной системы хоста; все делается с помощью скетча, подобного тому, что в этом вопросе, и последовательного монитора Arduino IDE.

,