Переход к практической реализации (4/4)

Этот модуль представляет аппаратное и программное обеспечение, которое мы будем использовать в Части 2 курса, рассказывает о настройке среды разработки и знакомит с эталонным проектом.

Автор: José Bagur

Последняя редакция: 16.03.2026

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

Этот модуль представляет аппаратное и программное обеспечение, которое мы будем использовать в Части 2 курса, рассказывает о настройке среды разработки и знакомит с эталонным проектом, демонстрирующим все изученные концепции.

Введение в аппаратное и программное обеспечение

Платы Arduino для Edge AI

Arduino предлагает несколько плат, совместимых с приложениями Edge AI. В этом курсе мы будем работать с двумя вариантами семейства R4, которые имеют один и тот же микроконтроллер и совместимы с проектами, которые мы будем разрабатывать.

Arduino Nano R4

Arduino Nano R4 — компактная плата, разработанная для проектов, в которых важен размер. Её основные характеристики включают 32-битный микроконтроллер Renesas RA4M1 с тактовой частотой 48 МГц, 256 КБ Flash-памяти для хранения программ и моделей ML, 32 КБ SRAM для инференса, а также небольшой форм-фактор, идеальный для интеграции в прототипы и конечные продукты.

Плата включает разъём Qwiic, позволяющий подключать совместимые датчики без пайки и без проводов, упрощая прототипирование.

Arduino UNO R4 WiFi

Arduino UNO R4 WiFi имеет тот же микроконтроллер, что и Nano R4, но добавляет беспроводную связь и дополнительные возможности. Помимо характеристик Nano R4, она включает интегрированный модуль Wi-Fi и Bluetooth (ESP32-S3), светодиодную матрицу 12×8 для визуализации, а также форм-фактор, совместимый с традиционными шилдами Arduino UNO.

Подключение по Wi-Fi позволяет отправлять данные в облако или удалённо получать обновления модели. Однако для приложений Edge AI, которые мы будем разрабатывать, инференс выполняется полностью на устройстве и не требует подключения к Интернету.

Какую выбрать?

Обе платы совместимы с проектами этого курса. Выбор зависит от конкретных потребностей:

Критерий

Nano R4

UNO R4 WiFi

Размер проекта

Компактный, интегрируемый

Прототипирование с шилдами

Подключение

Только USB

USB + Wi-Fi + Bluetooth

Визуализация

Светодиод состояния

Светодиодная матрица 12×8

Совместимость с шилдами

Нет

Да

Цена

Ниже

Выше

Для подробной информации о технических характеристиках обратитесь к официальной документации:

Датчики для Edge AI

Приложения Edge AI требуют датчиков для захвата данных из реального мира. Наиболее распространённые типы датчиков в проектах Arduino включают:

Датчики движения (IMU)

Датчики движения объединяют акселерометры и гироскопы для измерения линейного ускорения и угловой скорости. Они являются фундаментальными для приложений распознавания жестов, обнаружения активности и мониторинга вибрации.

Опции, совместимые с платами R4:

  • Modulino Movement: датчик IMU, подключаемый через разъём Qwiic, что обеспечивает простую интеграцию без ручной разводки. Включает 6-осевой акселерометр и гироскоп.

  • ADXL335: 3-осевой аналоговый акселерометр, подключаемый к аналоговым пинам платы. Это экономичный вариант для проектов обнаружения вибрации.

Аудиодатчики

Микрофоны захватывают аудиосигналы для приложений распознавания голосовых команд и классификации звуков окружающей среды.

  • MEMS-микрофоны: такие варианты, как SPH0645 или INMP441, обеспечивают хорошее качество звука для распознавания речи.

Датчики изображений

Камеры позволяют реализовать приложения компьютерного зрения, такие как классификация объектов и обнаружение людей.

  • OV7670: экономичный модуль камеры, совместимый с Arduino, подходящий для простых приложений классификации изображений.

Датчики окружающей среды

Они измеряют такие переменные, как температура, влажность и качество воздуха, для приложений мониторинга и прогнозирования.

  • Modulino Thermo: датчик температуры с подключением Qwiic.

  • BME280: комбинированный датчик температуры, влажности и атмосферного давления.

