Документация Engee

Пакет поддержки Arduino

Перед началом работы выполните общую подготовку и настройку из статьи Запуск моделей на целевом оборудовании. В ней описаны общие шаги для запуска моделей на целевом оборудовании: подготовка окружения, подключение, генерация/сборка и базовая проверка запуска.

Для работы с Arduino-совместимыми платами в данном режиме используется блок EDM-Target-Arduino, настраивающий взаимодействие с оборудованием.

Перед началом работы необходимо установить arduino-cli — тулчейн для компиляции и прошивки Arduino-оборудования. После установки скопируйте полный путь до исполняемого файла arduino-cli[.exe] и укажите его в соответствующем параметре блока EDM-Target-Arduino.

Для автоматического поиска arduino-cli в блоке EDM-Target-Arduino для параметра Путь к ArduinoCLI: укажите значение auto, в этом случае программа выполнит поиск исполняемого файла:

  • В директориях системной переменной среды PATH;

  • В стандартных директориях установки программ (C:\Program Files, C:\Program Files (x86) для Windows);

  • В директории запуска клиентской программы Engee.Интеграции.

Если arduino-cli не найден автоматически, то укажите полный путь вручную, например:

  • Windows: C:\Program Files\arduino-cli\arduino-cli.exe;

  • Linux: /usr/local/bin/arduino-cli.

Для работы с Arduino-совместимыми клонами может понадобиться установка дополнительного драйвера. Например, для платы-клона Arduino Mega 2560 под Windows требуется драйвер CH340.

Подготовка

Убедитесь, что пакет поддержки оборудования установлен и настроен. Его установка подробно описана в разделе Подключение к оборудованию.

Проверка установки arduino-cli

После установки arduino-cli рекомендуется проверить его работоспособность перед началом работы с пакетом поддержки Arduino.

Шаг 1. Проверка версии arduino-cli

Откройте терминал (командную строку) и выполните:

arduino-cli version

Ожидаемый результат: Должна отобразиться версия arduino-cli, например:

arduino-cli  Version: 0.35.3 Commit: 7a72ce6 Date: 2023-11-15T12:30:00Z

Если команда не найдена:

  • Windows: Убедитесь, что arduino-cli добавлен в переменную среды PATH (рекомендуется) или укажите полный путь:

      "C:\Program Files\arduino-cli\arduino-cli.exe" version
  • Linux: Проверьте установку через менеджер пакетов или установите вручную.

Шаг 2. Инициализация конфигурации

Создайте файл конфигурации arduino-cli:

arduino-cli config init

Ожидаемый результат: Будет создан файл конфигурации:

  • Windows: %USERPROFILE%\.arduino15\arduino-cli.yaml

  • Linux: ~/.arduino15/arduino-cli.yaml

Шаг 3. Обновление индекса платформ

Обновите индексы доступных платформ:

arduino-cli core update-index

Ожидаемый результат: Сообщение об успешном обновлении индексов.

Шаг 4. Установка платформы для вашей платы

Определите FQBN (Fully Qualified Board Name) вашей платы:

arduino-cli board listall

Найдите вашу плату в списке и установите соответствующую платформу:

  • Для Arduino Uno/Nano/Mega (AVR):

    arduino-cli core install arduino:avr
  • Для ESP8266:

    arduino-cli core install esp8266:esp8266 --additional-urls http://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Для ESP32:

    arduino-cli core install esp32:esp32 --additional-urls https://espressif.github.io/arduino-esp32/package_esp32_index.json
  • Для STM32:

    arduino-cli core install STMicroelectronics:stm32 --additional-urls https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json

Ожидаемый результат: Сообщение об успешной установке платформы.

Шаг 5. Установка драйверов (при необходимости)

Windows

Для некоторых плат-клонов (например, Arduino Mega 2560) может потребоваться драйвер CH340:

  1. Скачайте драйвер с официального сайта производителя.

  2. Установите драйвер.

  3. Переподключите плату.

  4. Проверьте появление нового COM-порта в диспетчере устройств.

