App Lab 使用说明
Arduino App Lab 是面向 Arduino UNO Q 的一体化开发环境,可用于创建、运行和管理 UNO Q 上的应用程序。
在 Arduino App Lab 中,应用程序被称为 App。一个 App 可以由多个功能模块组成,例如 Arduino Sketch、Python 脚本、Linux 应用、容器化应用以及 AI 模型。通过这种方式,用户可以在同一个项目中同时使用 UNO Q 的 Linux 计算能力和 Arduino 实时控制能力。
UNO Q 采用双架构设计,板载 MPU 和 MCU 两个计算单元:
| 架构 | 运行环境 | 适合任务 |
|---|---|---|
| MPU | Debian Linux | Python、Linux 应用、AI 推理、图像处理、网络应用 |
| MCU | Arduino Core on Zephyr OS | GPIO 控制、传感器采集、执行器控制、实时 I/O、Arduino Sketch |
Arduino App Lab 的作用,是将这两部分开发流程整合在一起,让用户可以在同一个项目中同时使用 Linux 应用和 Arduino 程序。
例如,可以让 Linux 端负责摄像头图像处理、AI 推理和网络通信,再通过 MCU 端控制传感器、LED、继电器、电机等外设。
如果只是对 UNO Q 的 MCU 部分进行传统 Arduino Sketch 开发,也可以使用 Arduino IDE 2.x。
运行示例程序
第一次使用 Arduino App Lab 时,建议先运行官方示例程序,确认 UNO Q 是否已经正确连接,并验证 Arduino App Lab 是否可以正常上传和运行应用。
下面以 Blink 示例进行讲解。
操作步骤
- 打开 Arduino App Lab,并连接好 Wi-Fi。
- 在设备列表中选择已连接的 UNO Q。

- 输入密码登录设备。
- 进入示例页面。
- 找到并打开 Blink LED 示例。

- 阅读示例说明,了解该 App 的基本工作方式。
- 点击右上角的 Run 按钮。
- 等待 App 上传并运行。

运行效果
程序运行后,可以看到 UNO Q 板载 RGB LED 中的红色 LED 按以下节奏闪烁:
亮起 1 秒 → 熄灭 1 秒 → 循环重复

- Blink 示例控制的是 UNO Q 板载 RGB LED 中的红色 LED,该 LED 由 STM32 微控制器通过 Arduino Sketch 控制。
如果 Blink 示例可以正常运行,说明 UNO Q 与 Arduino App Lab 的基础开发环境已经配置成功。后续可以继续测试 LED 矩阵、Python / Linux 应用、Bridge / RPC 或 AI 相关示例。
创建一个 App
操作步骤
- 点击 My Apps,进入应用管理界面。
- 点击右上角 Create new app 创建一个新的应用。

- 输入 App 名称,也可以在输入框左侧选择图标。设置完成后,点击 Create new 确认创建。

- 将 DHT11 温湿度传感器 连接到 UNO Q 上。
Arduino UNO Q 连接引脚对应关系
| DHT11 | Arduino | 功能 |
|---|---|---|
| VCC | 5V | 电源输入 |
| GND | GND | 电源地 |
| DOUT | D2 | 通信端口 |
- 在 App 编辑界面中,点击右侧的书籍图标,进入库管理界面。

- 在搜索框中输入需要使用的库名称,然后点击 Install 安装
本示例需要安装以下库:
DHT11ArduinoGraphicsArduino_LED_Matrix

- 在
sketch.ino文件中写入以下程序。
完整示例代码(点击展开)
#include <Arduino.h>
#include <DHT11.h>
#include "ArduinoGraphics.h"
#include "Arduino_LED_Matrix.h"
#define DHT_PIN D2
DHT11 dht11(DHT_PIN);
ArduinoLEDMatrix matrix;
int temperature = 0;
int humidity = 0;
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("UNO Q DHT11 Temperature-Humidity Demo");
Serial.println("DHT11 DOUT -> D2");
matrix.begin();
matrix.setGrayscaleBits(8);
matrix.textFont(Font_5x7);
matrix.clear();
showText("READY");
delay(1000);
}
void loop() {
int result = dht11.readTemperatureHumidity(temperature, humidity);
if (result == 0) {
Serial.print("Temp: ");
Serial.print(temperature);
Serial.print(" C, Hum: ");
Serial.print(humidity);
Serial.println(" %");
showText("T" + String(temperature) + "C");
delay(1500);
showText("H" + String(humidity) + "%");
delay(1500);
} else {
Serial.print("DHT11 read failed: ");
Serial.println(DHT11::getErrorString(result));
showText("ERR");
delay(1500);
}
delay(2000);
}
void showText(String text) {
matrix.clear();
matrix.beginDraw();
matrix.stroke(255, 255, 255);
matrix.textFont(Font_5x7);
matrix.beginText(0, 1, 255, 255, 255);
matrix.print(text);
matrix.endText();
matrix.endDraw();
}
-
点击右侧 Run,启动 App;点击 Stop,停止程序。

-
程序运行后,Arduino UNO Q 会读取 DHT11 的温湿度数据,并在板载 LED Matrix 上轮流显示温度和湿度。
设置自启动程序
如果希望 UNO Q 开机后自动运行程序,可以设置 Run at startup。

网络模式
即使 UNO Q 已经被设置为 SBC 模式,也可以通过 Arduino App Lab 的 网络模式 从同一局域网内的电脑远程访问开发板。 这样一来,就可以在计算机上开发应用程序,并在开发板本地进行测试,因为这两种模式可以同时使用。 使用网络模式时:
- 确保电脑和 UNO Q 连接到同一个局域网。
- 打开 Arduino App Lab。
- 如果 UNO Q 可被发现,它会以 网络 标签显示在设备列表中。
- 点击设备,并输入 UNO Q 的 Linux 登录密码。
- 连接成功后,即可像通过 USB-C 直连一样开发和运行应用。

网络模式依赖本地网络发现(mDNS)功能。如果使用访客 Wi-Fi、公司网络、物联网隔离网络、VPN 或防火墙限制较严格的网络环境,可能会导致 UNO Q 无法被自动发现。
如果 Arduino App Lab 无法在网络模式中发现 UNO Q,可以检查以下项目:
- Windows 防火墙提示: 首次启动 Arduino App Lab 时,Windows Defender 或其他安全软件可能会弹出关于
mdns-discovery.exe的网络访问提示,请允许其访问网络。 - 防火墙设置: 确认防火墙允许 UDP 5353 端口通信,该端口用于 mDNS 本地网络发现。
- 网络环境: 确认电脑和 UNO Q 位于同一局域网,且网络没有开启客户端隔离。
即使可以通过浏览器、SSH 或 IP 地址访问 UNO Q,也不代表它一定会出现在 Arduino App Lab 的网络模式设备列表中。网络模式依赖 mDNS 自动发现机制,网络配置不兼容时可能无法显示设备。