Платформа Edge Impulse

Edge Impulse — это платформа разработки, упрощающая создание приложений машинного обучения для встраиваемых устройств. Она будет нашим основным инструментом в практической части курса [1].

Почему Edge Impulse?

Платформа предоставляет несколько преимуществ для разработчиков, начинающих работу с Edge AI:

  • Визуальный интерфейс: весь рабочий процесс — от сбора данных до развёртывания — управляется через интуитивно понятный веб-интерфейс.

  • Интеграция с Arduino: платы Arduino подключаются непосредственно к платформе для сбора данных и загрузки оптимизированных моделей.

  • Автоматическая оптимизация: платформа автоматически квантует и оптимизирует модели под выбранное аппаратное обеспечение.

  • Бесплатный тариф: бесплатного плана достаточно для образовательных проектов и прототипов.

Рабочий процесс в Edge Impulse

Разработка проекта в Edge Impulse следует таким шагам:

  1. Создать проект: каждый проект группирует данные, модель и конфигурацию для конкретного приложения.

  2. Собрать данные: захватить образцы непосредственно с устройства Arduino или загрузить существующие данные.

  3. Спроектировать импульс: настроить конвейер обработки, выбрав блоки предобработки и тип модели.

  4. Обучить модель: платформа обучает модель в облаке и отображает метрики производительности.

  5. Тестировать модель: оценить её на тестовых данных перед развёртыванием.

  6. Развернуть: скачать модель в виде библиотеки Arduino, готовой к интеграции в проект.

Настройка среды

Перед тем как приступить к практическим проектам, необходимо настроить среду разработки. Этот раздел даёт обзор процесса и ссылки на официальную документацию для подробных шагов.

Шаг 1: Установка Arduino IDE

Arduino IDE — это среда разработки, в которой мы будем писать и загружать код на платы Arduino.

  1. Скачайте Arduino IDE 2.0 или выше с arduino.cc/en/software

  2. Установите ПО, следуя инструкциям для вашей операционной системы

  3. Откройте Arduino IDE и убедитесь, что она корректно запускается

Для подробных инструкций по установке посетите официальное руководство по установке Arduino IDE.

Шаг 2: Установка пакета поддержки плат R4

Плата Arduino UNO R4 WiFi требует установки пакета поддержки Arduino Renesas.

  1. В Arduino IDE перейдите в Tools > Board > Boards Manager

  2. Найдите «Arduino UNO R4» или «Arduino Renesas»

  3. Установите пакет Arduino UNO R4 Boards

  4. После установки выберите вашу плату в Tools > Board > Arduino UNO R4 Boards

Подробные инструкции:

Шаг 3: Создание учётной записи Edge Impulse

Edge Impulse требует учётной записи для доступа к платформе разработки.

  1. Перейдите на studio.edgeimpulse.com

  2. Создайте бесплатную учётную запись с использованием email или Google/GitHub аккаунта

  3. При необходимости подтвердите email

  4. Войдите и ознакомьтесь с панелью управления

Официальная документация Edge Impulse предоставляет подробные руководства по всем аспектам платформы на docs.edgeimpulse.com.

Шаг 4: Установка Edge Impulse CLI (опционально)

Интерфейс командной строки Edge Impulse (CLI) облегчает сбор данных непосредственно с устройства. Хотя он опционален, его установка рекомендуется для более гладкой работы.

  1. Установите Node.js с nodejs.org (рекомендуется LTS-версия)

  2. Откройте терминал и выполните:

npm install -g edge-impulse-cli
  1. Проверьте установку, выполнив:

edge-impulse-daemon --version

Для подробных инструкций по вашей операционной системе посетите руководство по установке Edge Impulse CLI.

Шаг 5: Подключение платы к Edge Impulse

После установки CLI вы можете подключить плату Arduino к Edge Impulse для сбора данных.

  1. Подключите плату Arduino к компьютеру через кабель USB-C

  2. Откройте терминал и выполните:

