【Arduino UNO Q】介绍、环境搭建、工程测试
感谢 DigiKey 和 EEPW 对物料采购的大力支持。
本文介绍了 Arduino UNO Q 开发板的相关参数,包括外观、参数特点、资源分布、原理图等,并通过 ADB、 Arduino APP Lab、SSH 三种方式登录系统,完成环境搭建、系统初始化,实现板端程序编译和上传的工程测试。
介绍
Arduino UNO Q 为 Arduino 生态系统带来了全新的性能层次,融合了高通先进的 Dragonwing™ QRB2210 MPU 运行的完整 Debian Linux 操作系统并支持上游的强大计算能力,以及在单板计算机上运行 Arduino 程序的专用 STM32U585 MCU 的实时响应能力。
详见:UNO Q |Arduino 文档 .
包装


打开包装盒,里面有出货单和 Arduino UNO Q 简约包装盒;
正面显示 ARDUINO 标志 logo 以及开发板简化图;


包装盒背面显示开发板关键参数信息,包括处理器、内存、接口等;


打开包装盒,有贴纸、说明书、静电保护袋包装的 ARDUINO UNO Q 开发板;


详见:ABX00173 Arduino | 单板计算机(SBC) - DigiKey .
外观
Top view


Bottom view


参数特点
Arduino® UNO Q集成了高通® QRB2210微处理器(MPU),运行完整的基于Debian的Linux环境,以及基于Arm® Cortex-M33®架构的STMicroelectronics® STM32U585 Microcontroller(MCU),全部集成在紧凑的UNO机体中。这一双架构平台结合了高性能计算与确定性实时控制,为现代边缘人工智能应用提供了所需的强大性能和灵活性。


通过Arduino应用实验室解锁混合开发,将 Python应用、Arduino 和 AI 模型无缝整合在一个工作流程中。从智能响应环境的AI视觉和声音解决方案,到先进的智能家居系统,UNO Q与Arduino应用实验室为创客、教育者和专业人士带来下一代嵌入式创新。同时,开发者享有真正的选择自由:用Arduino IDE编写MCU子系统,或将Arduino CLI集成到现有的VS Code等流行编辑器中。
资源分布


微处理器:高通龙翼™ QRB2210
四核 Arm® Cortex-A53® @ 2.0 GHz
Adreno GPU 3D 图形加速器
2个ISP(13 MP + 13 MP 或 25 MP)@ 30 fps
微控制器:STM32U585 Arm® Cortex-M33® 32位微控制器
Arm® Cortex-M33® 最高频率 160 MHz
2 MB 闪存
786 kB SRAM
浮点单位
无线连接:WCBN3536A无线模块支持双频Wi-Fi® 5(2.4/5 GHz)和蓝牙® 5.1,均配备内置天线,确保无线性能稳定。
内存:该板配备 32GB 的 eMMC 存储选项,以及 4GB 的 LPDDR4 内存,为嵌入式应用提供快速的内存访问和可靠的存储。
多媒体编解码器:ANX7625多媒体编解码器通过板载的 USB-C 接口实现视频和音频输出,为嵌入式应用中的显示和声音传输提供高速接口。
电源管理:UNO Q 配备了高通® PM4145,这是一款满足始终连接物联网设备需求的电源管理集成电路(PMIC)。
详见:UNO Q User Manual | Arduino Documentation .
原理图


详见:UNO Q User Manual | Arduino Documentation .
上电
首次上电后,默认板载程序启动,矩阵 LED 灯动态显示 Arduino 图标,之后切换为心形跳动图标;


环境搭建
根据官方 用户文档 ,开发 Arduino UNO Q 可使用 Arduino App Lab 软件或直接使用开发板本身。
这里介绍三种开发方式,包括 ADB Shell 连接、Arduino APP Lab 软件控制、SSH 远程登录。
ADB Shell
首先介绍使用 adb shell 连接开发板的方案。
使用 Type-C 数据线连接开发板和电脑;
打开 Windows 终端软件,执行 winget install Google.PlatformTools 指令,安装驱动;


