本文最初发布于高通官网,已获高通授权转载。

准备好重新想象Arduino的无限可能!全新Arduino(R) UNO Q凭借强大的双核架构,为物联网开发带来了全新体验。这款开发板是入门级机器人开发、传感器集成、本地仪表盘搭建以及边缘AI早期探索的理想起点。

可以把Arduino UNO Q理解为两个"大脑"协同工作的系统:

第一个"大脑"是高通技术公司的微处理器,运行完整的Debian Linux操作系统,让开发板具备接近桌面级别的计算能力。

第二个"大脑"是搭载Arduino的Cortex-M33微控制器,专门负责处理精确的实时任务。

这种双核计算架构内置存储空间(无需额外寻找SD卡),可选2GB或4GB内存。此外,Arduino App Lab让用户在这款先进硬件上实现创意变得前所未有地简单。

本文将详细介绍这两个"大脑"如何协同工作与通信,从而为物联网项目开启全新的可能性。

Arduino UNO Q适用于哪些场景

Arduino UNO Q特别适合以下用户群体:

希望在机器人开发、传感器应用和嵌入式系统领域找到实用入门路径的开发者、学生和教育工作者;

希望理解感知、本地计算与物理行为之间因果关系的初级机器人项目开发者;

希望使用符合行业标准的开发板、但暂时不想直接上手复杂Linux AI平台的团队;

希望使用小型、低成本、直接面向应用场景、同时兼顾微控制器与微处理器世界的团队。

总体而言,这款开发板是入门级机器人开发和嵌入式系统实践探索的最佳起点。

双核架构详解

Arduino UNO Q的处理能力来自其独特的双核架构,两个处理单元各司其职、协同运作。

微处理器单元(MPU)——"智能大脑":这是承担繁重计算任务的核心部分。

Arduino UNO Q搭载了高通(R) Dragonwing(TM) QRB2210片上系统(SoC),内置兼容Arm架构的处理器和高通(R) Adreno(TM) 702 GPU。MPU运行完整的Debian Linux操作系统,并提供上游支持,提供类似桌面或高端单板计算机的开发环境。它非常适合处理AI推理、计算机视觉、数据分析以及需要大量计算资源的Python(R)应用。

微控制器单元(MCU)——"响应大脑":与MPU互为补充的是一颗意法半导体STM32U585 MCU,本质上是一块传统的Arduino开发板。

MCU的主要职责是提供响应迅速、可预测的实时控制与精确的硬件交互。在Zephyr RTOS上运行Arduino Core,这颗MCU负责处理经典的Arduino程序,确保读取传感器、控制电机、管理I/O引脚等任务的确定性时序——这对众多嵌入式应用至关重要。

MCU还通过Qwiic连接器提供I2C、SPI和通用输入输出等标准通信接口,用于连接扩展板和Arduino Modulino节点。此外,通过扩展引脚还可访问MIPI、DSI和CSI等高速接口,支持摄像头和显示器应用。

两个"大脑"的协作通信

两个"大脑"之间的通信机制才是真正的亮点所在。Arduino UNO Q采用一套由路由服务驱动的桥接机制,实现MPU的Debian Linux环境与MCU的Zephyr RTOS之间的双向协作,通信方式通常为远程过程调用(RPC)。

可以这样理解:MCU是一个高速、专用的传感器读取器。当它检测到某个事件——例如按钮按下或温度快速变化——时,它会立即通知MPU:"有事情发生了!"MPU作为"智能大脑",接收到信息后决定执行更高层次的操作,例如记录数据、更新网页界面或触发AI驱动的响应。这种架构确保每个处理单元都专注于自身的核心优势,从而构建出强大且响应灵敏的应用程序。

Arduino App Lab——统一集成开发环境

为了简化双核系统的开发流程,Arduino推出了Arduino App Lab,即使不是资深开发者也能轻松上手。

Arduino App Lab不仅仅是传统的Arduino IDE,而是一款专为MPU和MCU双核设计的集成开发环境。它提供统一的工作空间,支持为MCU开发经典Arduino程序(使用C++语言),也支持为MPU开发Python应用(通常结合AI模型)。Arduino App Lab还能无缝管理桥接通信,并简化从编码到部署的整个开发流程。

Bricks——基于Docker的模块化组件

在Arduino App Lab中,Bricks是自包含、可复用的代码模块,能够显著加快开发速度。Bricks主要以Python编写,通常借助Docker容器隔离运行嵌入式AI模型、Web服务器和API集成等功能。开发者可以轻松地将高级功能拖放到项目中,通过简洁的界面进行配置,无需深度编程即可快速构建应用。

