От мигающих светодиодов до создания роботов, Arduino UNO стала платой разработки, благодаря которой электроника стала доступна студентам, профессионалам и множеству любителей по всему миру. Сохранив привычную концепцию Arduino UNO и её форм-фактор, компания выпустила плату под названием Arduino UNO Q, которая является более функциональной версией оригинальной Arduino UNO. Буква Q в названии Uno Q означает Qualcomm, поскольку Qualcomm приобрела Arduino. Если вы новичок в этой платформе, то советуем начать ее изучение с этой статьи — как начать работу с Arduino Uno: полное руководство для начинающих.
В данном руководстве рассматриваются все аспекты, от технических характеристик и блок-схемы Arduino UNO Q до полного алгоритма распознавания лиц на Arduino UNO Q с использованием Arduino App Lab. Идеально подходит для всех, от новичков до экспертов, желающих внедрить Edge AI на своих устройствах.
Опираясь на традиции простоты и доступности, Arduino UNO Q обеспечивает заметный скачок в производительности и возможностях подключения. Благодаря увеличенной вычислительной мощности, улучшенным беспроводным возможностям и поддержке современных протоколов связи, она разработана для обработки более требовательных приложений IoT и периферийных устройств, не теряя при этом удобства использования, которым славится Arduino. Будь то быстрое прототипирование, разработка интеллектуальных устройств или интеграция с облачными платформами, UNO Q призвана преодолеть разрыв между классическими проектами на микроконтроллерах и системами нового поколения, обеспечивая мощное обновление для современных разработчиков и создателей.
Примечание: демонстрация распознавания лиц в этом руководстве была протестирована командой на практике с использованием физической платы Arduino UNO Q, USB-веб-камеры и Arduino App Lab под управлением Windows. Все шаги, скриншоты и наблюдения отражают результаты непосредственного тестирования.
Что такое Arduino UNO Q?
Arduino UNO Q — это мощная гибридная плата разработки, сочетающая в себе микропроцессор на базе Linux и микроконтроллер реального времени, что делает её идеальной для сложных приложений в области искусственного интеллекта, робототехники и Интернета вещей. Эта двойная архитектура позволяет пользователям обрабатывать всё — от данных с датчиков и вывода ИИ (искусственного интеллекта) на периферии до управления двигателями и взаимодействия с оборудованием — на одной плате. Разработанная с учётом масштабируемости и простоты использования, она позволяет как начинающим, так и опытным инженерам создавать более интеллектуальные и взаимосвязанные системы без необходимости использования нескольких платформ разработки.
Исходя из всей этой информации, любой, кто изучает основы работы с платой Arduino UNO Q для начинающих, может быть уверен, что её возможности значительно превосходят возможности традиционного микроконтроллера, при этом пользователи смогут пользоваться той же простой в использовании средой программирования, что и пользователи других плат в экосистеме Arduino, благодаря Arduino App Lab и её системе программирования на основе отдельных модулей.
| Особенность | Подробности |
| Главный процессор | Qualcomm QRB2210 – четырехъядерный процессор ARM Cortex-A53 с частотой 2 ГГц. |
| Сопроцессор | STM32U585 (микроконтроллер реального времени) |
| RAM | 2 ГБ или 4 ГБ LPDDR4 |
| Хранилище | 16 / 32 ГБ eMMC |
| GPU | Adreno (класса смартфонов) |
| Беспроводные интерфейсы | Wi-Fi 5, BLE 5.1 |
| Источник питания | 5 В / 3 А (USB-C также подходит для базового использования) |
| IDE | Лаборатория приложений Arduino |
| ОС | Linux (на основном процессоре) |
| Форм-фактор | Совместимость с UNO (одинаковые габариты защитного экрана) |
Как видите, весьма достойная конфигурация.
Технические характеристики Arduino UNO Q
Перед выбором платы Arduino UNO Q для проекта крайне важно ознакомиться с ее полными техническими характеристиками. Ниже представлен полный обзор основных компонентов, возможностей и особенностей Arduino UNO Q.
Arduino UNO Q против оригинальной Arduino UNO – основные отличия
| Компонент | Arduino UNO (классическая версия) | Arduino UNO Q |
| Процессор | ATmega328P (8-битный AVR) | Qualcomm QRB2210 (четырехъядерный ARM A53) |
| Тактовая частота | 16 МГц | 2 ГГц |
| RAM | 2 КБ | 2 ГБ / 4 ГБ LPDDR4 |
| Хранилище | 32 КБ флэш-памяти | 16 / 32 ГБ eMMC |
| Операционная система | Нет (голый металл) | Linux |
| Wi-Fi / Bluetooth | Нет (требуются дополнительные компоненты) | Wi-Fi 5 + BLE 5.1 (встроенный) |
| GPU | Нет | Графический процессор Adreno |
| Возможности периферийного ИИ | Очень ограниченный набор функций (только TinyML) | Полная поддержка (TensorFlow Lite, OpenCV) |
| IDE | Arduino IDE | Лаборатория приложений Arduino (на основе модульных компонентов) |
| Форм-фактор | Стандарт UNO | Совместимость с UNO (одинаковые габариты защитного экрана) |
Процессор и память
Плата Arduino UNO Q оснащена четырехъядерным процессором ARM Cortex-A53 (Qualcomm Dragon Wing QRB2210) и микроконтроллером STM (STM32U585). Доступны варианты с 4 ГБ/2 ГБ оперативной памяти LPDDR4 и 16/32 ГБ памяти eMMC. Четырехъядерный процессор ARM Cortex-A53 работает на частоте 2 ГГц, обеспечивая значительную вычислительную мощность. UNO Q также имеет графический процессор Adreno (аналогичный тем, что используются в смартфонах) для обработки графических задач. Для корректной работы Arduino UNO Q требуется 5 В и 3 А, но он также работает при подключении к ноутбуку через USB-кабель. Требования к питанию Arduino UNO Q: 5 В при 3 А, подаваемое через порт USB-C.
Сопроцессор реального времени
Микропроцессор STM32U585 на плате UNO Q позволит выполнять критически важные по времени задачи в реальном времени (считывание показаний датчиков, управление сервоприводами и светодиодами), поскольку он обеспечивает физический интерфейс для связи процессора Qualcomm с чипом. Затем можно использовать среду Linux для разгрузки аппаратных задач с процессора Qualcomm, что исключает задержки при выполнении этих задач.
UNO Q сочетает в себе высокоуровневые вычисления и управление в реальном времени, что позволяет создавать сложные приложения, такие как периферийный искусственный интеллект и робототехника, благодаря своей двухпроцессорной архитектуре.
Блок-схема Arduino UNO Q
Блок-схема Arduino UNO Q наглядно демонстрирует разделение двух областей обработки данных. На вершине стека находится процессор Qualcomm QRB2210, работающий под управлением Linux и выполняющий множество высокоуровневых задач, таких как работа с сетью, вывод данных в рамках искусственного интеллекта и логика приложений. Ниже QRB2210 расположен сопроцессор STM32U585, обеспечивающий управление периферийными устройствами в реальном времени. Два процессора взаимодействуют друг с другом через внутреннюю коммуникационную шину, позволяющую обмениваться данными в реальном времени. Qualcomm имеет модули Wi-Fi 5 и BLE 5.1, а STM32U585 обеспечивает доступ с низкой задержкой к I2C, SPI и UART через разъемы GPIO.
Arduino App Lab — это интегрированная среда разработки (IDE), используемая для программирования Arduino UNO Q. Просто подключите её к монитору и начинайте программировать, как мы раньше программировали Raspberry PI. Это проект с открытым исходным кодом, как и другие платы Arduino, с доступными для разработчиков схемами и файлами проектирования.
Протоколы подключения и связи Arduino UNO Q
Ключевой особенностью Arduino UNO Q является широкий набор возможностей подключения. Ниже представлен полный обзор поддерживаемых интерфейсов и сценариев их использования:
| Подключение | Цель |
| Type C | Программирование, последовательная связь, питание |
| WiFi 5 | Подключение к интернету / IoT |
| BLE 5.1 | Связь мобильных устройств |
| UART | Последовательная связь между устройствами |
| SPI | Высокоскоростные периферийные устройства (дисплеи, АЦП и т. д.) |
| I2C | Датчики и низкоскоростные периферийные устройства |
| Qwiic | Датчики I2C с возможностью подключения по принципу Plug-and-play |
На мой взгляд, набор протоколов связи у этой платы очень достойный.
Начало работы с Arduino UNO Q
Начинающим пользователям Arduino UNO Q будет легко освоить эту плату благодаря простоте её использования. Ниже представлены два различных режима работы, доступных для этой платы:
* Использование режима одноплатного компьютера (SBC): Вы можете подключить к Arduino UNO Q все устройства (монитор, клавиатуру и мышь) так же, как и к Raspberry Pi. Процессор Qualcomm способен запускать Linux непосредственно на самом чипе, что позволяет пользователю писать и выполнять свой код прямо на плате.
* Использование режима подключения к ноутбуку: Подключение платы к ноутбуку с помощью кабеля USB Type-C позволяет получить доступ к Arduino UNO Q и программировать её с помощью Arduino App Lab на этом конкретном ПК/ноутбуке. Для большинства разработчиков и любителей это будет намного быстрее, чем использование первого варианта, описанного выше.
Как запрограммировать Arduino UNO Q с помощью Arduino App Lab
Лаборатория приложений Arduino специально создана для демонстрации программирования Arduino UNO Q (ссылки на ресурсы приведены ниже!). По сравнению с традиционной средой разработки Arduino IDE, лаборатория приложений предлагает пользователям возможность создавать свои программы, используя модель программирования на основе блоков (готовых функциональных блоков) для обработки более сложных процессов, таких как передача видеопотоков с камеры, распознавание лиц и сетевые запросы. Хотя вы будете создавать свои проекты визуально, «соединяя» блоки, вместо того, чтобы писать низкоуровневый код самостоятельно, у вас все равно будет доступ к редактору кода, если вы предпочитаете программировать.
Вы можете бесплатно скачать App Lab с веб-сайта Arduino для Windows, macOS и Linux. Также вы можете получить схемы и файлы проекта для UNO Q, которые, как и остальная часть платформы Arduino, являются открытым исходным кодом. Это соответствует давней традиции Arduino в отношении открытых аппаратных стандартов.
Обнаружение лиц на Arduino UNO Q: пошаговое руководство
Давайте попробуем запустить программу распознавания лиц с помощью Arduino UNO Q. Возьмём видеопоток с внешней веб-камеры и посмотрим, как его можно подать на Arduino UNO Q и запустить простую программу распознавания лиц.
Настройка оборудования
Мы можем использовать UNO Q в двух различных конфигурациях:
- во-первых, вы можете использовать его как одноплатный компьютер (SBC), подключив монитор, клавиатуру и мышь, и использовать его так же, как мы используем Raspberry PI в качестве SBC.
- во-вторых, вы можете использовать свой ноутбук и подключить к нему UNO Q с помощью USB-кабеля. Убедитесь, что вы используете USB-концентратор, чтобы у вас было достаточно портов для подключения периферийных устройств, таких как веб-камера.
В этом руководстве мы будем использовать второй метод. У меня UNO Q подключен к USB-концентратору Type-C, а к нему через USB-кабели подключены мой ноутбук и внешняя веб-камера. Таким образом, мой ноутбук может взаимодействовать с UNO Q, а UNO Q — с периферийными устройствами.
Настройка программного обеспечения
Установите Arduino App Lab для вашей операционной системы (Windows, Mac/Linux) с официального сайта Arduino.
После открытия App Lab появится сообщение “Board not connected” («Плата не подключена»). Как только ваша UNO Q будет подключена, на экране отобразится её изображение.
Загрузка примера блока детектора лиц
Пролистайте примеры и откройте приложение «Face Detector» («Детектор лиц») на камере.
В верхнем левом углу вы видите надпись «Bricks» (Кирпичи). Для этой программы использованы два кирпича. Их можно рассматривать как готовые к использованию строительные блоки для вашего приложения. Не нужно писать код с нуля, достаточно просто развернуть необходимые кирпичи, и всё готово.
Запуск программы распознавания лиц
Поскольку наше оборудование уже настроено, нам остается только нажать на кнопку “Run” («Запустить») в правом верхнем углу, и программа начнет работу. Установка необходимых библиотек и пакетов займет несколько секунд. В вашем браузере откроется новое окно с прямой трансляцией с веб-камеры.
В правом верхнем углу красной ограничивающей рамки отображается степень достоверности обнаруженных лиц. Вы даже можете установить значение достоверности обнаружения, используя ползунок вверху.
Чтобы остановить обнаружение, вернитесь в App Lab и нажмите «Стоп», что остановит выполнение программы.
Включение автоматического запуска при загрузке системы
Одна из самых полезных функций Arduino UNO Q в App Lab — это возможность настроить программу на автоматический запуск при каждом включении платы без подключения к ноутбуку. Больше всего в App Lab мне нравится то, что без использования какого-либо дополнительного кода или изменений можно легко запустить программу App Lab при загрузке («BOOT») (она будет запускаться автоматически при каждом включении платы). Для этого достаточно щелкнуть маленькую стрелку раскрывающегося списка рядом с “Run” («Запуск») и включить опцию Run at startup («Запуск при запуске»). Вот и все — UNO Q будет запускать программу при каждом включении.
Часто задаваемые вопросы по Arduino UNO Q
⇥ Что означает буква ‘Q’ в обозначении Arduino UNO Q?
Платформа Q разработана компанией Qualcomm. Qualcomm приобрела Arduino, выпустив новую модель UNO Q в качестве флагманской, и оснастила её процессором Dragon Wing QRB2210, который входит в то же семейство архитектур ARM, что и устройства Android.
⇥ Каковы требования к источнику питания для Arduino UNO Q?
Для обеспечения максимальной производительности необходимо использовать питание 5 В и 3 А через USB-C. Рекомендуется использовать специальный адаптер питания USB-C для поддержки длительных нагрузок. Arduino UNO Q может работать и при прямом подключении к USB-порту ноутбука для более лёгких задач разработки, что может привести к снижению производительности.
⇥ Подходит ли Arduino UNO Q для начинающих?
Да. Конструкция UNO Q учитывает расширенные возможности его аппаратного обеспечения, но при этом создана таким образом, чтобы быть одинаково доступной для начинающих. Среда разработки в виде модульных блоков, используемая Arduino App Lab, позволяет новичкам развертывать приложения для искусственного интеллекта и Интернета вещей без предварительного опыта в программировании.
⇥ Возможно ли с помощью Arduino UNO Q выполнять распознавание лиц в реальном времени?
Да, встроенная функция распознавания лиц в Arduino App Lab очень полезна, позволяя UNO Q запускать приложение распознавания лиц в реальном времени через веб-камеру USB, при этом содержимое визуализируется веб-браузером в виде ограничивающих рамок вокруг лица с указанием уровней достоверности. Процессор Qualcomm с графическим процессором Adreno эффективно выполнил вывод модели без необходимости специального программирования.
⇥ Где находится лаборатория приложений Arduino и что она собой представляет?
Новая среда разработки Arduino App Lab теперь является официальной IDE для Arduino UNO-Q. Этот интерфейс позволяет использовать блочный механизм программирования, благодаря которому предварительно созданные функциональные блоки могут выполнять сложные задачи, такие как распознавание лиц, подключение к сети и считывание данных с датчиков. При использовании Arduino App Lab для создания программы вы можете запрограммировать UNO Q как автономное устройство, настроив программу на автоматический запуск при загрузке устройства, что позволяет создать по-настоящему автономный встраиваемый или IoT-продукт.
Заключение
От понимания базовых конфигураций контактов и протоколов связи до изучения гибридной архитектуры Arduino UNO Q, это руководство научит вас плавно переходить от простых электронных проектов к более сложным, реальным приложениям. Оно снижает порог вхождения в технологии, которые ранее требовали нескольких систем, что делает его отличной отправной точкой для всех, кто хочет начать заниматься современной разработкой встраиваемых систем. Это руководство начинается с изучения технических характеристик Arduino UNO Q и его двухпроцессорной архитектуры.
Представленная здесь функция распознавания лиц демонстрирует истинный потенциал UNO Q, показывая, как периферийный ИИ может быть реализован непосредственно на компактной плате для разработки. Сочетая обработку в реальном времени с высокоуровневыми вычислениями, пользователи могут создавать интеллектуальные системы, мгновенно реагирующие на окружающую среду. Это только начало — будь то интеллектуальное видеонаблюдение, взаимодействие человека и машины или автоматизация, UNO Q обеспечивает прочную основу для экспериментов, обучения и инноваций в быстро развивающемся мире ИИ и Интернета вещей. Для тех, кто только начинает работать с Arduino UNO Q, сочетание простого интерфейса Arduino App Lab на основе отдельных модулей и производительности платы на базе процессора Qualcomm делает её очень привлекательной платформой.
