MicroPython:Платы/ESP32/Подготовка к работе с MicroPython для ESP32: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показаны 2 промежуточные версии 1 участника) | |||
Строка 11: | Строка 11: | ||
== Требования == | == Требования == | ||
Во-первых, вам нужна плата с чипом ESP32. Порт MicroPython разработан для работы не с конкретными ESP32-платами, а с самим чипом ESP32, и потому должен быть совместим с любой платой, которая им оснащена. Главная характеристика платы – это то, как GPIO-контакты подключены к «внешнему миру», а также то, есть ли у нее встроенный преобразователь USB-Serial, чтобы вы могли через UART-порт коммуницировать со своим ПК. | Во-первых, вам нужна плата с чипом [[ESP32]]. Порт [[MicroPython]] разработан для работы не с конкретными [[ESP32]]-платами, а с самим чипом [[ESP32]], и потому должен быть совместим с любой платой, которая им оснащена. Главная характеристика платы – это то, как GPIO-контакты подключены к ''«внешнему миру»'', а также то, есть ли у нее встроенный преобразователь [[USB-Serial]], чтобы вы могли через [[UART-порт]] коммуницировать со своим [[ПК]]. | ||
В этом руководстве названия контактов будут привязаны к их названиям на чипе (например, GPIO2), чтобы вам было понятно, о каком именно контакте идет речь. | В этом руководстве названия контактов будут привязаны к их названиям на чипе (например, ''GPIO2''), чтобы вам было понятно, о каком именно контакте идет речь. | ||
== Питание платы == | == Питание платы == | ||
Если у вашей платы есть USB-порт, то ее, скорее всего, можно будет питать через него – просто подключите его к ПК. В противном случае вам надо будет питать ее напрямую. Более подробно читайте в документации к своей плате. | Если у вашей платы есть [[USB-порт]], то ее, скорее всего, можно будет питать через него – просто подключите его к [[ПК]]. В противном случае вам надо будет питать ее напрямую. Более подробно читайте в документации к своей плате. | ||
== Где скачать прошивку == | == Где скачать прошивку == | ||
Во-первых, вам надо будет скачать самую последнюю версию прошивки MicroPython в формате «*. | Во-первых, вам надо будет скачать самую последнюю версию прошивки [[MicroPython]] в формате «[[*.bin]]», чтобы потом загрузить ее на [[ESP32]]. Ее можно загрузить со [https://micropython.org/download/#esp32 страницы загрузок MicroPython]. Там у вас будет три варианта: | ||
* Стабильные билды прошивки | * Стабильные билды прошивки | ||
* Текущие (выпускаемые каждый день) билды прошивки | * Текущие (выпускаемые каждый день) билды прошивки | ||
* Текущие (выпускаемые каждый день) билды прошивки с поддержкой SPIRAM | * Текущие (выпускаемые каждый день) билды прошивки с поддержкой SPIRAM | ||
Если вы новичок в MicroPython, советуем скачать стабильную прошивку. Если вы продвинутый, опытный пользователь MicroPython для ESP32, который следит за разработкой проекта и хочет помочь в тестировании новых функций, то для вас есть текущие билды прошивки. Если ваша плата поддерживает SPIRAM, вы можете воспользоваться либо стабильной прошивкой, либо ткущей прошивкой с поддержкой SPIRAM, и во втором случае вы сможете использовать больше RAM-памяти для Python- | Если вы новичок в [[MicroPython]], советуем скачать стабильную прошивку. Если вы продвинутый, опытный пользователь [[MicroPython]] для [[ESP32]], который следит за разработкой проекта и хочет помочь в тестировании новых функций, то для вас есть текущие билды прошивки. Если ваша плата поддерживает [[SPIRAM]], вы можете воспользоваться либо стабильной прошивкой, либо ткущей прошивкой с поддержкой SPIRAM, и во втором случае вы сможете использовать больше RAM-памяти для [[Python-объект]]ов. | ||
== Установка прошивки == | == Установка прошивки == | ||
После загрузки прошивки ее нужно будет загрузить на вашу ESP32-плату. Это делается в два шага: вам надо будет перевести плату в режим загрузчика и, собственно, скопировать прошивку на память устройства. Точное выполнение этой процедуры сильно зависит от того, какую именно плату вы используете, поэтому подробности ищите в документации к своей плате. | После загрузки прошивки ее нужно будет загрузить на вашу [[ESP32]]-плату. Это делается в два шага: вам надо будет перевести плату в режим загрузчика и, собственно, скопировать прошивку на память устройства. Точное выполнение этой процедуры сильно зависит от того, какую именно плату вы используете, поэтому подробности ищите в документации к своей плате. | ||
К счастью, у большинства плат есть USB-коннектор, преобразователь USB-Serial и специальным образом подключенные контакты DTR и RTS, и если у вас именно такая плата, то загрузка прошивки будет происходить очень просто, т.к. все шаги будут выполняться автоматически. Среди таких плат, к примеру, Adafruit Feather HUZZAH32, M5Stack, Wemos LOLIN32 и платы TinyPICO, а также комплекты разработчика Espressif DevKitC, PICO-KIT и WROVER-KIT. | К счастью, у большинства плат есть USB-коннектор, преобразователь [[USB-Serial]] и специальным образом подключенные контакты ''DTR'' и ''RTS'', и если у вас именно такая плата, то загрузка прошивки будет происходить очень просто, т.к. все шаги будут выполняться автоматически. Среди таких плат, к примеру, Adafruit Feather HUZZAH32, M5Stack, Wemos LOLIN32 и платы TinyPICO, а также комплекты разработчика Espressif DevKitC, PICO-KIT и WROVER-KIT. | ||
Для получения наилучшего результата рекомендуем сначала стереть всю flash-память устройства и лишь затем устанавливать новую прошивку MicroPython. | Для получения наилучшего результата рекомендуем сначала стереть всю [[flash-память]] устройства и лишь затем устанавливать новую прошивку [[MicroPython]]. | ||
Сейчас для записи прошивки поддерживается только инструмент esptool.py. Найти его можно [https://github.com/espressif/esptool/ тут] или же его можно установить при помощи pip: | Сейчас для записи прошивки поддерживается только инструмент [[esptool.py]]. Найти его можно [https://github.com/espressif/esptool/ тут] или же его можно установить при помощи [[pip]]: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
pip install esptool | pip install esptool | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Версии начиная с 1.3 поддерживают и Python 2.7, и Python 3.4 (или новее). Более ранние версии (нужна как минимум 1.2.1) работают нормально, но требуют Python 2.7. | Версии начиная с ''1.3'' поддерживают и ''Python 2.7'', и ''Python 3.4'' (или новее). Более ранние версии (нужна как минимум 1.2.1) работают нормально, но требуют ''Python 2.7''. | ||
При помощи esptool.py можно стереть flash-память. Это делается следующим образом: | При помощи [[esptool.py]] можно стереть [[flash-память]]. Это делается следующим образом: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
esptool.py --port /dev/ttyUSB0 erase_flash | esptool.py --port /dev/ttyUSB0 erase_flash | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 51: | Строка 51: | ||
Затем установите новую прошивку при помощи: | Затем установите новую прошивку при помощи: | ||
<syntaxhighlight lang="python | <syntaxhighlight lang="python"> | ||
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 esp32-20180511-v1.9.4.bin | esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 esp32-20180511-v1.9.4.bin | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Примечания: | Примечания: | ||
* Вам, возможно, надо будет задать в настройке «port» значение, соответствующее порту вашего ПК. | * Вам, возможно, надо будет задать в настройке ''«port»'' значение, соответствующее порту вашего [[ПК]]. | ||
* Вам, возможно, надо будет понизить скорость передачи данных, если при прошивке будут возникать ошибки (например, до 115200 бод, добавив в команду настройку --baud 115200). | * Вам, возможно, надо будет понизить скорость передачи данных, если при прошивке будут возникать ошибки (например, ''до 115200 бод'', добавив в команду настройку ''--baud 115200''). | ||
* У некоторых плат особая конфигурация FlashROM, поэтому вам, возможно, надо будет поменять режим работы flash-памяти (например, добавив в команду -fm dio). | * У некоторых плат особая конфигурация [[FlashROM]], поэтому вам, возможно, надо будет поменять режим работы ''flash-памяти'' (например, добавив в команду ''-fm dio''). | ||
* Название файла прошивки должно соответствовать названию имеющегося у вас файла. | * Название файла прошивки должно соответствовать названию имеющегося у вас файла. | ||
Если команды выше запускаются без ошибок, значит, MicroPython успешно установился на вашу плату! | Если команды выше запускаются без ошибок, значит, [[MicroPython]] успешно установился на вашу плату! | ||
== Командная строка == | == Командная строка == | ||
Теперь, когда на устройство установлена прошивка, вы можете получить доступ к REPL (командной строке REPL) через порт UART0 (GPIO1=TX, GPIO3=RX), который может быть подключен к преобразователю USB-Serial (но это зависит от устройства вашей платы). Скорость передачи данных – 115200 бод. | Теперь, когда на устройство установлена прошивка, вы можете получить доступ к [[REPL]] (командной строке [[REPL]]) через порт ''UART0'' (GPIO1=TX, GPIO3=RX), который может быть подключен к преобразователю [[USB-Serial]] (но это зависит от устройства вашей платы). Скорость передачи данных – [[115200 бод]]. | ||
С этого момента вы можете использовать [ | С этого момента вы можете использовать [[MicroPython:Платы/ESP8266/Руководство_по_MicroPython_для_ESP8266|«Руководство по MicroPython по ESP8266»]], потому что два этих чипа Espressif очень похожи касаемо использования на них [[MicroPython]]. Просто пропустите введение. | ||
== Решение проблем с установкой == | == Решение проблем с установкой == | ||
Если вы испытываете проблемы с установкой или запуском прошивки сразу после установки, вот несколько советов по их решению: | Если вы испытываете проблемы с установкой или запуском прошивки сразу после установки, вот несколько советов по их решению: | ||
* Старайтесь не допускать аппаратных проблем. Есть две распространенные аппаратные проблемы: источник питания плохого качества и изношенная/дефективная FlashROM. Что касается источника питания, то важен не только ампераж, но и то, насколько сильны электромагнитные помехи. Самый надежный и удобный источник питания – USB-порт. | * Старайтесь не допускать аппаратных проблем. Есть две распространенные аппаратные проблемы: источник питания плохого качества и изношенная/дефективная [[FlashROM]]. Что касается источника питания, то важен не только ампераж, но и то, насколько сильны электромагнитные помехи. Самый надежный и удобный источник питания – [[USB-порт]]. | ||
* В инструкциях по установке прошивки (см. выше) используется скорость 460800 бод – это хороший компромисс между скоростью и стабильностью. Однако, в зависимости от вашего модуля/платы, конвертера USB-Serial, кабелей, ОС и т.д., эта скорость может оказаться слишком высокой, что может приводить к ошибкам. В таких случаях попробуйте задать более стандартную скорость 115200 бод. | * В инструкциях по установке прошивки (см. выше) используется скорость ''460800 бод'' – это хороший компромисс между скоростью и стабильностью. Однако, в зависимости от вашего модуля/платы, конвертера [[USB-Serial]], кабелей, [[ОС]] и т.д., эта скорость может оказаться слишком высокой, что может приводить к ошибкам. В таких случаях попробуйте задать более стандартную скорость ''115200 бод''. | ||
* Чтобы найти некорректное содержимое flash-памяти (например, данные, находящиеся в дефектной части чипа), добавьте в команды выше опцию –-verify. | * Чтобы найти некорректное содержимое flash-памяти (например, данные, находящиеся в дефектной части чипа), добавьте в команды выше опцию ''–-verify''. | ||
* Если проблемы с записью прошивки никуда не делись, то [https://github.com/espressif/esptool вот страница проекта esptool.by]. Здесь можно найти дополнительную документацию и сообщить о баге. | * Если проблемы с записью прошивки никуда не делись, то [https://github.com/espressif/esptool вот страница проекта esptool.by]. Здесь можно найти дополнительную документацию и сообщить о баге. | ||
* Если вы смогли записать прошивку, но опция –-verify возвращает ошибки даже после нескольких попыток, то вам, возможно, попался дефектный чип FlashROM. | * Если вы смогли записать прошивку, но опция ''–-verify'' возвращает ошибки даже после нескольких попыток, то вам, возможно, попался дефектный чип [[FlashROM]]. | ||
=См.также= | =См.также= | ||
{{ads}} | |||
=Внешние ссылки= | =Внешние ссылки= | ||
<references /> | <references /> |
Текущая версия от 20:05, 23 мая 2023
Подготовка к работе с MicroPython для ESP32[1]
MicroPython – это отличный способ выжать максимум из вашей ESP32-платы. И наоборот, чип ESP32 – это отличная платформа для использования MicroPython. Это руководство поможет вам настроить MicroPython, скачать и установить командную строку, использовать WebREPL, подключиться к сети и передавать данные через интернет, использовать аппаратную периферию и управлять некоторыми внешними компонентами.
Вперед!
Требования
Во-первых, вам нужна плата с чипом ESP32. Порт MicroPython разработан для работы не с конкретными ESP32-платами, а с самим чипом ESP32, и потому должен быть совместим с любой платой, которая им оснащена. Главная характеристика платы – это то, как GPIO-контакты подключены к «внешнему миру», а также то, есть ли у нее встроенный преобразователь USB-Serial, чтобы вы могли через UART-порт коммуницировать со своим ПК. В этом руководстве названия контактов будут привязаны к их названиям на чипе (например, GPIO2), чтобы вам было понятно, о каком именно контакте идет речь.
Питание платы
Если у вашей платы есть USB-порт, то ее, скорее всего, можно будет питать через него – просто подключите его к ПК. В противном случае вам надо будет питать ее напрямую. Более подробно читайте в документации к своей плате.
Где скачать прошивку
Во-первых, вам надо будет скачать самую последнюю версию прошивки MicroPython в формате «*.bin», чтобы потом загрузить ее на ESP32. Ее можно загрузить со страницы загрузок MicroPython. Там у вас будет три варианта:
- Стабильные билды прошивки
- Текущие (выпускаемые каждый день) билды прошивки
- Текущие (выпускаемые каждый день) билды прошивки с поддержкой SPIRAM
Если вы новичок в MicroPython, советуем скачать стабильную прошивку. Если вы продвинутый, опытный пользователь MicroPython для ESP32, который следит за разработкой проекта и хочет помочь в тестировании новых функций, то для вас есть текущие билды прошивки. Если ваша плата поддерживает SPIRAM, вы можете воспользоваться либо стабильной прошивкой, либо ткущей прошивкой с поддержкой SPIRAM, и во втором случае вы сможете использовать больше RAM-памяти для Python-объектов.
Установка прошивки
После загрузки прошивки ее нужно будет загрузить на вашу ESP32-плату. Это делается в два шага: вам надо будет перевести плату в режим загрузчика и, собственно, скопировать прошивку на память устройства. Точное выполнение этой процедуры сильно зависит от того, какую именно плату вы используете, поэтому подробности ищите в документации к своей плате.
К счастью, у большинства плат есть USB-коннектор, преобразователь USB-Serial и специальным образом подключенные контакты DTR и RTS, и если у вас именно такая плата, то загрузка прошивки будет происходить очень просто, т.к. все шаги будут выполняться автоматически. Среди таких плат, к примеру, Adafruit Feather HUZZAH32, M5Stack, Wemos LOLIN32 и платы TinyPICO, а также комплекты разработчика Espressif DevKitC, PICO-KIT и WROVER-KIT.
Для получения наилучшего результата рекомендуем сначала стереть всю flash-память устройства и лишь затем устанавливать новую прошивку MicroPython.
Сейчас для записи прошивки поддерживается только инструмент esptool.py. Найти его можно тут или же его можно установить при помощи pip:
pip install esptool
Версии начиная с 1.3 поддерживают и Python 2.7, и Python 3.4 (или новее). Более ранние версии (нужна как минимум 1.2.1) работают нормально, но требуют Python 2.7.
При помощи esptool.py можно стереть flash-память. Это делается следующим образом:
esptool.py --port /dev/ttyUSB0 erase_flash
Затем установите новую прошивку при помощи:
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 esp32-20180511-v1.9.4.bin
Примечания:
- Вам, возможно, надо будет задать в настройке «port» значение, соответствующее порту вашего ПК.
- Вам, возможно, надо будет понизить скорость передачи данных, если при прошивке будут возникать ошибки (например, до 115200 бод, добавив в команду настройку --baud 115200).
- У некоторых плат особая конфигурация FlashROM, поэтому вам, возможно, надо будет поменять режим работы flash-памяти (например, добавив в команду -fm dio).
- Название файла прошивки должно соответствовать названию имеющегося у вас файла.
Если команды выше запускаются без ошибок, значит, MicroPython успешно установился на вашу плату!
Командная строка
Теперь, когда на устройство установлена прошивка, вы можете получить доступ к REPL (командной строке REPL) через порт UART0 (GPIO1=TX, GPIO3=RX), который может быть подключен к преобразователю USB-Serial (но это зависит от устройства вашей платы). Скорость передачи данных – 115200 бод.
С этого момента вы можете использовать «Руководство по MicroPython по ESP8266», потому что два этих чипа Espressif очень похожи касаемо использования на них MicroPython. Просто пропустите введение.
Решение проблем с установкой
Если вы испытываете проблемы с установкой или запуском прошивки сразу после установки, вот несколько советов по их решению:
- Старайтесь не допускать аппаратных проблем. Есть две распространенные аппаратные проблемы: источник питания плохого качества и изношенная/дефективная FlashROM. Что касается источника питания, то важен не только ампераж, но и то, насколько сильны электромагнитные помехи. Самый надежный и удобный источник питания – USB-порт.
- В инструкциях по установке прошивки (см. выше) используется скорость 460800 бод – это хороший компромисс между скоростью и стабильностью. Однако, в зависимости от вашего модуля/платы, конвертера USB-Serial, кабелей, ОС и т.д., эта скорость может оказаться слишком высокой, что может приводить к ошибкам. В таких случаях попробуйте задать более стандартную скорость 115200 бод.
- Чтобы найти некорректное содержимое flash-памяти (например, данные, находящиеся в дефектной части чипа), добавьте в команды выше опцию –-verify.
- Если проблемы с записью прошивки никуда не делись, то вот страница проекта esptool.by. Здесь можно найти дополнительную документацию и сообщить о баге.
- Если вы смогли записать прошивку, но опция –-verify возвращает ошибки даже после нескольких попыток, то вам, возможно, попался дефектный чип FlashROM.