Введение
Ваша первая Work-нода
Добро пожаловать в первый практический урок по работе с fsm32. Вы установите инструменты для взаимодействия с платой, загрузите готовую прошивку, убедитесь в нормальном старте и проверите аппаратный сервис RGB-светодиода.
fsm32 — программная система для построения распределённых узлов на ESP32. Каждый узел может управлять датчиками и исполнительными устройствами, обмениваться данными с другими узлами и центральной системой. В этом уроке используется Work-нода: в штатном режиме она получает команды от VM и сети, а для проверки оборудования мы временно включим локальный режим.
fsm32-node-work-rgb.bin. Не запускайте монитор во время прошивки: он удерживает порт.Шаг 1
Подготовьте ESP32-S3 SuperMini HW747
Это компактная плата ESP32-S3, выбранная как стандартный профиль для обучения. Она использует профиль ESP32-S3-HW747, имеет встроенный адресуемый WS2812 на GPIO48 и сервисы RgbR, RgbG и RgbB.
- Подключите плату USB-C кабелем с передачей данных.
- Нажмите Win+X, откройте «Диспетчер устройств» и разверните «Порты (COM и LPT)».
- Найдите новое USB-последовательное устройство, часто обозначенное как
USB JTAG/serial debug unit (COMx), и запомните номер порта.
В лаборатории используется COM4; во всех командах ниже заменяйте его на фактический порт вашей платы. Кабель только для зарядки не создаст COM-порт. Если устройство не определяется, попробуйте другой кабель и USB-порт; Windows может потребовать драйвер для обнаруженного устройства.
Шаг 2
Установите ESP-IDF и активируйте esptool
- Скачайте Espressif Installation Manager (EIM) с официального сайта Espressif: выберите GUI Online Installer для Windows и запустите загруженный установщик.
- Откройте EIM, в разделе Easy Installation нажмите Start Easy Installation и дождитесь установки последней стабильной версии ESP-IDF, Python и esptool.
- Сохраните выданный файл
fsm32-node-work-rgb.binв отдельную локальную папку, напримерC:\fsm32\firmware. - Откройте 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 не активировано.
Шаг 3
Прошейте готовый образ
Выданный 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(или переподключите плату) и повторите команду.
Шаг 4
Запустите монитор и проверьте старт
После прошивки откройте последовательный монитор, подставив ваш 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+] перед повторной прошивкой.Шаг 5
Откройте терминал и изучите команды
Логи не являются консолью. В окне monitor нажмите ~, дождитесь приглашения terminal> и выполните:
~
help
board
status
services show
services values
help- Показывает доступные команды. Для конкретной группы используйте, например,
help services. board- Печатает определённый firmware профиль и выбранные интерфейсы платы.
status- Показывает состояние ноды и её режим.
services show- Выводит каталог аппаратных и сетевых сервисов, их тип и направление.
services values- Показывает текущие значения сервисов. Здесь вы увидите
RgbR,RgbGиRgbB.
Выйти из терминала можно командой exit или повторным ~.
Шаг 6
Переведите ноду в локальный режим и измените цвет
По умолчанию 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.
