
Оглавление:
- Шаг 1. Включите функцию в Windows
- Шаг 2. Установите дистрибутив Linux
- Шаг 3: Установите ESP32 Toolchain
- Шаг 4. Установите ESP IoT Development Framework
- Шаг 5. Установите и настройте драйверы последовательного порта USB
- Шаг 6. Создайте и запрограммируйте программу
- Шаг 7: Подключение к ESP32 и просмотр вывода
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-23 15:05

ESP32 - это недорогая плата микроконтроллера с низким энергопотреблением от Espressif. Он популярен среди производителей из-за своей низкой стоимости и встроенных периферийных устройств, в том числе Wi-Fi и Bluetooth. Однако инструменты разработки для ESP32 требуют Unix-подобной среды, которую может быть сложно настроить и поддерживать в системе Windows.
Благодаря недавнему добавлению последовательной связи мы можем использовать подсистему Microsoft Windows для Linux для запуска всей цепочки инструментов на основе Linux изначально в Windows 10 без необходимости перекомпилировать или использовать виртуальные машины или контейнеры.
Подсистема Windows для Linux (WSL) позволяет запускать двоичные файлы Linux (или ELF64, чтобы дать им более формальное имя) в собственном коде как особый класс процесса, называемый процессом pico. Windows перехватывает системные вызовы Linux и автоматически переводит их в соответствующий исполнительный вызов Windows. В результате большинство хорошо работающих приложений Linux будут работать в Windows.
Шаг 1. Включите функцию в Windows

Чтобы использовать WSL, нам сначала нужно включить эту функцию в операционной системе. Щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Выполнить». Введите OptionalFeatures.exe и нажмите Enter. Убедитесь, что подсистема Windows для Linux отмечена, затем нажмите OK. Для установки функции может потребоваться перезагрузка.
Шаг 2. Установите дистрибутив Linux


Затем откройте Магазин Windows и найдите Ubuntu. Это дистрибутив Linux, который мы будем использовать в нашей среде разработки. После того, как вы установили и запустили приложение Ubuntu, вам будет предложено выбрать имя пользователя и пароль. (Это не обязательно должно совпадать с вашим именем пользователя и паролем Windows, но это должно быть что-то логичное, что вы запомните).
Шаг 3: Установите ESP32 Toolchain
Сначала нам нужно установить необходимые компоненты для набора инструментов. Это делается с помощью диспетчера пакетов Ubuntu. Запустите Ubuntu и введите следующее:
sudo apt-get update
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial
Чтобы установить набор инструментов, нам нужно скачать и распаковать его:
cd ~
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linu… mkdir esp cd esp tar -xzf ~ / xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0. tar.gz
Шаг 4. Установите ESP IoT Development Framework
Создание git-клона репозитория Espressif IDF - это первый шаг к установке среды разработки:
cd ~ / espgit clone - рекурсивный
Для правильной работы ESP-IDF требуются некоторые переменные среды. Мы установим их в профиле оболочки командной строки, чтобы они были доступны каждый раз при запуске Bash.
Введите nano ~ /.profile, чтобы начать редактирование. Добавьте в конец следующие строки:
export PATH = "$ PATH: $ HOME / esp / xtensa-esp32-elf / bin" экспорт IDF_PATH = "$ HOME / esp / esp-idf"
Сохраните и выйдите, нажав Ctrl + X.
Шаг 5. Установите и настройте драйверы последовательного порта USB

Большинство плат разработки ESP32 включают в себя мост от USB к последовательному порту, поэтому вы можете программировать их и контролировать вывод с вашего компьютера. Однако они не используют чип FTDI, как большинство плат Arduino. Вместо этого большинство использует чип CP210x от Silicon Labs. Вам нужно будет загрузить и установить драйверы перед подключением устройства.
Как только вы это сделаете, откройте Диспетчер устройств и убедитесь, что устройство было распознано. Вам необходимо знать, какой COM-порт Windows назначила вашему устройству. В моем случае это COM4, но ваш может быть другим.
В Ubuntu мы не обращаемся к устройству через COM-порт Windows, вместо этого мы используем имя файла / dev / ttyS X, где X - номер COM-порта Windows. Таким образом, COM4 будет / dev / ttyS4.
Чтобы иметь возможность писать в последовательный порт, нам нужно установить разрешения. Для этого наберите:
Судо chmod 0666 / dev / ttyS4
NB В моем случае я использую / dev / ttyS4. Вместо этого вам следует указать имя вашего устройства.
Шаг 6. Создайте и запрограммируйте программу


