Переход к практической реализации (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 следует таким шагам:
Создать проект: каждый проект группирует данные, модель и конфигурацию для конкретного приложения.
Собрать данные: захватить образцы непосредственно с устройства Arduino или загрузить существующие данные.
Спроектировать импульс: настроить конвейер обработки, выбрав блоки предобработки и тип модели.
Обучить модель: платформа обучает модель в облаке и отображает метрики производительности.
Тестировать модель: оценить её на тестовых данных перед развёртыванием.
Развернуть: скачать модель в виде библиотеки Arduino, готовой к интеграции в проект.
Настройка среды
Перед тем как приступить к практическим проектам, необходимо настроить среду разработки. Этот раздел даёт обзор процесса и ссылки на официальную документацию для подробных шагов.
Шаг 1: Установка Arduino IDE
Arduino IDE — это среда разработки, в которой мы будем писать и загружать код на платы Arduino.
Скачайте Arduino IDE 2.0 или выше с arduino.cc/en/software
Установите ПО, следуя инструкциям для вашей операционной системы
Откройте Arduino IDE и убедитесь, что она корректно запускается
Для подробных инструкций по установке посетите официальное руководство по установке Arduino IDE.
Шаг 2: Установка пакета поддержки плат R4
Плата Arduino UNO R4 WiFi требует установки пакета поддержки Arduino Renesas.
В Arduino IDE перейдите в Tools > Board > Boards Manager
Найдите «Arduino UNO R4» или «Arduino Renesas»
Установите пакет Arduino UNO R4 Boards
После установки выберите вашу плату в Tools > Board > Arduino UNO R4 Boards
Подробные инструкции:
Шаг 3: Создание учётной записи Edge Impulse
Edge Impulse требует учётной записи для доступа к платформе разработки.
Перейдите на studio.edgeimpulse.com
Создайте бесплатную учётную запись с использованием email или Google/GitHub аккаунта
При необходимости подтвердите email
Войдите и ознакомьтесь с панелью управления
Официальная документация Edge Impulse предоставляет подробные руководства по всем аспектам платформы на docs.edgeimpulse.com.
Шаг 4: Установка Edge Impulse CLI (опционально)
Интерфейс командной строки Edge Impulse (CLI) облегчает сбор данных непосредственно с устройства. Хотя он опционален, его установка рекомендуется для более гладкой работы.
Установите Node.js с nodejs.org (рекомендуется LTS-версия)
Откройте терминал и выполните:
npm install -g edge-impulse-cli
Проверьте установку, выполнив:
edge-impulse-daemon --version
Для подробных инструкций по вашей операционной системе посетите руководство по установке Edge Impulse CLI.
Шаг 5: Подключение платы к Edge Impulse
После установки CLI вы можете подключить плату Arduino к Edge Impulse для сбора данных.
Подключите плату Arduino к компьютеру через кабель USB-C
Откройте терминал и выполните:
edge-impulse-daemon
Следуйте инструкциям на экране, чтобы войти в систему и выбрать ваш проект
Плата появится как подключённое устройство в панели 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:
Определение задачи: обнаружение аномальных вибраций, которые могут указывать на механические неисправности
Сбор данных: захват данных вибрации во время нормальной работы мотора
Предобработка: извлечение частотных признаков из сигналов акселерометра
Обучение: обучение модели обнаружения аномалий на нормальных данных
Оценка: проверка того, что модель обнаруживает имитированные аномальные условия
Развёртывание: загрузка модели на плату 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/