惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

WuSiYu Blog

解决Open WebUI接入Qwen3.5/3.6模型后无法自动生成对话标题的问题 - WuSiYu Blog 世界加钱可及?若干 AWS / GreenCloud / Lightlayer / RFCHOST / SiliCloud / Vultr 的日本/新加坡/香港/美国VPS全天ping测试 - WuSiYu Blog 让UniFi中的拓扑图正确显示第三方交换机和虚拟机 站点迁移后测试中 虚拟机检测绕过和nvme性能优化的libvirt配置 UCG Fiber 主路由器 + OpenWrt 透明代理 + 高可用 方案和评测(对比ROS) OpenWrt上AdGuardHome前置配置的一些小坑 Unraid 7.2+ WebUI美化主题和自定义CSS插件 杂谈:libvirt/qemu Windows游戏VM的一些优化配置 Fedora + libvirt 下在宿主关机时安全关闭虚拟机 群晖ddrescue与暂时禁用USB外接硬盘自动挂载 OpenWrt One 路由器(MT7981,主线op)超频bl2编译教程 白群晖之 在“不受支持”的机型上启用btrfs和快照功能 解决群晖Photos iOS客户端备份大视频时报错“备份已暂停-空间不足”
Arduino UNO Q 开发板初体验 - WuSiYu Blog
SiYu Wu · 2026-06-24 · via WuSiYu Blog

已经快成路边的Arduino官方去年底出的最新的UNO系列,但这次又是个高通SoC+STM32的缝合怪。先说前提:这玩意并不被社区看好,海外社区玩的人也不多,国内更是基本没有玩的。虽然大概率是赤石,不过冲着这个外观,我决定率先品鉴。

这是来自官方文档的示意图(下面很多图也是),比较清晰。简单来讲,这是一个高通SoC的SBC系统和STM32的嵌入式系统二合一的开发板,全功能Type-C(含有USB3.0和DP视频输出)、内存、EMMC、WiFi/BT、背面的高密度连接器都连接到了高通SoC上;而正面的I/O口基本上都是STM32的,还有一个单色的8×13 LED阵列和IIC插座也连接在其上,具体如下图:

作为SBC,它的接口基本只有一个全功能Type-C,以及正面的JCTL调试接口+两个LED,其余一些接口可以从高密度连接器接入底板后引出,但目前底板很少,且国内买不到。这意味着作为SBC它需要连接外挂的全功能Type-C HUB适用,或者直接连接带HUB的显示器,插上就是一个性能有些烂的Linux小电脑。另外这个Type-C也支持OTG,可以直接连接到其他电脑上。其实就很像一个手机,对于这个高通SoC倒是意料之中。

如果只是将其当作一个SBC的话,那在2026年基本全无性价比:性能羸弱,四核A53 2.0GHz仅仅是树莓派Zero2的水平,100块以内的大量SBC都比它的CPU强。跑桌面的话2+16款会比较紧张,自带软件占用不低,4+32款倒是还凑合。接口也极为寒酸的只有一个全功能Type-C,不过如果你有带Hub的显示器那其实还挺方便的。其支持USB 3.0和DP视频输出,但整个板子的分辨率最高只能1920×1080。实际的桌面体验很一般,用起来卡卡的,估计只有倒霉蛋学生会实际用自带桌面做开发:这功能的设计目的大概就是像树莓派一样放在学生教室里,让学生直接用它自己操作自己,省一个电脑钱,至于什么4k就别想了。

要说其作为SBC的唯一优势,就是功耗比较低。这个高通SoC(QRB2210)使用了11nm LPP (Low Power Plus)制程,对比性能类似的树莓派3/Zero2的BCM2837则为古老的40nm。整板在空载时功耗0.5w,不接显示器时CPU满载 + led matrix部分点亮是功耗也只有1.5~2w。