Давайте протестируем наш ESP32, собрав и перепрошив вездесущую программу Hello World.
Возможно, вы заметили, что до сих пор мы работали в Unix-подобной файловой системе с такими каталогами, как / dev, / bin и / home. Мы скопируем файлы проекта на наш основной диск C, чтобы мы могли редактировать их с помощью любого текстового редактора Windows, если это необходимо. Все наши диски доступны в WSL через каталог / mnt.
mkdir / mnt / c / espcp -r $ IDF_PATH / examples / начало работы / hello_world / mnt / c / espcd / mnt / c / esp / hello_worldmake menuconfig
NB. Это создает папку в корне диска C: с именем esp. Если вы предпочитаете работать в другом месте, просто замените путь.
Нам нужно изменить последовательный порт по умолчанию в зависимости от устройства, которое мы определили ранее. В моем случае это означает изменение последовательного порта по умолчанию на / dev / ttyS4. Не забудьте сохранить при выходе из menuconfig.
make -j16 allmake flash
Параметр -j16 необязателен, но он помогает ускорить процесс сборки на многопроцессорных компьютерах. Поскольку у меня есть машина с 16 потоками, я использую -j16. Если у вас четырехпоточный процессор, вы должны использовать -j4.
На моей плате есть кнопка с надписью IOO, которую вы должны нажать, чтобы включить процесс прошивки. Достаточно было всего лишь короткого нажатия во время фазы подключения …….
Шаг 7: Подключение к ESP32 и просмотр вывода

Чтобы просмотреть вывод ESP32, просто введите
сделать монитор
Это отобразит вывод нашего приложения hello_world. Поздравляем, вы успешно запрограммировали свое устройство ESP32 с помощью подсистемы Windows для Linux!
Рекомендуемые:
Система визуального мониторинга на основе LoRa для сельского хозяйства Iot - Разработка фронтального приложения с использованием Firebase и Angular: 10 шагов

Система визуального мониторинга на основе LoRa для сельского хозяйства Iot | Разработка фронтального приложения с использованием Firebase и Angular: в предыдущей главе мы говорили о том, как датчики работают с модулем loRa для заполнения базы данных Firebase Realtime, и мы видели очень высокоуровневую диаграмму того, как работает весь наш проект. В этой главе мы поговорим о том, как мы можем
Эффективная разработка на Java для Raspberry Pi: 11 шагов (с изображениями)

Эффективная разработка Java для Raspberry Pi: это руководство описывает очень эффективный подход к разработке программ Java для Raspberry Pi. Я использовал этот подход для разработки возможностей Java, начиная от поддержки устройств низкого уровня и заканчивая многопоточными и сетевыми программами. Примерно
Soft Toy Bluetooth Dice и разработка игры для Android с помощью MIT App Inventor: 22 шага (с изображениями)

Мягкие игрушки Bluetooth Dice и разработка игры для Android с помощью MIT App Inventor: игра в кости имеет другой метод1) Традиционная игра с деревянными или латунными кубиками. 2) Играйте на мобильном устройстве или компьютере со случайным значением кубика, созданным мобильным устройством или компьютером, с помощью этого другого метода. играть в кости физически и перемещать монету на мобильном телефоне или ПК
Разработка приложений с использованием контактов GPIO на DragonBoard 410c в операционных системах Android и Linux: 6 шагов

Разработка приложений с использованием контактов GPIO на DragonBoard 410c с операционными системами Android и Linux: Цель этого руководства - показать информацию, необходимую для разработки приложений с использованием контакта GPIO на плате DragonBoard 410c с низкой скоростью. В этом руководстве представлена информация для разработки приложений с использованием контактов GPIO с SYS на Andr
Симулятор игры для смартфона - играйте в игры для Windows, используя IMU для управления жестами, акселерометр, гироскоп, магнитометр: 5 шагов

SmartPhone Game Simulator - играйте в игры для Windows, используя IMU управления жестами, акселерометр, гироскоп, магнитометр: поддержите этот проект: https://www.paypal.me/vslcreations, сделав пожертвование на программы с открытым исходным кодом & поддержка дальнейшего развития