Для STM32 ST-LINK/V2 на Windows потребуется установка драйвера.

Linux

Обычно драйвера Serial контроллеров встроены в ядро. Если плата не определяется:

lsusb

Проверьте наличие вашей платы в списке. При необходимости добавьте правила udev:

# Пример для Arduino
echo 'SUBSYSTEM=="tty", ATTRS{idVendor}=="2341", MODE="0666"' | sudo tee /etc/udev/rules.d/50-arduino.rules
sudo udevadm control --reload-rules
sudo udevadm trigger

Для установки драйверов программаторов используйте пакетный менеджер, например:

sudo apt install stlink-tools

Шаг 6. Проверка подключения платы

Подключите плату к компьютеру через USB и выполните:

arduino-cli board list

Ожидаемый результат: Должен отобразиться список подключенных плат с указанием порта:

Port         Protocol Type              Board Name  FQBN                          Core
/dev/ttyUSB0 serial   Serial Port (USB) Arduino Uno arduino:avr:uno               arduino:avr

Запомните адрес порта (например, /dev/ttyUSB0 для Linux или COM3 для Windows).

Шаг 7. Создание и компиляция тестового скетча

Создайте тестовый проект или создайте файл test_blink/test_blink.ino с содержимым:

void setup() {
    pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(1000);
    digitalWrite(LED_BUILTIN, LOW);
    delay(1000);
}
  • Arduino UNO

    Выполните компиляцию:

    arduino-cli compile --fqbn "arduino:avr:uno" test_blink

    Выполните загрузку:

    arduino-cli upload --fqbn "arduino:avr:uno" test_blink
  • STM32

    Для примера возьмем отладочную плату STM32F411CEU6 «Black pill».

    Получить все доступные Board part number (pnum) и дополнительную информацию о вашей плате можно командой:

    arduino-cli board details -b STMicroelectronics:stm32:GenF4

    Укажите Board part number в строке fqbn. Выполните компиляцию:

    arduino-cli compile --fqbn "STMicroelectronics:stm32:GenF4:pnum=BLACKPILL_F411CE" test_blink

    Выполните загрузку, укажите upload_method в зависимости от используемого вами:

    arduino-cli upload --fqbn "STMicroelectronics:stm32:GenF4:pnum=BLACKPILL_F411CE,upload_method=OpenOCDSTLink" test_blink

Ожидаемый результат: Успешная компиляция и загрузка без ошибок. Светодиод на плате мигает.

Устранение неполадок

Проблема Решение

arduino-cli: command not found

Добавьте arduino-cli в PATH или укажите полный путь.

No boards found

Проверьте USB-кабель, установите драйверы.

Permission denied (Linux)

Добавьте пользователя в группу dialout: sudo usermod -a -G dialout $USER.

Platform not found

Выполните arduino-cli core update-index и установите платформу.

Compilation failed

Проверьте корректность FQBN и наличие установленных библиотек.

Настройка и запуск модели

  1. Откройте модель Engee.

  2. Нажмите по кнопке выбора целевой платформы и выберите Target Hardware:

    target hardware 1

  3. Добавьте блок EDM-Target-Arduino из библиотеки блоков на холст Engee и соберите модель или выполните команду engee.package.getdemos("Engee-Device-Manager") и откройте демо модель example_arduino-monitor-and-tune.engee.

    arduino model engee hardware 1

  4. Выберите и запустите один из режимов выполнения модели:

    • Запустить модель на железе target hardware 4 — интерактивное выполнение на целевой платформе с управлением и наблюдением из Engee.

    • Запуск в независимом режиме target hardware 3 — автономное выполнение на целевой платформе без управления из Engee.

Режимы выполнения

Подробнее с режимами работы Target Hardware можно ознакомиться в статье Запуск моделей на целевом оборудовании.

При запуске модели в интерактивном режиме с настраиваемыми параметрами необходимо в панели настроек модели на вкладке «Генерация кода» задать для параметра Поведение параметров по умолчанию значение Настраиваемые.

При запуске модели в интерактивном режиме должен быть записан хотя бы один сигнал модели.