而对于STM32系统,正面Arduino风格的I/O排插都是它的,3.3v电平,绝大多数有5v耐受。也可以通过Arduino ide上只用STM32部分,但此时SoC部分并没法关闭,会白白耗电,而且也不会有人话400多块钱就当个STM32用吧。

官方真正主推的是这个新的Arduino APP Lab中的高通SoC上的linux程序 + STM32的裸机程序的协同任务,这个新的APP Lab是全平台桌面应用,可以在Arduino UNO Q上直接运行,也可以在别的电脑上远程连接。有个自带的bridge api方便高通SoC和STM32进行通信,不过目前底层走的只是串口(LPUART1,TX、RX、RTS、CTS),默认波特率为115200,速度很挫,似乎可以改高来提速。另外还有一组SPI在电路上是相连的,但目前的bridge api功能并没有实际用上。

整个编程模型大概如下,一个App是一个目录,其中包含普通Arduino嵌入式程序,用于STM32,但增加了bridge API,其是一个RPC模块,可以调用Linux侧的函数,或者暴露函数给Linux测进行调用。而Linux测目前为python,也包含bridge API,同时Arduino APP Lab还提供了一些常用功能在python包中来方便开发,例如WebUI,天气API之类的。

官方给的一个入门小例子就是获取天气并将图标显示在板载的led matrix上显示,主要代码如下:

Linux测:

# SPDX-FileCopyrightText: Copyright (C) Arduino s.r.l. and/or its affiliated companies
#
# SPDX-License-Identifier: MPL-2.0

from arduino.app_bricks.weather_forecast import WeatherForecast
from arduino.app_utils import *

forecaster = WeatherForecast()


def get_weather_forecast(city: str) -> str:
    forecast = forecaster.get_forecast_by_city(city)
    print(f"Weather forecast for {city}: {forecast.description}")
    return forecast.category


Bridge.provide("get_weather_forecast", get_weather_forecast)

App.run()

Arduino侧:

// SPDX-FileCopyrightText: Copyright (C) Arduino s.r.l. and/or its affiliated companies
//
// SPDX-License-Identifier: MPL-2.0

#include <Arduino_LED_Matrix.h>
#include <Arduino_RouterBridge.h>

#include "weather_frames.h"

String city = "Beijing";

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(1000);
    } else if (weather_forecast == "cloudy") {
      matrix.loadSequence(cloudy);
      playRepeat(1000);
    } else if (weather_forecast == "rainy") {
      matrix.loadSequence(rainy);
      playRepeat(2000);
    } else if (weather_forecast == "snowy") {
      matrix.loadSequence(snowy);
      playRepeat(1000);
    } else if (weather_forecast == "foggy") {
      matrix.loadSequence(foggy);
      playRepeat(500);
    }
  }
}

void playRepeat(int repeat_count) {
  for (int i = 0; i < repeat_count; i++) {
    matrix.playSequence();
  }
}

其中的bridge API用起来还挺方便的,不需要自己处理MCU和Linux通讯的各种协议和解析细节。不过有一说一,如果这只是这么一个应用,单独一个树莓派或者单独一个ESP32都能干,树莓派也有GPIO,只是难以实时控制(Linux是非实时系统),不过实际上在用纯软件驱动个LCD12864是很轻松的;至于ESP32则是没有太多的性能、资源和多媒体能力,但连个在线API还是不在话下;而真正需要Arduino UNO Q这种Linux+MCU混合设计的是一个十分狭窄的领域,例如高性能+高实时的智能机器人?而其余的恐怕90%的应用仅需要一个单一的树莓派或ESP32就足够了。

此外还有一个槽点:这玩意由于是SBC,需要安全关机,不然文件系统可能会坏。但如果你用sudo poweroff命令,它在关机后会立即再次启动。正确的方式是使用sudo halt命令,这个命令的含义是进linux系统安全关闭,但不会向硬件发送关闭电源的命令。因此它关机完成后也不会有任何指示灯的变化,你只能等几十秒觉得差不多了后再拔掉电源。