Tutorial 01 · знакомство

Первый запуск Work-ноды fsm32 на ESP32-S3 SuperMini HW747

Запишите готовый образ Work-ноды, проверьте её старт через serial monitor, познакомьтесь со встроенным терминалом и управляйте RGB-светодиодом напрямую.

Ваша первая Work-нода

Добро пожаловать в первый практический урок по работе с fsm32. Вы установите инструменты для взаимодействия с платой, загрузите готовую прошивку, убедитесь в нормальном старте и проверите аппаратный сервис RGB-светодиода.

fsm32 — программная система для построения распределённых узлов на ESP32. Каждый узел может управлять датчиками и исполнительными устройствами, обмениваться данными с другими узлами и центральной системой. В этом уроке используется Work-нода: в штатном режиме она получает команды от VM и сети, а для проверки оборудования мы временно включим локальный режим.

Нужно подготовить: ESP32-S3 SuperMini HW747, USB-кабель с передачей данных, Windows, свободный COM-порт и выданный отдельно файл fsm32-node-work-rgb.bin. Не запускайте монитор во время прошивки: он удерживает порт.

Подготовьте ESP32-S3 SuperMini HW747

Это компактная плата ESP32-S3, выбранная как стандартный профиль для обучения. Она использует профиль ESP32-S3-HW747, имеет встроенный адресуемый WS2812 на GPIO48 и сервисы RgbR, RgbG и RgbB.

  1. Подключите плату USB-C кабелем с передачей данных.
  2. Нажмите Win+X, откройте «Диспетчер устройств» и разверните «Порты (COM и LPT)».
  3. Найдите новое USB-последовательное устройство, часто обозначенное как USB JTAG/serial debug unit (COMx), и запомните номер порта.

В лаборатории используется COM4; во всех командах ниже заменяйте его на фактический порт вашей платы. Кабель только для зарядки не создаст COM-порт. Если устройство не определяется, попробуйте другой кабель и USB-порт; Windows может потребовать драйвер для обнаруженного устройства.

Выберите прошивку в разделе Firmware / Tutorial, соответствующую вашей плате.

Установите ESP-IDF и активируйте esptool

  1. Скачайте Espressif Installation Manager (EIM) с официального сайта Espressif: выберите GUI Online Installer для Windows и запустите загруженный установщик.
  2. Откройте EIM, в разделе Easy Installation нажмите Start Easy Installation и дождитесь установки последней стабильной версии ESP-IDF, Python и esptool.
  3. Сохраните выданный файл fsm32-node-work-rgb.bin в отдельную локальную папку, например C:\fsm32\firmware.
  4. Откройте PowerShell и активируйте окружение ESP-IDF. EIM покажет каталог установки; ниже приведён типичный путь, который может отличаться на вашем компьютере.
C:\Espressif\frameworks\esp-idf-v6.0\export.ps1
esptool.py version

Команда должна вывести версию esptool. Скрипт export.ps1 настраивает окружение только для текущего окна PowerShell, поэтому после открытия нового окна его нужно выполнить снова. Если PowerShell не находит esptool.py, окружение ESP-IDF не активировано.

Прошейте готовый образ

Выданный fsm32-node-work-rgb.bin — объединённый flash-образ: в нём уже есть bootloader, таблица разделов и приложение. Сборка проекта не требуется. Закройте monitor и другие программы, которые используют COM-порт, перейдите в папку с образом и выполните команду.

cd C:\fsm32\firmware
esptool.py --chip esp32s3 --port COM4 --baud 460800 write-flash 0x0 fsm32-node-work-rgb.bin

Адрес 0x0 обязателен для объединённого образа. Успешная команда заканчивается проверкой flash, обычно строкой Hash of data verified. Если указан неверный COM-порт, не подбирайте его вслепую: вернитесь к «Диспетчеру устройств» и проверьте кабель.

Не удаётся открыть COM-порт
Закройте monitor, терминалы, Arduino IDE и другие программы, которые могут использовать плату.
Failed to connect to ESP32
Переподключите USB. Если плата не входит в режим загрузки автоматически, удерживайте BOOT, кратко нажмите RESET (или переподключите плату) и повторите команду.

Запустите монитор и проверьте старт

После прошивки откройте последовательный монитор, подставив ваш COM-порт:

python -m serial.tools.miniterm COM4 115200

В нормальном случае через несколько секунд появятся сообщения загрузчика, информация о профиле платы и запущенных сервисах. Вывод зависит от версии образа; это только иллюстрация, а не точный шаблон:

rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
...
board profile: ESP32-S3-HW747
services: RgbR, RgbG, RgbB, ...
Остановитесь и исправьте проблему, если видите Guru Meditation, panic, повторяющийся boot loop, сообщения failed о критическом драйвере или монитор не может открыть COM-порт. Выйдите из monitor сочетанием Ctrl+] перед повторной прошивкой.

Откройте терминал и изучите команды

Логи не являются консолью. В окне monitor нажмите ~, дождитесь приглашения terminal> и выполните:

~
help
board
status
services show
services values
help
Показывает доступные команды. Для конкретной группы используйте, например, help services.
board
Печатает определённый firmware профиль и выбранные интерфейсы платы.
status
Показывает состояние ноды и её режим.
services show
Выводит каталог аппаратных и сетевых сервисов, их тип и направление.
services values
Показывает текущие значения сервисов. Здесь вы увидите RgbR, RgbG и RgbB.

Выйти из терминала можно командой exit или повторным ~.

Переведите ноду в локальный режим и измените цвет

По умолчанию Work-нода получает выходы от VM и сети. Для прямой проверки оборудования включите mode local. В этом режиме deploy заблокирован, поэтому после эксперимента верните mode normal.

mode local
set RgbR 127
set RgbG 0
set RgbB 0
services values

LED должен загореться красным. Попробуйте остальные цвета и смешивание каналов; допустимый диапазон каждого канала — от 0 до 127.

set RgbR 0
set RgbG 127
set RgbB 0

set RgbR 0
set RgbG 0
set RgbB 127

set RgbR 127
set RgbG 64
set RgbB 0
mode normal
Проверка завершена: после каждого set консоль отвечает ok set …, services values показывает новые значения, а LED меняет цвет. В node firmware нет отдельной команды rgb: используйте именно set RgbR|RgbG|RgbB.

Частые проблемы

COM-порт не появляется
Проверьте кабель с передачей данных, другой USB-порт и драйвер, который Windows может запросить для обнаруженного устройства.
COM-порт занят
Закройте serial monitor, терминалы, Arduino IDE и testhost, использующие плату. Затем повторите прошивку или monitor.
set отклонён
Проверьте mode. Для прямой записи аппаратных RGB-выходов требуется mode local.
Нет RgbR/G/B
Проверьте, что прошили именно выданный образ для HW747, а не бинарник другой ESP32-платы.
LED не меняется
Сначала сравните ответ ok set … и services values. Если значения меняются, а LED нет, проверьте, что это HW747, питание и исправность платы.
Guru Meditation или panic
Убедитесь, что образ предназначен для HW747, перепрошейте его и при повторении ошибки обратитесь к разработчику образа.

Теперь вы умеете определять COM-порт, записывать готовый образ, читать логи, пользоваться терминалом и напрямую управлять первым аппаратным сервисом. Следующий шаг — сеть, Management и конфигурации .fsmb.