开发工作流程

针对这种双核架构的开发,代表着嵌入式项目的全新方式。混合编程工作流将Python(用于MPU上的高层Linux处理和AI任务)与传统Arduino程序(用于MCU的实时控制)有机结合,并通过Arduino App Lab进行智能调度。

具体开发流程如下:

C++(Arduino程序):为MCU编写程序,处理直接、确定性的硬件交互。

Python脚本:为MPU开发Python代码,充分利用其Linux环境处理计算机视觉、AI模型和网络通信等任务。

桥接层:引入并使用桥接API库,实现MPU上Python代码与MCU上Arduino C++代码之间高效的双向远程过程调用,从而实现两颗处理器之间的无缝协作。

Arduino App Lab作为统一的中枢,将Arduino程序、Python脚本、所需的Bricks及其他必要资产整合到一个项目中,并统一管理所有配置和凭据。

通过App Lab中的"运行"按钮,可以直接在Arduino UNO Q开发板上构建并执行应用程序。MCU程序完成编译,MPU的Python环境(包含Bricks)则在设备本地完成打包并启动,无需从PC上传。Arduino App Lab负责触发和调度整个流程,统一控制台可实时监控Python输出和微控制器数据。

面向专业嵌入式开发者的进阶工作流

虽然Arduino App Lab提供了最完整的集成体验,但Arduino UNO Q也保持了充分的灵活性,以适应不同的开发风格和需求。

标准Arduino IDE适用于纯MCU项目:对于仅涉及MCU的任务,可以使用熟悉的Arduino IDE。通过USB-C将Arduino UNO Q连接到开发工作站,选择对应的开发板,编写并验证程序代码,然后上传至MCU即可。

命令行界面(CLI)适用于进阶用户:高级开发者可以使用自己偏好的IDE(如VS Code),并通过adb或SSH访问开发板上安装的Arduino App Lab CLI,直接进行高级代码编辑。Arduino App Lab随后负责部署、运行时管理和统一监控。

结语

Arduino UNO Q的设计目标是帮助开发者在深入Linux视觉计算应用之前,先在入门级机器人开发、嵌入式I/O和本地AI工作流方面建立信心。

Arduino UNO Q的双核架构,结合统一的Arduino App Lab和灵活的多样化工作流,大幅降低了AI与物联网项目的开发门槛。现在你已经了解了它的内部运作原理,不妨选一个有趣的创意,在Arduino UNO Q上将它变为现实!

用Qwiic连接一个传感器,编写一段程序,再写一个简单的Python模块,然后开始实验吧。

你还可以在Arduino Project Hub中浏览数十个Arduino UNO Q的现有项目,参考入门指南快速上手开发。如果需要帮助或想与其他创作者交流,欢迎加入Discord频道和Arduino论坛,与开发者社区互动并获取支持。

作者:Ramya Kanthi Polisetti,高通公司

Q&A

Q1:Arduino UNO Q的双核架构是怎么工作的?

A:Arduino UNO Q采用微处理器(MPU)和微控制器(MCU)双核协同设计。MPU搭载高通QRB2210芯片,运行完整的Debian Linux系统,负责AI推理、计算机视觉等高计算量任务;MCU则是意法半导体STM32U585,运行Arduino Core和Zephyr RTOS,负责传感器读取、电机控制等实时任务。两者通过桥接机制和远程过程调用(RPC)实现双向通信协作。

Q2:Arduino App Lab和普通Arduino IDE有什么区别?

A:Arduino App Lab是专为Arduino UNO Q双核架构设计的集成开发环境,支持同时开发MCU端的C++ Arduino程序和MPU端的Python应用,并自动管理两者之间的桥接通信。普通Arduino IDE只适合MCU端开发,无法统一管理双核项目。此外,App Lab还引入了基于Docker的Bricks模块,支持拖拽式集成AI模型、Web服务器等高级功能。

Q3:Arduino UNO Q适合初学者使用吗?

A:适合。Arduino UNO Q定位为入门级边缘AI和嵌入式开发平台,内置存储无需SD卡,提供2GB或4GB内存可选,Arduino App Lab也降低了双核开发的上手难度。它适合学生、教育工作者和初级开发者用于学习机器人、传感器集成和边缘AI基础知识,不需要深厚的Linux或嵌入式系统背景也能快速入门。

Edge AI and Vision Alliance - Latest News