终端执行 adb devices 指令,检查开发板连接状态;


终端执行 adb shell 连接开发板,进入板端终端界面;


更新 Linux 源和软件包
sudo apt update sudo apt upgrade
详见:Connect to UNO Q via ADB | Arduino Documentation .
Arduino App Lab
Arduino App Lab 是一个统一的开发环境,将经典的 Arduino 体验扩展到高性能计算领域。
Arduino App Lab 能够将 Arduino IDE、Python 脚本和容器化的 Linux 应用整合成一个单一的工作流。
下载 Arduino App Lab 软件;
若需要刷新固件或镜像,需下载 Arduino Flasher CLI 软件,详见官方教程:Flashing a New Image to the UNO Q | Arduino Documentation .
安装 Arduino App Lab 软件并运行;
使用 Type-C 数据线连接开发板和电脑;
首次连接会自动更新驱动程序,等待片刻即可显示 USB 设备;


点击 USB 设备图片并连接,进行无线网络配置,自动检查更新;
首次更新根据网络情况可能需要较长时间(30min),需耐心等待;
更新完成后,重启 Arduino App Lab 软件;
点击 Connect 按钮,重新连接设备;
进入开发板设置
进入操作界面


工程创建
点击例程 Weather on LED ;
点击右上方 Run 按钮,首次编译需下载较多软件包,等待编译和上传完成;


效果如下


若要修改城市定义,需复制例程;
点击右上角的 Copy and edit app 按钮,复制例程;
工程代码
打开左侧文件列表中的 sketch.ino 文件;


修改代码中的城市定义,如 Shanghai ,代码如下
#include <Arduino_LED_Matrix.h>
#include <Arduino_RouterBridge.h>
#include "weather_frames.h"
String city = "Shanghai";
Arduino_LED_Matrix matrix;
void setup() {
matrix.begin();
matrix.clear();
Bridge.begin();
}
void loop() {
String weather_forecast;
bool ok = Bridge.call("get_weather_forecast", city).result(weather_forecast);
if (ok) {
if (weather_forecast == "sunny") {
matrix.loadSequence(sunny);
playRepeat(10);
} else if (weather_forecast == "cloudy") {
matrix.loadSequence(cloudy);
playRepeat(10);
} else if (weather_forecast == "rainy") {
matrix.loadSequence(rainy);
playRepeat(20);
} else if (weather_forecast == "snowy") {
matrix.loadSequence(snowy);
playRepeat(10);
} else if (weather_forecast == "foggy") {
matrix.loadSequence(foggy);
playRepeat(5);
}
}
}
void playRepeat(int repeat_count) {
for (int i = 0; i < repeat_count; i++) {
matrix.playSequence();
}
}保存代码;
编译运行
点击右上角的 RUN 按钮,自动编译、上传、运行程序;
板载矩阵 LED 显示动态天气图标


Shell 终端
打开 Arduino APP Lab 软件,连接开发板;
以 Linux 身份进入系统,点击左下角的 CLI 命令行按钮,进入 Shell 终端;


执行如下指令,安装 fastfetch 以获取开发板信息;
sudo apt install fastfetch fastfetch
系统参数如下


SSH 登录
使用 MobaXterm 软件 SSH 远程登录,便于进行 Linux 开发。
新建 SSH 连接,输入开发板 ip 地址,用户名为 arduino ;


总结
本文介绍了 Arduino UNO Q 开发板的相关参数,包括外观、参数特点、资源分布、原理图等,并通过 ADB、 Arduino APP Lab、SSH 三种方式登录系统,完成环境搭建、系统初始化,实现板端程序编译和上传的工程测试,为相关产品的快速开发和应用设计提供了参考。
我要赚赏金
