FAQ
1. Можно ли использовать другие отладочные платы ESP32?
Да, код можно использовать на большинстве плат с чипом «ESP32». Однако распиновка может отличаться, поэтому, возможно, понадобится внести некоторые изменения. В остальном всё должно работать!
2. Можно ли использовать другие чипы семейства ESP32, например ESP32-C3?
Да, но код может не заработать без изменений. Варианты ESP32 отличаются конфигурацией: в одних может не быть Bluetooth или Wi-Fi, у других другие характеристики. Часть кода может работать на разных вариантах ESP32, но различия в архитектуре, периферии и распределении GPIO могут потребовать доработок.
Концепции из книги вы всё равно можете изучить и попробовать применить к своему чипу. Для адаптации обращайтесь к официальным примерам ESP-HAL:
Примеры ESP-HAL
Тем не менее я настоятельно рекомендую взять плату ESP32 DevKit V1 для более гладкой работы. Она недорогая и хорошо работает с примерами из этой книги. А позже можно поэкспериментировать с другими вариантами ESP32!
3. Я клонировал проект, но он выдаёт ошибки. Что делать?
Если вы клонировали примеры проектов из книги и столкнулись с ошибками, скорее всего, дело в несовпадении версии тулчейна Rust. Поскольку эти проекты используют nightly-версию Rust, со временем могут появиться несовместимые изменения.
Что можно сделать?
У вас есть два варианта:
-
Создать новый проект с помощью
esp-generate, как описано в упражнениях.- Затем можно посмотреть код из книги и при необходимости подправить его.
-
Откатить тулчейн Rust до версии, которая используется в книге.
- Версию nightly, которую используют проекты этой книги, можно посмотреть здесь.
- Установите подходящую версию, чтобы всё совпало.
4. При следовании инструкциям возникает ошибка импорта. Что делать?
Редактор кода обычно помогает с импортами, но иногда он может работать не так, как ожидается. Всегда можно сверить свой код с разделом «Полный код» или клонировать проект, сравнить и добавить недостающие импорты.
5. Где найти документацию по esp-hal?
Официальную документацию по esp-hal можно найти по ссылке:
6. Я получаю такую ошибку:
error: linker `xtensa-esp32-elf-gcc` not found
= note: No such file or directory (os error 2)
Это значит, что кросс-компилятор для ESP32 не установлен или не добавлен в PATH вашей системы.
Если вы используете оболочку Fish, добавьте следующую строку в конфигурацию Fish:
echo '. ~/export-esp.sh' >> ~/.config/fish/config.fish
Если вы используете bash, добавьте следующую строку в файл ~/.bashrc:
echo '. ~/export-esp.sh' >> ~/.bashrc
Проверьте путь к компилятору и убедитесь, что тулчейн теперь доступен:
which xtensa-esp32-elf-gcc
Если команда выводит корректный путь, можно снова собрать проект:
cargo build --release