Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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, со временем могут появиться несовместимые изменения.

Что можно сделать?

У вас есть два варианта:

  1. Создать новый проект с помощью esp-generate, как описано в упражнениях.

    • Затем можно посмотреть код из книги и при необходимости подправить его.
  2. Откатить тулчейн Rust до версии, которая используется в книге.

    • Версию nightly, которую используют проекты этой книги, можно посмотреть здесь.
    • Установите подходящую версию, чтобы всё совпало.

4. При следовании инструкциям возникает ошибка импорта. Что делать?

Редактор кода обычно помогает с импортами, но иногда он может работать не так, как ожидается. Всегда можно сверить свой код с разделом «Полный код» или клонировать проект, сравнить и добавить недостающие импорты.

5. Где найти документацию по esp-hal?

Официальную документацию по 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