edge-impulse-daemon
  1. Следуйте инструкциям на экране, чтобы войти в систему и выбрать ваш проект

  2. Плата появится как подключённое устройство в панели Edge Impulse

Для специфических инструкций по подключению плат Arduino посетите документацию по совместимым устройствам Edge Impulse.

Управляемая активность: эталонный проект

Чтобы проиллюстрировать, как все концепции, изученные в предыдущих модулях, объединяются, мы рассмотрим полный проект Edge AI: систему обнаружения аномалий мотора.

Описание проекта

Проект «Обнаружение аномалий мотора» демонстрирует, как построить систему прогнозного обслуживания, которая в реальном времени отслеживает вибрации мотора для обнаружения аномальных условий работы [2].

Система использует:

  • Аппаратное обеспечение: Arduino UNO R4 WiFi с акселерометром (ADXL335 или Modulino Movement)

  • Программное обеспечение: Edge Impulse для обучения модели обнаружения аномалий

  • Метод ML: обнаружение аномалий с использованием K-means кластеризации (обучение без учителя)

Связь с концепциями курса

Этот проект демонстрирует на практике концепции, которые мы изучили:

Концепция курса

Реализация в проекте

Типы данных (Модуль 1.3)

Данные датчика движения (акселерометр)

Предобработка (Модуль 1.3)

Извлечение частотных признаков с помощью Spectral Analysis

Обнаружение аномалий (Модуль 1.2)

Модель K-means, обученная только на «нормальных» данных

Оптимизация (Модуль 1.2)

Автоматическое квантование для выполнения на микроконтроллере

Метрики оценки (Модуль 1.3)

Настраиваемый порог аномалии

Развёртывание (Модуль 1.2)

Инференс в реальном времени с задержкой < 20 мс

Рабочий процесс проекта

Разработка проекта следует рабочему процессу Edge AI, который мы изучили в Модуле 1.3:

  1. Определение задачи: обнаружение аномальных вибраций, которые могут указывать на механические неисправности

  2. Сбор данных: захват данных вибрации во время нормальной работы мотора

  3. Предобработка: извлечение частотных признаков из сигналов акселерометра

  4. Обучение: обучение модели обнаружения аномалий на нормальных данных

  5. Оценка: проверка того, что модель обнаруживает имитированные аномальные условия

  6. Развёртывание: загрузка модели на плату Arduino для мониторинга в реальном времени

Доступ к полному проекту

Полная заметка по применению включает пошаговые инструкции по:

  • настройке аппаратного обеспечения (подключения акселерометра)

  • сбору данных вибрации с помощью Edge Impulse

  • обучению модели обнаружения аномалий

  • развёртыванию модели на плате Arduino

  • интерпретации результатов и настройке оповещений

Доступ к полной заметке по применению: Motor Anomaly Detection with the Arduino R4 WiFi

Обзор концепций и подготовка ко Части 2

Резюме Части 1

На протяжении четырёх модулей Части 1 мы выстроили прочную базу знаний по Edge AI:

Модуль 1.1 — Основы Edge AI: мы рассмотрели, что такое Edge AI, его отличия от облачной обработки и преимущества запуска моделей машинного обучения непосредственно на встраиваемых устройствах.

Модуль 1.2 — Основы ML для периферийных устройств: мы изучили типы алгоритмов, подходящие для Edge AI, методы оптимизации, такие как квантование и прунинг, и инструменты экосистемы TinyML.

Модуль 1.3 — Рабочий процесс создания приложений: мы углубились в четыре центральные фазы разработки: сбор данных, предобработку, обучение и оценку.

Модуль 1.4 — Переход к практической реализации: мы представили аппаратное и программное обеспечение, настроили среду разработки и рассмотрели эталонный проект.

Если у вас остались вопросы по каким-либо теоретическим концепциям, сейчас хорошее время для повторения предыдущих модулей перед переходом к практической реализации.

Список литературы

[1] Edge Impulse, «Edge Impulse Documentation,» 2024. [Online]. Available: https://docs.edgeimpulse.com/

[2] Arduino, «Motor Anomaly Detection with the Arduino R4,» Application Note, 2025. [Online]. Available: https://docs.arduino.cc/