教程:VENTUNO Q/用户手册:修订间差异

来自WindwizPi wiki
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
Windwiz​(留言 | 贡献)
导入 VENTUNO Q 中文教程
 
Windwiz​(留言 | 贡献)
导入 VENTUNO Q 中文教程
第4行: 第4行:
本用户手册将介绍 [https://store.arduino.cc/products/ventuno-q '''Arduino® VENTUNO™ Q'''] 的主要功能,以及如何开始使用该开发板。VENTUNO Q 是一块采用双脑架构的开发板,搭载 '''Qualcomm® Dragonwing™ QCS8275(MPU)'''、STM32H5F5 微控制器(MCU)、Wi-Fi® 6 / Bluetooth® 5.3 模块,并提供大量连接器与扩展端口。
本用户手册将介绍 [https://store.arduino.cc/products/ventuno-q '''Arduino® VENTUNO™ Q'''] 的主要功能,以及如何开始使用该开发板。VENTUNO Q 是一块采用双脑架构的开发板,搭载 '''Qualcomm® Dragonwing™ QCS8275(MPU)'''、STM32H5F5 微控制器(MCU)、Wi-Fi® 6 / Bluetooth® 5.3 模块,并提供大量连接器与扩展端口。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/thumbnail.png" alt="VENTUNO Q" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/thumbnail.png
 


通过将屏幕、显示器与鼠标连接到其专用 HDMI 与 USB 连接器,这块开发板可用作单板电脑(SBC)。
通过将屏幕、显示器与鼠标连接到其专用 HDMI 与 USB 连接器,这块开发板可用作单板电脑(SBC)。
第85行: 第87行:
=== 开发板架构概述 ===
=== 开发板架构概述 ===


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-q-ic-overview.png" alt="VENTUNO Q 的 IC 概览" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-q-ic-overview.png
 


* '''MPU''':'''Dragonwing™ QCS8275''' 是一款 MPU,具有八核处理器与 Kryo™ Gen 6 CPU 子系统(最高 2.35 GHz)、Adreno™ A623 GPU/VPU(877 MHz)以及最高 40 TOPS 的 Hexagon Tensor AI Processor(NPU)。它运行具有上游支持的 Ubuntu Linux OS,非常适合 LLM、VLM、TTS / STT 等高性能应用。它还具有 Qualcomm Spectra 692 图像信号处理器(ISP),用于处理多路相机连接。
* '''MPU''':'''Dragonwing™ QCS8275''' 是一款 MPU,具有八核处理器与 Kryo™ Gen 6 CPU 子系统(最高 2.35 GHz)、Adreno™ A623 GPU/VPU(877 MHz)以及最高 40 TOPS 的 Hexagon Tensor AI Processor(NPU)。它运行具有上游支持的 Ubuntu Linux OS,非常适合 LLM、VLM、TTS / STT 等高性能应用。它还具有 Qualcomm Spectra 692 图像信号处理器(ISP),用于处理多路相机连接。
第97行: 第101行:
=== 连接器概述 ===
=== 连接器概述 ===


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-q-connector-overview.png" alt="VENTUNO Q 连接器概览" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-q-connector-overview.png
 


VENTUNO Q 具有非常丰富的连接器,包括 3 个专用相机连接器、HDMI、以太网、2x USB-A、40 针 RPi Hat 连接器等。
VENTUNO Q 具有非常丰富的连接器,包括 3 个专用相机连接器、HDMI、以太网、2x USB-A、40 针 RPi Hat 连接器等。
第106行: 第112行:
=== 电源概述 ===
=== 电源概述 ===


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-power-options-2.png" alt="VENTUNO Q 供电选项" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-power-options-2.png
 


VENTUNO Q 有多种为开发板供电的方式:
VENTUNO Q 有多种为开发板供电的方式:
第174行: 第182行:
=== 引脚图 ===
=== 引脚图 ===


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ABX00181_pinout.png" alt="VENTUNO Q 简易引脚图" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ABX00181_pinout.png
 


要查看完整引脚图,请访问以下链接:
要查看完整引脚图,请访问以下链接:
第208行: 第218行:
*这仅指机械与引脚兼容性,而非软件兼容性。
*这仅指机械与引脚兼容性,而非软件兼容性。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-q-form-factor.png" alt="VENTUNO 外形尺寸" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-q-form-factor.png
 


<span id="board-clearance"></span>
<span id="board-clearance"></span>
第225行: 第237行:
== Arduino App Lab ==
== Arduino App Lab ==


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-app-lab-examples.png" alt="Arduino App Lab" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-app-lab-examples.png
 


[https://docs.arduino.cc/software/app-lab/ Arduino App Lab] 是面向基于 Linux 的 Arduino 开发板的统一开发环境。通过在 Arduino App Lab 中创建并部署 '''Apps''',你可以在 Linux 处理器(Dragonwing™ QCS8275)上运行 Python 脚本,并在 MCU(STM32H5F5)上运行 sketch。
[https://docs.arduino.cc/software/app-lab/ Arduino App Lab] 是面向基于 Linux 的 Arduino 开发板的统一开发环境。通过在 Arduino App Lab 中创建并部署 '''Apps''',你可以在 Linux 处理器(Dragonwing™ QCS8275)上运行 Python 脚本,并在 MCU(STM32H5F5)上运行 sketch。
第276行: 第290行:
# 将 [https://store.arduino.cc/products/usb-c-power-supply-65w Arduino USB-C Power Supply (65W)] 连接到圆口连接器为开发板供电。
# 将 [https://store.arduino.cc/products/usb-c-power-supply-65w Arduino USB-C Power Supply (65W)] 连接到圆口连接器为开发板供电。
# 通过 USB-C® 将开发板连接到电脑。
# 通过 USB-C® 将开发板连接到电脑。
   <img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-setup-pwr-usb.png" alt="连接 USB-C® 线缆" />
    
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-setup-pwr-usb.png
 
# 下载 [https://www.arduino.cc/en/software/#app-lab-section Arduino App Lab] 并运行该应用。如果开发板已连接到电脑,它应会出现,点击它以继续。
# 下载 [https://www.arduino.cc/en/software/#app-lab-section Arduino App Lab] 并运行该应用。如果开发板已连接到电脑,它应会出现,点击它以继续。
   <img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-detected.png" alt="选择开发板" />
    
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-detected.png
 
# 首次启动时,系统会提示你设置 '''Board Name'''、'''Keyboard Language''' 和 '''Wi-Fi®''' 凭据。完成配置并执行所需的开发板更新。
# 首次启动时,系统会提示你设置 '''Board Name'''、'''Keyboard Language''' 和 '''Wi-Fi®''' 凭据。完成配置并执行所需的开发板更新。


第285行: 第303行:
通过选择示例并点击 '''"Run"''' 按钮来运行 Apps。
通过选择示例并点击 '''"Run"''' 按钮来运行 Apps。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-launch-app.png" alt="运行 App" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-launch-app.png
 


<span id="network-mode-local-wi-fi"></span>
<span id="network-mode-local-wi-fi"></span>
第294行: 第314行:
# 重新启动 Arduino App Lab。
# 重新启动 Arduino App Lab。
# 你的开发板旁应出现一个小的 '''Wi-Fi®''' 符号。点击它。
# 你的开发板旁应出现一个小的 '''Wi-Fi®''' 符号。点击它。
   <img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-network-mode.png" alt="网络模式" />
    
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-network-mode.png
 
# 你需要输入的是 '''开发板''' 的密码,而不是网络密码。
# 你需要输入的是 '''开发板''' 的密码,而不是网络密码。


第317行: 第339行:
* [https://store.arduino.cc/products/usb-c-power-supply-65w Arduino USB-C Power Supply (65W)]
* [https://store.arduino.cc/products/usb-c-power-supply-65w Arduino USB-C Power Supply (65W)]


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-sbc-mode.png" alt="将 VENTUNO Q 设置为 SBC" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-sbc-mode.png
 


# 将键盘与鼠标连接到 USB-A 连接器
# 将键盘与鼠标连接到 USB-A 连接器
第326行: 第350行:
选择密码后,你将看到开发板的主屏幕,应如下图所示:
选择密码后,你将看到开发板的主屏幕,应如下图所示:


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-ubuntu.png" alt="VENTUNO Q 上的 Ubuntu" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-ubuntu.png
 


要启动 Arduino App Lab,请点击导航栏中的图标:
要启动 Arduino App Lab,请点击导航栏中的图标:


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-sbc-launch-applab.png" alt="启动 Arduino App Lab" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-sbc-launch-applab.png
 


程序将启动,然后你就可以在 Arduino App Lab 中运行示例了 🚀。
程序将启动,然后你就可以在 Arduino App Lab 中运行示例了 🚀。
第344行: 第372行:
# 将 '''Run at startup''' 开关拨到 '''ON''' 位置。
# 将 '''Run at startup''' 开关拨到 '''ON''' 位置。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/run-at-startup-2.png" alt="开机运行选项" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/run-at-startup-2.png
 


配置完成后,App 名称旁将出现 '''DEFAULT''' 徽章,表示它将在启动时自动运行。
配置完成后,App 名称旁将出现 '''DEFAULT''' 徽章,表示它将在启动时自动运行。
第419行: 第449行:
</syntaxhighlight>
</syntaxhighlight>


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/nmtui.png" alt="连接到 Wi-Fi 网络" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/nmtui.png
 


<span id="access-via-ssh"></span>
<span id="access-via-ssh"></span>
第445行: 第477行:
这应会在开发板上启动该 App,启动后 LED 应开始闪烁。
这应会在开发板上启动该 App,启动后 LED 应开始闪烁。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-blink.gif" alt="板载 LED 闪烁" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-blink.gif
 


要查看所有已安装 Apps(以及用户 Apps),请运行 <code>arduino-app-cli app list</code> 命令。这将给出完整列表。
要查看所有已安装 Apps(以及用户 Apps),请运行 <code>arduino-app-cli app list</code> 命令。这将给出完整列表。
第466行: 第500行:
VENTUNO Q 开箱即用,额外提供一套用于板载控制与反馈的用户界面。
VENTUNO Q 开箱即用,额外提供一套用于板载控制与反馈的用户界面。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-q-user-overview.png" alt="VENTUNO Q 板载用户界面" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-q-user-overview.png
 


* '''LED Matrix''' — 8x13 LED 矩阵,用于显示动画、图标、文本等。
* '''LED Matrix''' — 8x13 LED 矩阵,用于显示动画、图标、文本等。
第478行: 第514行:
开发板具有由 MCU 管理的 8×13 蓝色 LED 矩阵。
开发板具有由 MCU 管理的 8×13 蓝色 LED 矩阵。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-matrix.png" alt="LED 矩阵" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-matrix.png
 


LED 矩阵在 MCU 侧编程,可用于显示动画、图标、数字与文本(滚动格式)。LED 矩阵也可用于创建迷你游戏。
LED 矩阵在 MCU 侧编程,可用于显示动画、图标、数字与文本(滚动格式)。LED 矩阵也可用于创建迷你游戏。
第496行: 第534行:
VENTUNO Q 具有 4 个连接到 STM32 微控制器的 RGB LED。
VENTUNO Q 具有 4 个连接到 STM32 微控制器的 RGB LED。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-rgb-led-2.png" alt="VENTUNO Q RGB LED" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-rgb-led-2.png
 


可像往常一样使用 <code>digitalWrite</code> 函数设置各自 GPIO 的状态来控制它们。
可像往常一样使用 <code>digitalWrite</code> 函数设置各自 GPIO 的状态来控制它们。
第570行: 第610行:
VENTUNO Q 具有可用于重启开发板的 '''电源按钮'''。
VENTUNO Q 具有可用于重启开发板的 '''电源按钮'''。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-power-button.png" alt="VENTUNO Q 电源按钮" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-power-button.png
 


* '''长按''':按下按钮 '''10+''' 秒时,开发板将完全关机。在断开并重新接通电源之前,它将保持关闭。
* '''长按''':按下按钮 '''10+''' 秒时,开发板将完全关机。在断开并重新接通电源之前,它将保持关闭。
第584行: 第626行:
=== 用户按钮 ===
=== 用户按钮 ===


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-user-button.png" alt="VENTUNO Q 用户按钮" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-user-button.png
 


VENTUNO Q 上的 '''用户按钮''' 连接到 Dragonwing™ QCS8275 上的 <code>GPIO_79</code>。
VENTUNO Q 上的 '''用户按钮''' 连接到 Dragonwing™ QCS8275 上的 <code>GPIO_79</code>。
第596行: 第640行:
你应看到类似如下内容:
你应看到类似如下内容:


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/user-button-ss.png" alt="用户按钮已按下" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/user-button-ss.png
 


<span id="user-button-example-script"></span>
<span id="user-button-example-script"></span>
第678行: 第724行:
</syntaxhighlight>
</syntaxhighlight>


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/user-button-ss-2.png" alt="用 Python 脚本测试用户按钮" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/user-button-ss-2.png
 


<span id="uno-header-pins"></span>
<span id="uno-header-pins"></span>
第1,041行: 第1,089行:
VENTUNO Q 具有 USB-C 连接器,用途不仅限于为开发板编程与供电。
VENTUNO Q 具有 USB-C 连接器,用途不仅限于为开发板编程与供电。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-usb.png" alt="USB-C 连接器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-usb.png
 


下表列出了扩展 VENTUNO Q 能力的 USB-C 连接器主要特性。
下表列出了扩展 VENTUNO Q 能力的 USB-C 连接器主要特性。
第1,103行: 第1,153行:
在将开发板用作 SBC 时,此连接器非常适合连接鼠标与键盘,或通过 USB 轻松集成相机。
在将开发板用作 SBC 时,此连接器非常适合连接鼠标与键盘,或通过 USB 轻松集成相机。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-usb-a.png" alt="USB-A 连接器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-usb-a.png
 


下表列出了集成到 VENTUNO Q 中的 USB-A 连接器主要特性。
下表列出了集成到 VENTUNO Q 中的 USB-A 连接器主要特性。
第1,150行: 第1,202行:
VENTUNO Q 具有板载 Qwiic 连接器,为连接 I²C 设备提供简单、免工具的方案。由 SparkFun Electronics 开发的 Qwiic 生态系统已成为使用 I²C 设备快速原型开发的行业标准,使你无需焊接或复杂接线即可连接传感器、显示器和其他外设。
VENTUNO Q 具有板载 Qwiic 连接器,为连接 I²C 设备提供简单、免工具的方案。由 SparkFun Electronics 开发的 Qwiic 生态系统已成为使用 I²C 设备快速原型开发的行业标准,使你无需焊接或复杂接线即可连接传感器、显示器和其他外设。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-qwiic.png" alt="I2C Qwiic 连接器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-qwiic.png
 


Qwiic 系统的主要优势包括:
Qwiic 系统的主要优势包括:
第1,169行: 第1,223行:
Qwiic 连接器使你能够连接我们的 Modulino 节点,以开发免焊接项目。
Qwiic 连接器使你能够连接我们的 Modulino 节点,以开发免焊接项目。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-modulino-2.png" alt="Modulino 节点" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-modulino-2.png
 


* 查看完整的 [https://www.arduino.cc/en/hardware/#modulino Modulino 系列],其中有多种 '''传感器''' 与 '''执行器''' 可扩展你的项目。
* 查看完整的 [https://www.arduino.cc/en/hardware/#modulino Modulino 系列],其中有多种 '''传感器''' 与 '''执行器''' 可扩展你的项目。
第1,179行: 第1,235行:
VENTUNO Q 具有高性能 2.5 Gbps RJ45 以太网端口,为多路视频流或本地服务器通信等高带宽边缘 AI 任务提供超快有线网络能力。
VENTUNO Q 具有高性能 2.5 Gbps RJ45 以太网端口,为多路视频流或本地服务器通信等高带宽边缘 AI 任务提供超快有线网络能力。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-ethernet.png" alt="VENTUNO Q 以太网连接器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-ethernet.png
 


网络子系统由专用 '''QCA-8081 PHY''' 与 '''TRJT9010A98NL''' 连接器驱动,确保稳定的工业级连接。
网络子系统由专用 '''QCA-8081 PHY''' 与 '''TRJT9010A98NL''' 连接器驱动,确保稳定的工业级连接。
第1,227行: 第1,285行:
=== HDMI ===
=== HDMI ===


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-hdmi.png" alt="HDMI 连接器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-hdmi.png
 


VENTUNO Q 具有垂直安装在开发板上的全尺寸 '''HDMI Type A''' 连接器,直接连接到 Qualcomm Dragonwing™ QCS8275。它与位于 [[#jmedia|JMEDIA]] 排针上的 MIPI-DSI 连接器复用,意味着同一时间只能有一个显示输出(HDMI 或 MIPI-DSI)处于活动状态。
VENTUNO Q 具有垂直安装在开发板上的全尺寸 '''HDMI Type A''' 连接器,直接连接到 Qualcomm Dragonwing™ QCS8275。它与位于 [[#jmedia|JMEDIA]] 排针上的 MIPI-DSI 连接器复用,意味着同一时间只能有一个显示输出(HDMI 或 MIPI-DSI)处于活动状态。
第1,260行: 第1,320行:
=== M.2 连接器 ===
=== M.2 连接器 ===


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-m2-connector.png" alt="M.2 连接器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-m2-connector.png
 


VENTUNO Q 具有通过 '''PCIe Gen 4 x4''' 接口提供高速存储扩展的 '''M-key M.2 插槽''',直接连接到 Qualcomm Dragonwing™ QCS8275。这使开发板的 64 GB eMMC 基础存储可以通过快速 NVMe 驱动器补充或超越。
VENTUNO Q 具有通过 '''PCIe Gen 4 x4''' 接口提供高速存储扩展的 '''M-key M.2 插槽''',直接连接到 Qualcomm Dragonwing™ QCS8275。这使开发板的 64 GB eMMC 基础存储可以通过快速 NVMe 驱动器补充或超越。
第1,321行: 第1,383行:
开发板具有 40 针公头排针,便于与 RPi "hats" 集成。这些引脚通过电平转换器连接在 MPU(1.8 V)与排针(3.3 V)之间,连接到 Dragonwing™ QCS8275。
开发板具有 40 针公头排针,便于与 RPi "hats" 集成。这些引脚通过电平转换器连接在 MPU(1.8 V)与排针(3.3 V)之间,连接到 Dragonwing™ QCS8275。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-rpi-connector.png" alt="RPi 排针" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-rpi-connector.png
 


<blockquote>
<blockquote>
第1,520行: 第1,584行:
</blockquote>
</blockquote>


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-camera-connector.png" alt="VENTUNO Q MIPI / CSI 连接器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-camera-connector.png
 


<blockquote>
<blockquote>
第1,725行: 第1,791行:
运行示例后,你应在终端中看到日志(延迟),并且显示器上应出现画面。
运行示例后,你应在终端中看到日志(延迟),并且显示器上应出现画面。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-camera-stream-mipi-csi.png" alt="通过 MIPI-CSI 相机录制视频" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-camera-stream-mipi-csi.png
 


<span id="can-fd"></span>
<span id="can-fd"></span>
第1,943行: 第2,011行:
|}
|}


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-can-fd-connector.png" alt="VENTUNO Q CAN-FD 引脚" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-can-fd-connector.png
 


<span id="uno-carrier-headers--connectors"></span>
<span id="uno-carrier-headers--connectors"></span>
第1,953行: 第2,023行:
==== JMEDIA ====
==== JMEDIA ====


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-jmedia.png" alt="JMEDIA 连接器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-jmedia.png
 


JMEDIA 连接器位于开发板底部,工作于 '''1.8V'''。连接器上的引脚直接连接到 Dragonwing™ QCS8275,引脚表见下。此连接器主要用于配合配件扩展开发板功能。
JMEDIA 连接器位于开发板底部,工作于 '''1.8V'''。连接器上的引脚直接连接到 Dragonwing™ QCS8275,引脚表见下。此连接器主要用于配合配件扩展开发板功能。
第2,207行: 第2,279行:
==== JMISC ====
==== JMISC ====


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-jmisc.png" alt="JMISC 连接器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-jmisc.png
 


'''JMISC''' 排针连接到开发板上的多个关键组件,包括:
'''JMISC''' 排针连接到开发板上的多个关键组件,包括:
第2,474行: 第2,548行:
=== JOMEGA 扩展排针 ===
=== JOMEGA 扩展排针 ===


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-jomega.png" alt="JOMEGA 扩展排针" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-jomega.png
 


'''JOMEGA''' 排针是连接到开发板上多个组件的高级 100 针高密度连接器:
'''JOMEGA''' 排针是连接到开发板上多个组件的高级 100 针高密度连接器:
第2,902行: 第2,978行:
VENTUNO Q 使用 RPC(远程过程调用)在 Linux(Qualcomm MPU)侧与实时 STM32 MCU 之间交换数据。该机制允许在一个处理器上运行的函数从另一个处理器透明地调用,就像本地调用一样。
VENTUNO Q 使用 RPC(远程过程调用)在 Linux(Qualcomm MPU)侧与实时 STM32 MCU 之间交换数据。该机制允许在一个处理器上运行的函数从另一个处理器透明地调用,就像本地调用一样。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-rpc.png" alt="VENTUNO Q RPC" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-rpc.png
 


<code>Bridge</code> 库在 <code>Arduino_RPClite</code> 框架之上提供通信层。它管理 MPU 与 MCU 之间的双向 RPC 流量,处理方法绑定、请求转发与异步响应。
<code>Bridge</code> 库在 <code>Arduino_RPClite</code> 框架之上提供通信层。它管理 MPU 与 MCU 之间的双向 RPC 流量,处理方法绑定、请求转发与异步响应。
第3,099行: 第3,177行:
</blockquote>
</blockquote>


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-bughopper.png" alt="VENTUNO Q + Bughopper 放置" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-bughopper.png
 


此接口通过 VENTUNO Q 上的 JCTL 连接器提供。详情请参阅 [[#pinout|引脚图]] 部分,并按照上方接线示例进行访问。
此接口通过 VENTUNO Q 上的 JCTL 连接器提供。详情请参阅 [[#pinout|引脚图]] 部分,并按照上方接线示例进行访问。
第3,108行: 第3,188行:
VENTUNO Q 具有 NFA725B 无线电模块,为开发板提供双频 Wi-Fi® 6 2.4/5/6 GHz 与 Bluetooth® 5.1。这为物联网与外设通信提供无缝无线连接。
VENTUNO Q 具有 NFA725B 无线电模块,为开发板提供双频 Wi-Fi® 6 2.4/5/6 GHz 与 Bluetooth® 5.1。这为物联网与外设通信提供无缝无线连接。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-radio-module.png" alt="无线电模块" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-radio-module.png
 


无论是连接到本地网络、将数据上传到云端,还是与智能手机和传感器等支持蓝牙的设备通信,VENTUNO Q 都为你的项目提供灵活可靠的选择。
无论是连接到本地网络、将数据上传到云端,还是与智能手机和传感器等支持蓝牙的设备通信,VENTUNO Q 都为你的项目提供灵活可靠的选择。
第3,124行: 第3,206行:
如果已将开发板设置为 SBC,你可以点击右上角菜单并选择要连接的 Wi-Fi 网络。
如果已将开发板设置为 SBC,你可以点击右上角菜单并选择要连接的 Wi-Fi 网络。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-wifi.png" alt="连接到 Wi-Fi 网络" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-wifi.png
 


<span id="connect-via-terminal-nmtui"></span>
<span id="connect-via-terminal-nmtui"></span>
第3,135行: 第3,219行:
</syntaxhighlight>
</syntaxhighlight>


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/nmtui.png" alt="通过 nmtui 连接" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/nmtui.png
 


<span id="connect-via-terminal-nmcli"></span>
<span id="connect-via-terminal-nmcli"></span>
第3,211行: 第3,297行:
你可以在单板电脑模式下点击右上角菜单来管理蓝牙功能,例如选择要连接的设备。
你可以在单板电脑模式下点击右上角菜单来管理蓝牙功能,例如选择要连接的设备。


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-bluetooth.png" alt="蓝牙管理器" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-bluetooth.png
 


你也可以在终端中使用 <code>bluetoothctl</code> 管理蓝牙连接,如下所示:
你也可以在终端中使用 <code>bluetoothctl</code> 管理蓝牙连接,如下所示:
第3,232行: 第3,320行:
以下是从终端搜索蓝牙设备时的示例:
以下是从终端搜索蓝牙设备时的示例:


<img src="https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-scan.png" alt="蓝牙扫描" />
 
https://cdn.jsdelivr.net/gh/arduino/docs-content@main/content/hardware/ventuno/boards/ventuno-q/tutorials/first-steps/user-manual/assets/ventuno-scan.png
 


<span id="troubleshooting"></span>
<span id="troubleshooting"></span>

2026年9月28日 (一) 06:01的版本

概述

本用户手册将介绍 Arduino® VENTUNO™ Q 的主要功能,以及如何开始使用该开发板。VENTUNO Q 是一块采用双脑架构的开发板,搭载 Qualcomm® Dragonwing™ QCS8275(MPU)、STM32H5F5 微控制器(MCU)、Wi-Fi® 6 / Bluetooth® 5.3 模块,并提供大量连接器与扩展端口。


thumbnail.png


通过将屏幕、显示器与鼠标连接到其专用 HDMI 与 USB 连接器,这块开发板可用作单板电脑(SBC)。

Dragonwing™ QCS8275 具有:

  • Qualcomm® Hexagon™ Tensor Processor,最高 40 dense TOPS,可运行高级计算机视觉应用与本地 LLM
  • Spectra™ 690 ISP 高性能图像处理引擎
  • Qualcomm® Adreno™ 623 GPU,提供高性能图形能力
  • 2x8GB LPDDR5(RAM) 与 64GB eMMC

硬件与软件要求

硬件要求

  • 也可使用其他电源,电压范围为 7–24 V,电流 ≥ 3 A。更多信息请参阅 电源概述部分。

注意:

Arduino USB-C Power Supply (65W) 附带一个可将 USB-C® 转换为 DC 圆口插头的小型适配器。如需通过圆口连接器为开发板供电,请使用该适配器。

此外,要将开发板用作 单板电脑(SBC),你还需要以下设备:

  • 鼠标
  • 键盘
  • HDMI 线缆
  • 显示器
  • USB 扩展坞(可选)*

注意:

  • 鼠标、键盘和显示器可连接到 USB-A 与 HDMI 连接器。如需更多外设,请使用连接到 USB-C® 连接器的 USB-C® 扩展坞。

软件要求

产品概述

VENTUNO Q 旨在将高性能计算与实时感知和执行相结合。其双脑架构使开发板能够与现实世界交互并处理大量数据,支持 Edge AI 与物联网中的众多用例。

Dragonwing™ QCS8275(MPU)运行具有上游支持的完整 Ubuntu Linux OS,而 STM32H5F5(MCU)在 Zephyr OS 上运行 Arduino sketch。借助内置 RPC 库,两个系统可以无缝通信。

VENTUNO Q 还提供大量连接器与扩展端口:

  • USB-C®
  • USB-A
  • HDMI
  • 以太网 2.5Gb
  • 40 针 RPI 连接器
  • CAN-FD(螺丝端子)
  • 3x MIPI/CSI(相机)连接器
  • Qwiic
  • 用于内存扩展的 M.2 连接器

应用示例

VENTUNO Q 能够在多个领域运行大量高性能应用:

  • 离线语音助手:运行语音转文本模型与本地 LLM,创建离线语音助手
  • 高级机器人:利用 3 个专用相机连接器构建计算机视觉应用,并通过 MCU 与专用 CAN 端口或其他外设接口。
  • 智能环境: 创建可与物理空间中各组件与系统交互的本地智能家居中枢。

开发板架构概述

ventuno-q-ic-overview.png


  • MPU:Dragonwing™ QCS8275 是一款 MPU,具有八核处理器与 Kryo™ Gen 6 CPU 子系统(最高 2.35 GHz)、Adreno™ A623 GPU/VPU(877 MHz)以及最高 40 TOPS 的 Hexagon Tensor AI Processor(NPU)。它运行具有上游支持的 Ubuntu Linux OS,非常适合 LLM、VLM、TTS / STT 等高性能应用。它还具有 Qualcomm Spectra 692 图像信号处理器(ISP),用于处理多路相机连接。
  • 微控制器(MCU):STM32H5F5 微控制器具有运行于 250 MHz 的 Arm® Cortex®-M33 核心,配备 4 MB 闪存与 1.5 MB SRAM。STM32H5F5 的 GPIO 可通过开发板引脚访问。MCU 可使用 bridge 框架通过 RPC 与 MPU 通信。
  • 无线连接:Wi-Fi® / Bluetooth® 无线电模块提供三频 Wi-Fi® 6(2.4/5/6 GHz)与 Bluetooth® 5.3 连接,并带有 2 个板载天线。
  • RAM:16 GB LPDDR5 RAM。
  • 存储: 64 GB eMMC 存储,可通过 M.2 连接器使用 NVME Gen.4 外部存储进行扩展。
  • 多媒体编解码器:MAX98091 音频编解码器通过 JMISC 高密度连接器实现音频输入/输出。

连接器概述

ventuno-q-connector-overview.png


VENTUNO Q 具有非常丰富的连接器,包括 3 个专用相机连接器、HDMI、以太网、2x USB-A、40 针 RPi Hat 连接器等。

更多信息请参阅 连接器与扩展端口 部分。

电源概述

ventuno-power-options-2.png


VENTUNO Q 有多种为开发板供电的方式:

  • USB-C® PD(9–20 V,最大 3 A)1
  • 圆口插孔(7–24 V,最大 5 A)
  • 螺丝端子(7–24 V,最大 10 A)

警告:

1 USB 供电要求 至少 9 V(Power Delivery 协商)。仅使用例如 5 V(例如通过电脑 USB 端口)供电不被接受,并将导致 USB 故障(USB 旁红色 LED 闪烁)。此错误不会损坏开发板,断电重启即可消除 LED 闪烁。

建议使用 最大 5 A 的 12/24 V 电源。超过 5 A 会损坏 DC 插孔。

DC 插孔的最大额定值(使用 12/24 V 电源时)为:

  • 12 V × 5 A = 60 W
  • 24 V × 5 A = 120 W

电源安全注意事项

警告:

请仔细阅读这些说明,因为供电不当可能损坏开发板。

请注意,以较低电压为开发板供电时,开发板可汲取的功率会受限。

  • 以 7 V / 5 A 供电时,开发板最大可汲取 35 W。在未连接任何外部电路时,开发板(满载)大约消耗 ~25 W。
  • 请注意,通过例如 USB-A 连接器连接额外外设会增加功耗。更多信息请参阅以下部分。

USB-A 功耗

2 个 USB-A 连接器还可各自提供最高 5 V × 1.71 A = 8.55 W,最大总汲取约 ~17 W。如果开发板以较低电压供电(例如 7 V 5 A),而 USB-A 总共汲取约 17 W,这将损坏插孔。

5 V / 3.3 V 电源轨

+3V3_LIMITED 与 +5V_LIMITED 网络(用于 shields、hats、Qwiic 连接器、UNO 引脚)限制为 2.8 A

  • 3.3 V × 2.8 A = ~9.5 W
  • 5 V × 2.8 A = 14 W

说明:

请注意,carrier 连接器 与 JOMEGA 不属于受限网络,可以汲取更多功率。

VIN 引脚额定值

VIN 引脚的输入电压为 7–24 V,由 1.1 A PTC 保险丝保护(在 24 V 时约限制为 26 W)。由于开发板在 *未* 连接任何外设时大约消耗 25 W~,通过 VIN 引脚为开发板供电 并不理想。

用户功能

引脚图

ABX00181_pinout.png


要查看完整引脚图,请访问以下链接:

数据手册

完整数据手册可从以下链接以 PDF 形式下载:

原理图

完整原理图可从以下链接以 PDF 形式下载:

STEP 文件

完整 STEP 文件可从以下链接下载:

外形尺寸

VENTUNO Q 采用更大的外形尺寸(160 mm x 100 mm),但配备经典 UNO 排针,以确保与官方 Arduino shields 以及社区制作的 shields 兼容*。

  • 这仅指机械与引脚兼容性,而非软件兼容性。


ventuno-q-form-factor.png


开发板净空

警告:

请始终将 VENTUNO Q 安装在随附的支撑柱上。否则,底部外露焊点可能与导电表面短路,从而损坏开发板。

包装中为此附带四个垫片与螺母:在开发板四个角下方各放一个垫片,然后从上方安装孔用螺母固定。

Arduino App Lab

ventuno-app-lab-examples.png


Arduino App Lab 是面向基于 Linux 的 Arduino 开发板的统一开发环境。通过在 Arduino App Lab 中创建并部署 Apps,你可以在 Linux 处理器(Dragonwing™ QCS8275)上运行 Python 脚本,并在 MCU(STM32H5F5)上运行 sketch。

要构建 Apps,可选择多个 Bricks(构建块),其中一些与预配置的 AI 模型配对(可在 Arduino App Lab 中更换)。

初次设置

要开始使用我们的开发板,可以从三种方式中选择。

  • PC 模式 — 使用 Arduino App Lab 桌面应用(macOS/Windows/Linux)通过 USB-C® 连接到 VENTUNO Q
  • 网络模式 — 使用 Arduino App Lab 桌面应用(macOS/Windows/Linux)通过 本地网络 连接到 VENTUNO Q。*
  • 单板电脑(SBC)模式 — 在连接显示器、键盘和鼠标的情况下,直接在 VENTUNO Q 上使用 Arduino App Lab(开发板上预装了 Arduino App Lab)。

为开发板供电

无论你打算如何使用开发板,都需要为其供电:

可通过以下方式为开发板供电:

  • 通过 USB-C® 连接器,使用 9–20 V 输入源(最大 3 A)。*
  • 通过圆口插头连接的外部 +7–24 VDC(最大 5 A)电源。
  • 连接到螺丝端子排的外部 +7–24 VDC 电源(最大 10 A)。
  • 仅在 网络模式 或 单板电脑 模式下可用。

警告:

USB 供电要求 至少 9 V。仅使用例如 5 V(例如通过电脑 USB 端口)供电不被接受,并将导致 USB 故障(USB 旁红色 LED 闪烁)。此错误不会损坏开发板,断电重启即可消除 LED 闪烁。

PC 模式(USB-C®)

说明:

初次设置的完整说明记录在 VENTUNO Q - 初次设置 教程中。

与开发板交互最常见的方式是使用 PC 模式:从电脑通过 USB-C® 或本地网络为开发板编程。

  1. 将 Arduino USB-C Power Supply (65W) 连接到圆口连接器为开发板供电。
  2. 通过 USB-C® 将开发板连接到电脑。

ventuno-setup-pwr-usb.png

  1. 下载 Arduino App Lab 并运行该应用。如果开发板已连接到电脑,它应会出现,点击它以继续。

ventuno-detected.png

  1. 首次启动时,系统会提示你设置 Board Name、Keyboard Language 和 Wi-Fi® 凭据。完成配置并执行所需的开发板更新。

配置与更新完成后,即可在 Arduino App Lab 中运行示例 🚀。

通过选择示例并点击 "Run" 按钮来运行 Apps。


ventuno-launch-app.png


网络模式(本地 Wi-Fi®)

完成首次配置后,如果开发板与 PC 在同一网络上,即可使用 网络模式。要使用网络模式:

  1. 重新启动 Arduino App Lab。
  2. 你的开发板旁应出现一个小的 Wi-Fi® 符号。点击它。

ventuno-network-mode.png

  1. 你需要输入的是 开发板 的密码,而不是网络密码。

输入密码后,即可通过本地 Wi-Fi® 网络使用 Arduino App Lab 为开发板编程!

单板电脑(SBC)模式

说明:

将开发板设置为单板电脑的完整说明记录在 VENTUNO Q - 单板电脑 教程中。

VENTUNO Q 运行完整的 Ubuntu 操作系统,并带有图形用户界面。换句话说:它可以设置为普通电脑,配备鼠标、键盘和显示器。

若要将开发板设置为 单板电脑(SBC),你将需要:


ventuno-sbc-mode.png


  1. 将键盘与鼠标连接到 USB-A 连接器
  2. 通过 HDMI 连接器将显示器连接到开发板
  3. 使用连接到圆口或螺丝端子的电源为开发板供电。
  4. 在首次设置期间,你需要选择一个密码。

选择密码后,你将看到开发板的主屏幕,应如下图所示:


ventuno-ubuntu.png


要启动 Arduino App Lab,请点击导航栏中的图标:


ventuno-sbc-launch-applab.png


程序将启动,然后你就可以在 Arduino App Lab 中运行示例了 🚀。

开机时运行 App

可将 Apps 配置为在 VENTUNO Q 上电时启动。这在部署开发板时非常有用。

  1. 打开你的自定义 App(或示例的副本)。
  2. 在左上角找到 App 名称。
  3. 点击名称旁的箭头(▼)打开菜单。
  4. 将 Run at startup 开关拨到 ON 位置。


run-at-startup-2.png


配置完成后,App 名称旁将出现 DEFAULT 徽章,表示它将在启动时自动运行。

说明:

请注意,内置示例无法在启动时运行,你需要点击 "Copy and Edit App" 按钮才能使用此功能。

高级:使用 CLI

或者,你可以在终端内使用命令行界面(CLI)设置默认 App:

arduino-app-cli properties set default user:<NAME_OF_YOUR_APP>

通过 SSH 或 ADB 访问(终端)

使用开发板的另一种方式是通过 ssh(本地网络)或 adb(通过 USB-C®)访问开发板终端。

请注意,要通过 ssh 访问,需要将开发板连接到 Wi-Fi® 网络,这可通过 Arduino App Lab 完成,或先通过 adb 访问开发板。

说明:

建议在通过 ADB 或 SSH 连接之前先完成 Arduino App Lab 的首次配置,这样你可以为开发板设置密码,并连接到 Wi-Fi® 网络。

通过 ADB 访问

Android Debug Bridge(ADB)用于通过 USB-C® 访问开发板,可安装在 MacOS、Windows 与 Linux 上。

MacOS:

brew install android-platform-tools

Windows:

winget install Google.PlatformTools

Linux:

sudo apt-get install android-sdk-platform-tools

要通过 adb 访问 VENTUNO Q,请打开终端并运行:

adb devices #lists connected devices
adb shell #access the board's shell

进入后,你可以通过终端浏览 Ubuntu 系统。

连接到 Wi-Fi® 网络

要启用 ssh 通信,开发板需要与主机电脑连接到同一网络。要连接到 Wi-Fi® 网络,请使用 nmtui 工具:

sudo nmtui


nmtui.png


通过 SSH 访问

要通过 ssh 访问,开发板需要连接到你的本地网络。要连接网络,可以使用 Arduino App Lab,或通过 adb 访问开发板并运行 sudo nmtui 选择网络。连接后,还可运行 hostname -I 获取开发板 IP 地址(也可在 Arduino App Lab 中查看)。

要连接到开发板:

  1. 在终端中运行 ssh arduino@<ipaddress>
  2. 在要求生成指纹时输入 yes
  3. 输入开发板密码

现在你可以通过 ssh 使用开发板的 shell。

通过 Arduino App CLI 运行 App

借助 Arduino App CLI,我们可以直接从终端启动 Apps。为进行测试,我们使用 blink 示例:

arduino-app-cli app start examples:blink

这应会在开发板上启动该 App,启动后 LED 应开始闪烁。


ventuno-blink.gif


要查看所有已安装 Apps(以及用户 Apps),请运行 arduino-app-cli app list 命令。这将给出完整列表。

Arduino IDE(Beta)

Arduino VENTUNO Q 兼容标准 Arduino IDE,使你能够使用熟悉的 Arduino 语言与生态系统为开发板的微控制器侧(STM32)编程。

说明:

要了解更多关于使用 Arduino IDE 烧录微控制器的信息,请访问 本教程。

板载用户界面

VENTUNO Q 开箱即用,额外提供一套用于板载控制与反馈的用户界面。


ventuno-q-user-overview.png


  • LED Matrix — 8x13 LED 矩阵,用于显示动画、图标、文本等。
  • MCU LEDs — 4x RGB LED,可用于反馈。
  • 电源按钮 — 用于复位开发板。
  • 用户按钮 — 可编程按钮。

LED 矩阵

开发板具有由 MCU 管理的 8×13 蓝色 LED 矩阵。


ventuno-matrix.png


LED 矩阵在 MCU 侧编程,可用于显示动画、图标、数字与文本(滚动格式)。LED 矩阵也可用于创建迷你游戏。

矩阵通过 Arduino_LED_Matrix 控制,提供多种控制方法。该库内置于核心(ArduinoCore-zephyr),并预装在 STM32F5H5 MCU 上。

说明:

要了解更多关于控制 LED 矩阵的信息,请访问 VENTUNO Q LED 矩阵指南。

RGB LED

VENTUNO Q 具有 4 个连接到 STM32 微控制器的 RGB LED。


ventuno-rgb-led-2.png


可像往常一样使用 digitalWrite 函数设置各自 GPIO 的状态来控制它们。

void setup(){
  // Configure the pins as outputs
  pinMode(LED3_R, OUTPUT);
  pinMode(LED3_G, OUTPUT);
  pinMode(LED3_B, OUTPUT);
  // As they are active low, turn them OFF initially
  digitalWrite(LED3_R, HIGH);
  digitalWrite(LED3_G, HIGH);
  digitalWrite(LED3_B, HIGH);
}

void loop(){
  digitalWrite(LED3_R, LOW);  // Turn ON red segment
  digitalWrite(LED3_G, HIGH);
  digitalWrite(LED3_B, HIGH);
  delay(1000);
  digitalWrite(LED3_R, HIGH);
  digitalWrite(LED3_G, LOW);  // Turn ON green segment
  digitalWrite(LED3_B, HIGH);
  delay(1000);
  digitalWrite(LED3_R, HIGH);
  digitalWrite(LED3_G, HIGH);
  digitalWrite(LED3_B, LOW);  // Turn ON blue segment
  delay(1000);
}

要在代码中控制它们,请参考下表:

LED Red Green Blue
LED 1 LED1_R LED1_G LED1_B
LED 2 LED2_R LED2_G LED2_B
LED 3 LED3_R LED3_G LED3_B
LED 4 LED4_R LED4_G LED4_B

说明:

RGB LED 为低电平有效,这意味着逻辑 '0' 时点亮。

电源按钮

VENTUNO Q 具有可用于重启开发板的 电源按钮。


ventuno-power-button.png


  • 长按:按下按钮 10+ 秒时,开发板将完全关机。在断开并重新接通电源之前,它将保持关闭。

说明:

开发板上电后会自动启动,无需按电源按钮。

用户按钮

ventuno-user-button.png


VENTUNO Q 上的 用户按钮 连接到 Dragonwing™ QCS8275 上的 GPIO_79。

可使用 gpiod 访问该按钮。快速测试时,在开发板终端(通过 adb 或 ssh 访问)运行以下命令:

gpiomon gpiochip2 79

你应看到类似如下内容:


user-button-ss.png


用户按钮示例脚本

你也可以编写 Python 脚本来访问用户按钮。

  1. 创建虚拟环境:python3 -m venv /path/to/venv
  2. 激活虚拟环境:source /path/to/venv/bin/activate
  3. 安装 gpiod:pip install gpiod
  4. 通过运行 nano user-button.py 创建 Python 脚本,并将下面示例中的代码添加到脚本中。
  5. 保存脚本(在编辑模式下按 CTRL+X)。
  6. 使用 python3 user-button.py 运行它

说明:

你也可以使用 --verbose 标志运行此脚本,例如 python3 user-button.py --verbose,以显示有关按钮点击的更多数据。

user-button.py

import gpiod
import argparse
import sys
from gpiod.line import Direction, Edge, Bias

def main():
    parser = argparse.ArgumentParser(description="Monitor GPIO 79 Pushbutton")
    parser.add_argument('-v', '--verbose', action='store_true',
                        help="Print detailed event timestamps and types")
    args = parser.parse_args()

    CHIP_PATH = "/dev/gpiochip2"
    LINE_OFFSET = 79

    try:
        with gpiod.request_lines(
            CHIP_PATH,
            consumer="button-monitor",
            config={
                LINE_OFFSET: gpiod.LineSettings(
                    direction=Direction.INPUT,
                    edge_detection=Edge.BOTH,
                    bias=Bias.PULL_UP
                )
            },
        ) as request:

            if args.verbose:
                print(f"DEBUG: Monitoring {CHIP_PATH} line {LINE_OFFSET}")
                print("DEBUG: Waiting for events...")
            else:
                print("Ready! Press the button.")

            while True:
                # Wait for events
                if request.wait_edge_events():
                    for event in request.read_edge_events():

                        # VERBOSE MODE: Print everything
                        if args.verbose:
                            print(f"DEBUG Event: {event.event_type} | Timestamp: {event.timestamp_ns}ns")

                        # REGULAR MODE: Only print on "Falling" edge (the press)
                        else:
                            if event.event_type == gpiod.EdgeEvent.Type.FALLING_EDGE:
                                print("Button Pressed!")

    except PermissionError:
        print("Error: Permission denied. Try running with 'sudo'.")
    except KeyboardInterrupt:
        print("\nExiting...")
    except Exception as e:
        print(f"Unexpected Error: {e}")

if __name__ == "__main__":
    main()


user-button-ss-2.png


UNO 排针

VENTUNO Q 顶部具有经典 UNO 风格排针,可用于原型制作与调试。它们具有旧版 UNO 中熟悉的数字与模拟排针,从而与基于 UNO 外形的 shields 向后兼容。

数字引脚

通过 UNO 排针可使用来自 MCU 的 22 个数字引脚(D0–D21),功能如下:

MCU Pin UNO Header Pin Functionality
PB11 D0 / RX GPIO / UART RX
PB10 D1 / TX GPIO / UART TX
PB0 D2 GPIO
PB1 D3 GPIO / OPAMP OUT
PB6 D4 / FDCAN2_TX GPIO / CAN Bus TX
PB5 D5 / FDCAN2_RX GPIO / CAN Bus RX
PB2 D6 GPIO
PB3 D7 GPIO
PB4 D8 GPIO
PB7 D9 GPIO
PB12 D10 / SS GPIO / SPI CS
PB15 D11 / MOSI GPIO / SPI MOSI
PB14 D12 / MISO GPIO / SPI MISO
PB13 D13 / SCK GPIO / SPI SCK
PA4 D14 / A0 / DAC0 GPIO / ADC / DAC
PA5 D15 / A1 / DAC1 GPIO / ADC / DAC
PE12 D16 / A2 GPIO / ADC / OPAMP IN +
PE13 D17 / A3 GPIO / ADC / OPAMP IN -
PE14 D18 / A4 GPIO / ADC
PE15 D19 / A5 GPIO / ADC
PH12 D20 GPIO / I2C SDA
PH11 D21 GPIO / I2C SCL

说明:

请注意,引脚 D14 到 D19 也具有模拟功能。

VENTUNO Q 的数字引脚可通过 Arduino 编程语言的内置函数用作输入或输出。

数字引脚的配置在 setup() 函数中使用内置函数 pinMode() 完成,如下所示:

// Pin configured as an input
pinMode(pin, INPUT);
// Pin configured as an output
pinMode(pin, OUTPUT);
// Pin configured as an input, internal pull-up resistor enabled
pinMode(pin, INPUT_PULLUP);

配置为输入的数字引脚状态可使用内置函数 digitalRead() 读取,如下所示:

// Read pin state, store value in a state variable
state = digitalRead(pin);

配置为输出的数字引脚状态可使用内置函数 digitalWrite() 更改,如下所示:

// Set pin on
digitalWrite(pin, HIGH);
// Set pin off
digitalWrite(pin, LOW);

说明:

要了解更多,请访问 VENTUNO Q 微控制器示例 - 数字 I/O。

模拟引脚

VENTUNO Q 在 JANALOG 连接器上具有 6 个模拟引脚,包含 6x ADC 通道、2x DAC 通道与运放。

说明:

引脚 A0–A5 可用作 GPIO,但不能与其他功能同时使用。

模数转换器(ADC)

在 JANALOG 连接器上,VENTUNO Q 有 6 个 12 位 ADC 引脚,映射如下:

Microcontroller Pin Arduino Pin Mapping Pin Functionality
PA4 A0 GPIO / ADC / DAC
PA5 A1 GPIO / ADC / DAC
PE12 A2 GPIO / ADC / OPAMP IN + / SPI SCK
PE13 A3 GPIO / ADC / OPAMP IN - / SPI MISO
PE14 A4 GPIO / ADC / SPI MOSI
PE15 A5 GPIO / ADC

模拟输入引脚可通过 Arduino 编程语言的内置函数使用。

VENTUNO Q ADC 分辨率 可使用 analogReadResolution(bits) 函数配置为 12、10 或 8 位:

  // ADC resolution set to 12-bit (0 to 4095)
  analogReadResolution(12);

默认 ADC 电压参考 为 3.3V,可通过软件使用函数 analogReference() 与以下参数更改:

Analog Voltage Reference (V_REF+) Argument Source
1.5 V AR_INTERNAL1V5 Internal
1.8 V AR_INTERNAL1V8 Internal
2.048 V AR_INTERNAL2V05 Internal
2.5 V AR_INTERNAL2V5 Internal
2 V ~ VDD AR_EXTERNAL External

说明:

使用 AR_EXTERNAL 参考时,可通过 AREF 引脚提供外部电压参考。

要将模拟参考设置为与默认不同的值,请参见以下示例:

analogReference(AR_INTERNAL2V5);

说明:

要了解更多,请访问 VENTUNO Q 微控制器示例 - ADC。

数模转换器(DAC)

VENTUNO Q 有两个 DAC 输出,映射如下:

Microcontroller Pin Arduino Pin Mapping Pin Functionality
PA4 DAC0 GPIO / ADC / DAC
PA5 DAC1 GPIO / ADC / DAC

VENTUNO Q 的数模转换器可通过 Arduino 编程语言的内置函数输出模拟电压。

可使用 analogWriteResolution() 函数将 DAC 输出分辨率配置为 8 到 12 位,如下所示:

// DAC resolution set to 12-bit (0 to 4095)
analogWriteResolution(12);  // enter the desired resolution in bits (8, 10, 12)

警告:

警告: ADC 与 DAC 不能同时使用。

说明:

要了解更多,请访问 VENTUNO Q 微控制器示例 - DAC。

PWM 引脚

VENTUNO Q 有 6 个 PWM(脉冲宽度调制)引脚,映射如下:

Microcontroller Pin Arduino Pin Mapping Pin Functionality
PB1 D3 GPIO / PWM
PB5 D5 GPIO / PWM
PB2 D6 GPIO / PWM
PB7 D9 GPIO / PWM
PB12 D10 GPIO / PWM
PB15 D11 GPIO / PWM

此功能可与内置函数 analogWrite() 一起使用,如下所示:

analogWrite(pin, value);

默认情况下,输出分辨率为 8 位,因此输出值应在 0 到 255 之间。要设置更高分辨率,请使用内置函数 analogWriteResolution,如下所示:

// PWM resolution set to 10-bit (0 to 4095)
analogWriteResolution(10);

说明:

要了解更多,请访问 VENTUNO Q 微控制器示例 - PWM。

连接器与扩展端口

USB-C 连接器

VENTUNO Q 具有 USB-C 连接器,用途不仅限于为开发板编程与供电。


ventuno-usb.png


下表列出了扩展 VENTUNO Q 能力的 USB-C 连接器主要特性。

Feature Description
USB Power (Sink) Receive power, 9-20 VDC 3 A (PD)
USB Power (Source) Provide power, 5 VDC 3 A (15 W)
USB Standard USB 3.1 Gen 1 (5 Gb/s)
Display over USB-C DisplayPort

说明:

开发板也可为 USB-C® 外设供电,即支持双角色供电(DRP)规范。开发板可通过其 USB-C® 端口接收与提供电源。

通过使用 USB-C 扩展坞(适配器/集线器),你还可以利用以下功能:

Feature Description
Video Output HDMI support
Video Input USB camera support
Audio USB or 3.5mm headset (speaker + microphone)
Ethernet Internet through Ethernet supported
HID USB keyboard/mouse and other HID devices
Storage External microSD card or USB drive support

USB-A 连接器

VENTUNO Q 具有两个高速 USB 3.0 Type-A 端口,提供熟悉的接口,可将多种标准外设直接连接到 Dragonwing™ QCS8275。

在将开发板用作 SBC 时,此连接器非常适合连接鼠标与键盘,或通过 USB 轻松集成相机。


ventuno-usb-a.png


下表列出了集成到 VENTUNO Q 中的 USB-A 连接器主要特性。

Feature Description
USB Standard USB 3.0 (SuperSpeed)
Data Rate Up to 5 Gb/s
Quantity 2x Type-A Ports (plus 2x via header)

利用这些端口,你可以原生支持各类硬件以扩展边缘 AI 应用:

Feature Description
Camera Input USB 3.0 High-definition camera support
Audio USB Soundcards and USB headsets
HID Keyboard, mouse, and game controllers
Storage External USB flash drives or SSDs
Serial/COM Programming other boards or sensor modules

Qwiic

VENTUNO Q 具有板载 Qwiic 连接器,为连接 I²C 设备提供简单、免工具的方案。由 SparkFun Electronics 开发的 Qwiic 生态系统已成为使用 I²C 设备快速原型开发的行业标准,使你无需焊接或复杂接线即可连接传感器、显示器和其他外设。


ventuno-qwiic.png


Qwiic 系统的主要优势包括:

  • 即插即用连接:无需面包板、跳线或焊接
  • 极性连接器:防止意外反接
  • 菊花链能力:串联连接多个设备
  • 内置上拉电阻:无需外部电阻
  • 标准引脚定义:与所有 Qwiic 生态系统设备兼容

说明:

VENTUNO Q 上的 Qwiic 连接器连接到辅助 I2C 总线(I2C4),使用 Wire1 对象而非 Wire 对象。请注意,Qwiic 连接器仅为 3.3 V。

Qwiic 连接器使你能够连接我们的 Modulino 节点,以开发免焊接项目。


ventuno-modulino-2.png


以太网连接器

VENTUNO Q 具有高性能 2.5 Gbps RJ45 以太网端口,为多路视频流或本地服务器通信等高带宽边缘 AI 任务提供超快有线网络能力。


ventuno-ethernet.png


网络子系统由专用 QCA-8081 PHY 与 TRJT9010A98NL 连接器驱动,确保稳定的工业级连接。

Feature Description
Interface RJ45 (8P8C)
Maximum Speed 2.5 Gbit/s (NBASE-T)
Controller/PHY Qualcomm QCA-8081
Compatibility 10/100/1000/2500 Mbps auto-negotiation

借助高速以太网端口,VENTUNO Q 可用于:

Feature Description
High-Speed Uplink Rapid data transfer to local servers or NAS
Low Latency Real-time control in industrial environments
Video Streaming Low-latency IP camera (RTSP/ONVIF) processing
Network Boot Potential for PXE or network-based deployments
Secure Gateway Acting as a secure edge AI firewall/gateway

HDMI

ventuno-hdmi.png


VENTUNO Q 具有垂直安装在开发板上的全尺寸 HDMI Type A 连接器,直接连接到 Qualcomm Dragonwing™ QCS8275。它与位于 JMEDIA 排针上的 MIPI-DSI 连接器复用,意味着同一时间只能有一个显示输出(HDMI 或 MIPI-DSI)处于活动状态。

该连接器承载三对 TMDS 差分数据对(TX0–TX2)外加差分时钟,实现高质量数字视频与音频输出。它还包括用于从已连接显示器读取 EDID 数据的 DDC/I2C 线(SCL/SDA)、用于通过 HDMI 链路控制设备的 CEC 线,以及 5 V 热插拔检测信号(500 mA 聚合物保险丝保护)。

Feature Description
Type HDMI Type A (19-pin)
Video signal 3× TMDS differential pairs + clock
DDC / EDID I²C (SCL / SDA) for display identification
CEC Yes (Consumer Electronics Control)
Hot-plug detect Yes (5 V, 500 mA polyfuse protected)
ESD protection Yes (TVS diodes on data and HPD lines)

M.2 连接器

ventuno-m2-connector.png


VENTUNO Q 具有通过 PCIe Gen 4 x4 接口提供高速存储扩展的 M-key M.2 插槽,直接连接到 Qualcomm Dragonwing™ QCS8275。这使开发板的 64 GB eMMC 基础存储可以通过快速 NVMe 驱动器补充或超越。

连接额外内存后,它将在 Linux 环境中可用。

该连接器暴露四对 PCIe Gen 4 差分 TX/RX 通道、参考时钟、标准 PCIe 控制信号(WAKE、CLKREQ、RST),以及用于设备管理的 SMBus 接口。

Feature Description
Key type M-key
Interface PCIe Gen 4 x4
SMBus Yes (device management)
Power rails 3.3 V, 1.8 V

警告:

警告: 连接任何外部设备时,请确保 VENTUNO Q 已断电。

兼容设备

M.2 M-key 插槽仅兼容 2230 外形的 NVMe SSD。安装支撑柱针对 2230 模块定位,因此更大的驱动器(2242、2260、2280)无法用固定螺钉固定。

Form Factor Dimensions Common Use
2230 22 mm × 30 mm Compact NVMe SSDs

注意:

M-key 插槽仅支持 PCIe(NVMe) 驱动器。基于 SATA 的 M.2 驱动器 不 兼容。

RPi 40 针排针

开发板具有 40 针公头排针,便于与 RPi "hats" 集成。这些引脚通过电平转换器连接在 MPU(1.8 V)与排针(3.3 V)之间,连接到 Dragonwing™ QCS8275。


ventuno-rpi-connector.png


请注意,该排针具有 2 个 5V 引脚 以匹配 RPi hat 标准。手动连接任何跳线时请谨慎,因为开发板同时使用 5 V 与 3.3 V。

该排针具有 28 个已连接的 GPIO,列表如下:

Pin No. Dragonwing™ QCS8275 (MPU) Function
1 - +3V3
2 - +5V
3 MD_GPIO_17 SE0_SDA
4 - +5V
5 MD_GPIO_18 SE0_SCL
6 - GND
7 MD_GPIO_83 GPIO
8 MD_GPIO_86 SE2_TX
9 - GND
10 MD_GPIO_87 SE2_RX
11 MD_GPIO_85 SE2_RFR
12 MD_GPIO_116 I2S1_SCK
13 MD_GPIO_109 GPIO
14 - GND
15 MD_GPIO_90 GPIO
16 MD_GPIO_105 GPIO
17 - +3V3
18 MD_GPIO_106 GPIO
19 MD_GPIO_26 SE3_MOSI
20 - GND
21 MD_GPIO_25 SE3_MISO
22 MD_GPIO_107 GPIO
23 MD_GPIO_27 SE3_SCK
24 MD_GPIO_28 SE3_CS
25 - GND
26 MD_GPIO_88 GPIO
27 MD_GPIO_19 SE1_SDA
28 MD_GPIO_20 SE1_SCL
29 MD_GPIO_89 GPIO
30 - GND
31 MD_GPIO_80 GPIO
32 MD_GPIO_77 GPIO
33 MD_GPIO_81 GPIO
34 - GND
35 MD_GPIO_117 I2S1_WS
36 MD_GPIO_84 SE2_CTS
37 MD_GPIO_108 GPIO
38 MD_GPIO_118 I2S1_DATA0
39 - GND
40 MD_GPIO_119 I2S1_DATA1

注意:

请注意,在使用 Bluetooth® 时,以下引脚在 JHAT 上不可用,既不能用作 UART,也不能用作 GPIO:

  • 引脚 8(UART TX,MD_GPIO_86)
  • 引脚 10(UART RX,MD_GPIO_87)
  • 引脚 11(UART RFR,MD_GPIO_85)
  • 引脚 36(UART CTS,MD_GPIO_84)

这四个引脚为 JHAT 连接器电平转换为 3.3 V,但在 1.8 V 侧(转换前)它们与 MPU 和板载 Wi-Fi®/Bluetooth® 模块之间使用的 UART(包括流控)共享。只要 Bluetooth® 处于活动状态,此 UART 链路就会占用全部四个引脚,使其无法用于外部 HAT。

MIPI / CSI 相机

说明:

更多详情与现成脚本,请访问 VENTUNO Q MIPI-CSI 相机指南。


ventuno-camera-connector.png


说明:

注意: 目前仅支持 IMX577 相机模块。

VENTUNO Q 具有 三个专用 MIPI CSI-2 相机连接器(CAMERA0、CAMERA1、CAMERA2),每个都由 Dragonwing™ QCS8275 内的 Qualcomm Spectra 692 ISP 驱动。这允许同时连接最多三个独立相机,用于立体视觉、360° 采集或多角度目标检测等多相机边缘 AI 应用。

每个连接器都是 22 针 FPC 连接器(TF31-22S-0.5SH,0.5 mm 间距),承载完整的 4-lane MIPI CSI-2 接口、I²C 控制总线、一条 GPIO 控制线以及 3.3 V 电源轨。所有高速数据通道(RCLAMP0524TCT)以及电源与 I²C 线(DF2B7ASL,L3F)均提供 ESD 保护。

Connector Label Interface Control Power
J3_1 CAMERA2 MIPI CSI-2 4-lane I²C4 + 1× GPIO (3.3 V) 3.3 V
J3_3 CAMERA1 MIPI CSI-2 4-lane I²C2 + 1× GPIO (3.3 V) 3.3 V
J3_2 CAMERA0 MIPI CSI-2 4-lane I²C0 + 1× GPIO (3.3 V) 3.3 V

每个连接器上的 GPIO 线(引脚 17)通常用于相机复位与电源使能控制。I²C 总线(SCL/SDA,3.3 V)用于配置相机传感器寄存器。

安装 Gstreamer

要使用通过 MIPI/CSI 连接的相机,我们需要使用特定版本的 gstreamer,更具体地说是 gstreamer1.0-plugins-qcom。

要安装此包,请在开发板上打开 shell(通过 ssh、adb 或在 SBC 模式下打开终端),然后安装该包。

sudo apt update 
sudo apt upgrade -y
sudo apt install gstreamer1.0-plugins-qcom -y

将相机连接到开发板,安装后 重启 开发板。然后在开发板上打开新的 shell,并运行:

sudo dmesg | grep Probe

你应看到类似如下内容:

[   28.182686] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 1250: Probe failed for cmk_imx577 slot:23, slave_addr:0x34, sensor_id:0x577
[   28.213671] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 1250: Probe failed for cmk_imx577 slot:24, slave_addr:0x34, sensor_id:0x577
[   28.231128] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 1250: Probe failed for cmk_imx577 slot:25, slave_addr:0x34, sensor_id:0x577
[   28.268640] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 1290: Probe success for cmk_imx577 slot:26,slave_addr:0x34,sensor_id:0x577
[   28.688703] CAM_INFO: CAM-SENSOR: cam_sensor_driver_cmd: 1250: Probe failed for cmk_imx577 slot:27, slave_addr:0x34, sensor_id:0x577

查找 Probe success 行(在此例中为第 4 条)。

这意味着相机已被识别并正在工作。

录制视频

完成上述步骤后,我们现在可以测试录制视频流。

运行以下命令。这将开始录制。用 CTRL + C 结束录制。视频文件将位于运行该命令的同一目录中(或由 location 标志另行指定)。

gst-launch-1.0 -e qtiqmmfsrc camera=0 name=camsrc video_0::type=preview ! video/x-raw,format=NV12_Q08C,width=3840,height=2160,framerate=30/1,interlace-mode=progressive,colorimetry=bt601 ! queue ! v4l2h264enc capture-io-mode=4 output-io-mode=5 ! h264parse ! mp4mux ! queue ! filesink location=capture.mp4

在开发板上实时预览

要设置简单的相机实时预览,可使用以下 Python 脚本。

注意:

请注意,使用此示例需要通过 HDMI 将显示器连接到 VENTUNO Q。

import os
import signal
import sys
import time

# Must be set before GStreamer/Wayland touches the display — do this first,
# so the script works whether it's launched from the graphical session or
# from a plain SSH/serial shell that never inherited these.
os.environ.setdefault("XDG_RUNTIME_DIR", f"/run/user/{os.getuid()}")
os.environ.setdefault("WAYLAND_DISPLAY", "wayland-0")

import gi

gi.require_version("Gst", "1.0")
from gi.repository import Gst, GLib

_wayland_socket = os.path.join(
    os.environ["XDG_RUNTIME_DIR"], os.environ["WAYLAND_DISPLAY"]
)
HAS_DISPLAY = os.path.exists(_wayland_socket)

if HAS_DISPLAY:
    _SINK = "waylandsink name=sink sync=false"
else:
    print(
        f"no wayland compositor socket at {_wayland_socket} — "
        "running headless, dropping frames via fakesink instead of displaying them",
        file=sys.stderr,
    )
    _SINK = "fakesink name=sink sync=false"

PIPELINE_DESC = (
    "qtiqmmfsrc camera=0 name=camsrc video_0::type=preview ! "
    "video/x-raw,format=NV12_Q08C,width=1920,height=1080,framerate=30/1,"
    "interlace-mode=progressive,colorimetry=bt601 ! "
    "queue ! v4l2h264enc capture-io-mode=4 output-io-mode=5 ! h264parse ! "
    "v4l2h264dec ! video/x-raw,format=NV12 ! "
    f"queue ! {_SINK}"
)

PRINT_INTERVAL_S = 1.0

def main():
    Gst.init(None)
    pipeline = Gst.parse_launch(PIPELINE_DESC)
    sink = pipeline.get_by_name("sink")
    sinkpad = sink.get_static_pad("sink")

    last_print = [0.0]

    def on_probe(pad, info):
        buf = info.get_buffer()
        if buf is None or buf.pts == Gst.CLOCK_TIME_NONE:
            return Gst.PadProbeReturn.OK

        now_wall = time.monotonic()
        if now_wall - last_print[0] < PRINT_INTERVAL_S:
            return Gst.PadProbeReturn.OK
        last_print[0] = now_wall

        clock = pipeline.get_clock()
        if clock is None:
            return Gst.PadProbeReturn.OK
        running_time = clock.get_time() - pipeline.get_base_time()
        latency_ms = (running_time - buf.pts) / 1e6
        print(f"latency (capture -> encode -> decode -> display): {latency_ms:.2f} ms")
        return Gst.PadProbeReturn.OK

    sinkpad.add_probe(Gst.PadProbeType.BUFFER, on_probe)

    loop = GLib.MainLoop()

    def on_bus_message(bus, message):
        t = message.type
        if t == Gst.MessageType.ERROR:
            err, debug = message.parse_error()
            print(f"gst error: {err} ({debug})", file=sys.stderr)
        elif t == Gst.MessageType.EOS:
            loop.quit()
        return True

    bus = pipeline.get_bus()
    bus.add_signal_watch()
    bus.connect("message", on_bus_message)

    def shutdown():
        print("\nstopping...")
        pipeline.set_state(Gst.State.NULL)
        loop.quit()
        return GLib.SOURCE_REMOVE

    GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, shutdown)

    pipeline.set_state(Gst.State.PLAYING)
    try:
        loop.run()
    finally:
        pipeline.set_state(Gst.State.NULL)

if __name__ == "__main__":
    main()

运行示例后,你应在终端中看到日志(延迟),并且显示器上应出现画面。


ventuno-camera-stream-mipi-csi.png


CAN-FD

开发板支持控制器局域网灵活数据速率(CAN-FD)协议,并带有专用螺丝端子(CAN-H 与 CAN-L)。

开发板具有连接到 STM32H5F5 的 ATA6563 CAN 收发器(物理层 / PHY)。STM32H5F5 有三个 FDCAN 接口,可通过多路复用选项将它们路由到物理 CAN 收发器。

CAN 总线在 Linux OS 中访问,后者通过处理 CAN 通信的预装固件与 MCU 交互。这意味着无需用户 sketch 即可与 CAN 总线接口。

要与 CAN 总线交互,请先在 shell 中使用以下命令进行设置(例如使用 adb 或 ssh,或直接在开发板上使用终端):

安装 can-utils:

sudo apt-get update
sudo apt-get install can-utils

配置 CAN 总线:

sudo ip li set can0 down # the interface must be down to configure it
sudo ip li set can0 type can bitrate 500000 # CAN 2.0
sudo ip link set can0 type can bitrate 500000 dbitrate 2000000 fd on # CAN-FD (Flexible Data-Rate)
sudo ip li set can0 up

说明:

注意: CAN 物理比特率上限为 5 Mbps。

要向总线发送消息,请使用以下格式:

cansend <device> <can_frame>
  • <device> 可以是:can0、can1 或 can2。(can0 是通过螺丝端子(PHY)暴露的那个)
  • <can_frame> 遵循以下结构:
Structure Note
<can_id>#{data} for Classical CAN 2.0 data frames
<can_id>#R{len} for Classical CAN 2.0 data frames
<can_id>#{data}_{dlc} for Classical CAN 2.0 data frames
<can_id>#R{len}_{dlc} for Classical CAN 2.0 data frames
<can_id>##<flags>{data} for CAN FD frames

发送示例:

cansend can0 123#DEADBEEF

要监听 CAN 总线,请使用:

candump can0

螺丝端子引脚定义

螺丝端子引脚通过 FDCAN1_RX 与 FDCAN1_TX 直接连接到 CAN_PHY(ATA6563)。

Screw Terminal Description CAN PHY MCU Pins
CAN-H CAN High Bus FDCAN1_RX PD0
CAN-L CAN Low Bus FDCAN1_TX PD1

CAN 接口

CAN Bus MCU Pin JOMEGA Header Pin Note
FDCAN1_TX PD0\* \*Exposed via Screw Terminal
FDCAN1_RX PD1\* \*Exposed via Screw Terminal
FDCAN1_TX PD5 Pin 86 Shared Bus
FDCAN1_RX PI9 Pin 88 Shared Bus
FDCAN2_TX PA10 Pin 92
FDCAN2_RX PD9 Pin 94
FDCAN3_TX PF6 Pin 98
FDCAN3_RX PF7 Pin 100

CAN 收发器连接

Pin No. Transceiver Pin Signal Connection Logic Level
1 TXD CAN TX MCU PD1 3.3 V
2 GND Ground GND -
3 VCC Power +5 V -
4 RXD CAN RX MCU PD0 3.3 V
5 VIO MCU Voltage Reference 3.3 V
6 CANL CAN Low Screw Terminal Bus Level
7 CANH CAN High Screw Terminal Bus Level
8 STBY Standby MCU PI11 3.3 V
9 GND Ground GND -


ventuno-can-fd-connector.png


UNO Carrier 排针 / 连接器

开发板具有一套独特的排针,可扩展开发板功能。

JMEDIA

ventuno-jmedia.png


JMEDIA 连接器位于开发板底部,工作于 1.8V。连接器上的引脚直接连接到 Dragonwing™ QCS8275,引脚表见下。此连接器主要用于配合配件扩展开发板功能。

JMEDIA Pin Signal (Dragonwing™ QCS8275) GPIO
Pin 1 GND
Pin 2 GND
Pin 3 MIPI_DSI0_CLK_M
Pin 4 MIPI_DSI0_L1_P
Pin 5 MIPI_DSI0_CLK_P
Pin 6 MIPI_DSI0_L1_M
Pin 7 GND
Pin 8 GND
Pin 9 MIPI_DSI0_L2_M
Pin 10 MIPI_DSI0_L0_P
Pin 11 MIPI_DSI0_L2_P
Pin 12 MIPI_DSI0_L0_M
Pin 13 GND
Pin 14 GND
Pin 15 MIPI_DSI0_L3_M
Pin 16 SOC_CAM_MCLK0 GPIO_67
Pin 17 MIPI_DSI0_L3_P
Pin 18 SOC_CAM_MCLK1 GPIO_68
Pin 19 GND
Pin 20 GND
Pin 21 CSI0_C0_LN0_M
Pin 22 CCI_I2C2_SDA1 GPIO_59
Pin 23 CSI0_B0_LN0_P
Pin 24 CCI_I2C2_SCL1 GPIO_60
Pin 25 GND
Pin 26 GND
Pin 27 CSI0_B1_LN1_M
Pin 28 CSI1_B2_LN3_P
Pin 29 CSI0_A1_LN1_P
Pin 30 CSI1_C2_LN3_M
Pin 31 GND
Pin 32 GND
Pin 33 CSI0_A0_CLK_M
Pin 34 CSI1_C1_LN2_P
Pin 35 CSI0_NC_CLK_P
Pin 36 CSI1_A2_LN2_M
Pin 37 GND
Pin 38 GND
Pin 39 CSI0_A2_LN2_M
Pin 40 CSI1_NC_CLK_P
Pin 41 CSI0_C1_LN2_P
Pin 42 CSI1_A0_CLK_M
Pin 43 GND
Pin 44 GND
Pin 45 CSI0_C2_LN3_M
Pin 46 CSI1_A1_LN1_P
Pin 47 CSI0_B2_LN3_P
Pin 48 CSI1_B1_LN1_M
Pin 49 GND
Pin 50 GND
Pin 51 CCI_I2C0_SCL1 GPIO_58
Pin 52 CSI1_B0_LN0_P
Pin 53 CCI_I2C0_SDA1 GPIO_57
Pin 54 CSI1_C0_LN0_M
Pin 55 GND
Pin 56 GND
Pin 57 VIN (IN, 1.5 A max)
Pin 58 +3V3 (OUT)
Pin 59 VIN (IN, 1.5 A max)
Pin 60 +3V3 (OUT)

JMISC

ventuno-jmisc.png


JMISC 排针连接到开发板上的多个关键组件,包括:

  • STM32H5F5(MCU)
  • Dragonwing™ QCS8275(MPU)
  • 音频编解码器(MAX98091)

此连接器也用于扩展开发板功能,并在连接 carrier 时配合使用。

JMISC Pin Signal GPIO / Function
Pin 1 MCU_PSSI_D0 PA9
Pin 2 MCU_TRACE_CLK PE2
Pin 3 MCU_PSSI_D1 PC7
Pin 4 MCU_TRACE_D0 PE3
Pin 5 MCU_PSSI_D2 PC8
Pin 6 MCU_TRACE_D1 PE4
Pin 7 MCU_PSSI_D3 PE1
Pin 8 MCU_TRACE_D2 PE5
Pin 9 MCU_PSSI_D4 PC11
Pin 10 MCU_TRACE_D3 PE6
Pin 11 MCU_PSSI_D5 PD3
Pin 12 MCU_USART2_RX PE7
Pin 13 MCU_PSSI_D6 PF4
Pin 14 MCU_USART2_TX PE8
Pin 15 MCU_PSSI_D7 PI7
Pin 16 MCU_I2C2_SCL PF1
Pin 17 MCU_PSSI_PDCK PA6
Pin 18 MCU_I2C2_SDA PF0
Pin 19 MCU_PSSI_RDY PI5
Pin 20 MCU_GPIO_PA0 PA0
Pin 21 MCU_PSSI_DE PH8
Pin 22 MCU_GPIO_PA1 PA1
Pin 23 MCU_UART4_RX PA11
Pin 24 MCU_GPIO_PA2 PA2
Pin 25 MCU_UART4_TX PA12
Pin 26 GND
Pin 27 GND
Pin 28 EAR_P
Pin 29 MIC_IN+
Pin 30 EAR_M
Pin 31 MIC_IN-
Pin 32 LINEOUT_P
Pin 33 MIC_BIAS
Pin 34 LINEOUT_M
Pin 35 GND
Pin 36 HPH_L
Pin 37 SOC_GPIO_10_SE0 MISO
Pin 38 HPH_R
Pin 39 SOC_GPIO_11_SE0 MOSI
Pin 40 HPH_REF
Pin 41 SOC_GPIO_12_SE0 SCK
Pin 42 HS_DET
Pin 43 SOC_GPIO_13_SE0 CS0
Pin 44 GND
Pin 45 SOC_GPIO_15_SE0 CS2
Pin 46 SOC_GPIO_120 I2S2_SCK
Pin 47 SOC_GPIO_14_SE0 CS1
Pin 48 SOC_GPIO_121 I2S2_WS
Pin 49 SOC_GPIO_73
Pin 50 SOC_GPIO_122 I2S2_DATA0
Pin 51 SOC_GPIO_74
Pin 52 SOC_GPIO_123 I2S2_DATA1
Pin 53 +3V3 (OUT)
Pin 54 +5V USB (OUT)
Pin 55 +3V3 (OUT)
Pin 56 +5V USB (OUT)
Pin 57 +1V8 (OUT)
Pin 58 GND
Pin 59 SOC_VCOIN (IN) MCU_VBAT
Pin 60 NC

注意:

引脚 59(SOC_VCOIN / MCU_VBAT)是 RTC 备份电池输入,可接受最高 3.3 V 的电池。它仅为 MPU 与 MCU 上的实时时钟供电,以便在开发板断电时保持时间——此处的 "backup" 并非指为开发板其余部分提供备用电源。预期电流消耗非常低。

JOMEGA 扩展排针

ventuno-jomega.png


JOMEGA 排针是连接到开发板上多个组件的高级 100 针高密度连接器:

  • USB 主机控制器(TUSB7340)
  • STM32H5F5(MCU)
  • Dragonwing™ QCS8275(MPU)
  • 音频编解码器(MAX98091)

该排针设计用于向配件扩展功能,具有专用于 USB、SPI 与 CAN 通信以及 JTAG 的引脚。以下是用于熟悉该排针的引脚表:

JOMEGA Pin Signal GPIO / Function
Pin 1 VIN (IN)
Pin 2 GND
Pin 3 VIN (IN)
Pin 4 GND
Pin 5 VIN (IN)
Pin 6 GND
Pin 7 VIN (IN)
Pin 8 GND
Pin 9 VIN (IN)
Pin 10 GND
Pin 11 VIN (IN)
Pin 12 GND
Pin 13 VIN (IN)
Pin 14 GND
Pin 15 GND
Pin 16 GND
Pin 17 GND
Pin 18 USB1_SS_TX_P
Pin 19 GND
Pin 20 USB1_SS_TX_N
Pin 21 GND
Pin 22 GND
Pin 23 GND
Pin 24 USB1_HS_D_P
Pin 25 GND
Pin 26 USB1_HS_D_N
Pin 27 GND
Pin 28 GND
Pin 29 GND
Pin 30 USB1_SS_RX_P
Pin 31 GND
Pin 32 USB1_SS_RX_N
Pin 33 GND
Pin 34 GND
Pin 35 GND
Pin 36 USB2_SS_TX_P
Pin 37 GND
Pin 38 USB2_SS_TX_N
Pin 39 MCU_GPIO_PC0
Pin 40 GND
Pin 41 MCU_GPIO_PC1
Pin 42 USB2_HS_D_P
Pin 43 MCU_GPIO_PC2
Pin 44 USB2_HS_D_N
Pin 45 MCU_GPIO_PC3
Pin 46 GND
Pin 47 MCU_GPIO_PD12
Pin 48 USB2_SS_RX_P
Pin 49 MCU_GPIO_PD13
Pin 50 USB2_SS_RX_N
Pin 51 MCU_GPIO_PD14
Pin 52 GND
Pin 53 MCU_GPIO_PD15
Pin 54 USB1_PWRON
Pin 55 MCU_GPIO_PI2
Pin 56 USB1_OVERCUR
Pin 57 MIC2_IN+
Pin 58 USB2_PWRON
Pin 59 MIC2_IN-
Pin 60 USB2_OVERCUR
Pin 61 MIC2_BIAS
Pin 62 MISO GPIO_39
Pin 63 JTAG_TMS
Pin 64 MOSI GPIO_40
Pin 65 JTAG_TDO
Pin 66 SCK GPIO_37
Pin 67 JTAG_TDI
Pin 68 CS GPIO_38
Pin 69 JTAG_TCK
Pin 70 PM_PS_HOLD
Pin 71 JTAG_SRST
Pin 72 FORCE_USB_BOOT GPIO_52
Pin 73 JTAG_TRST
Pin 74 POWER_EN
Pin 75 GND
Pin 76 USER_BUTTON GPIO_79
Pin 77 +1V8_SPX3 (OUT)
Pin 78 PMIC_RESET
Pin 79 +1V8 (OUT)
Pin 80 RTSS_RESET
Pin 81 +1V8 (OUT)
Pin 82 RTSS_PS_HOLD
Pin 83 QUP0_SE7_TX GPIO_71
Pin 84 GND
Pin 85 QUP0_SE7_RX GPIO_72
Pin 86 FDCAN1_TX PD5
Pin 87 PWR_DISABLE
Pin 88 FDCAN1_RX PI9
Pin 89 FORCE_BOOT
Pin 90 GND
Pin 91 +3V3 (OUT)
Pin 92 FDCAN2_TX PA10
Pin 93 +3V3 (OUT)
Pin 94 FDCAN2_RX PD9
Pin 95 +3V3 (OUT)
Pin 96 GND
Pin 97 +5V (OUT)
Pin 98 FDCAN3_TX PF6
Pin 99 +5V (OUT)
Pin 100 FDCAN3_RX PF7

通信

用户手册的本节介绍 VENTUNO Q 支持的不同通信协议。

Bridge - Remote Procedure Call (RPC) Library

VENTUNO Q 使用 RPC(远程过程调用)在 Linux(Qualcomm MPU)侧与实时 STM32 MCU 之间交换数据。该机制允许在一个处理器上运行的函数从另一个处理器透明地调用,就像本地调用一样。


ventuno-rpc.png


Bridge 库在 Arduino_RPClite 框架之上提供通信层。它管理 MPU 与 MCU 之间的双向 RPC 流量,处理方法绑定、请求转发与异步响应。

  • Linux 侧(Dragonwing™ QCS8275):运行更高层服务,并可远程调用 MCU 函数。
  • MCU 侧(STM32,Zephyr RTOS):处理时间关键任务,并通过 RPC 向 Linux 处理器暴露函数。

说明:

要阅读更多关于 Bridge 库的信息,请访问 Bridge 文章。

SPI

VENTUNO Q 支持 SPI 通信,允许在开发板与其他兼容 SPI 的设备之间传输数据。

VENTUNO Q 上用于 SPI 通信协议的引脚如下:

Microcontroller Pin Arduino Pin Mapping
PB12 SS / D10
PB15 MOSI / D11
PB14 MISO / D12
PB13 SCK / D13

请参阅用户手册的 开发板引脚图部分 以在开发板上定位它们。

在 sketch 顶部包含 SPI 库以使用 SPI 通信协议。SPI 库提供用于 SPI 通信的函数:

#include <SPI.h>

在 setup() 函数中,初始化 SPI 库,定义并配置片选(SS)引脚:

#define SS D10

void setup() {
  // Set the chip select pin as output
  pinMode(SS, OUTPUT);

  // Pull the SS pin HIGH to unselect the device
  digitalWrite(SS, HIGH);

  // Initialize the SPI communication
  SPI.begin();
}

说明:

要了解更多,请访问 VENTUNO Q 微控制器示例 - SPI。

I2C

说明:

请参阅关于 Qwiic 的部分,了解如何通过开发板的 Qwiic 连接器直接连接 Modulino 节点和其他设备。

VENTUNO Q 支持 I2C 通信,允许在开发板与其他兼容 I2C 的设备之间传输数据。VENTUNO Q 上用于 I2C 通信协议的引脚如下:

Microcontroller Pin Arduino Pin Mapping (Wire) Microcontroller Pin Arduino Pin Mapping (Wire1)
PH11 SCL / D21 PA8 I2C3_SCL (Qwiic)
PH12 SDA / D20 PC9 I2C3_SDA (Qwiic)

请参阅用户手册的 开发板引脚图部分 以在开发板上定位它们。

要使用 I2C 通信,请在 sketch 顶部包含 Wire 库。Wire 库提供用于 I2C 通信的函数:

#include <Wire.h>

在 setup() 函数中,初始化 I2C 库:

// Initialize the I2C communication
Wire.begin(); // I2C in UNO-style headers (D20, D21)
// or
Wire1.begin(); // I2C in Qwiic connector

说明:

要了解更多,请访问 VENTUNO Q 微控制器示例 - I2C。

UART

VENTUNO Q 上用于 UART 通信协议的引脚如下:

Microcontroller Pin Arduino Pin Mapping
PB10 USART3_TX / D1
PB11 USART3_RX / D0

请参阅用户手册的 开发板引脚图部分 以在开发板上定位它们。

说明:

要通过 JDIGITAL 连接器上的硬件串口引脚通信,必须使用 Serial1 对象。否则,Serial 将与你的 USB 串口终端通信。

要开始 UART 通信,你需要先进行配置。在 setup() 函数中,设置波特率(比特每秒):

// Start UART communication at 115200 baud
Serial1.begin(115200);

要通过 UART 向另一设备传输数据,可使用 write() 函数:

// Transmit the string "Hello VENTUNO Q"
Serial1.write("Hello VENTUNO Q");
Serial1.write("\r\n"); // new line

你也可以使用 print 与 println() 发送不带换行符或以换行符结尾的字符串:

// Transmit the string "Hello VENTUNO Q"
Serial1.print("Hello VENTUNO Q");

// Transmit the string "Hello VENTUNO Q" followed by a newline character
Serial1.println("Hello VENTUNO Q");

说明:

要了解更多,请访问 VENTUNO Q 微控制器示例 - UART。

硬件调试 UART 接口

VENTUNO Q 提供专用的底层 UART 接口,用于调试与系统诊断。此接口直接连接到 MPU 的主控制台(TTY),使你能够在 SSH 或 ADB 等网络服务可用之前观察启动与内核日志、排查系统问题,或访问 shell 环境。

要访问日志,我们推荐 Arduino® Bughopper,因为它专为此开发板设计。*

警告:

警告: 使用 Bughopper 以外的串口设备可能导致 VENTUNO Q 启动异常。这是因为 Dragonwing™ QCS8275 处理器可能通过 TX/RX 引脚意外被反供电。Bughopper 旨在防止这种情况,因为 TX/RX 通道由开发板本身供电(而非来自串口适配器)。


ventuno-bughopper.png


此接口通过 VENTUNO Q 上的 JCTL 连接器提供。详情请参阅 引脚图 部分,并按照上方接线示例进行访问。

无线连接

VENTUNO Q 具有 NFA725B 无线电模块,为开发板提供双频 Wi-Fi® 6 2.4/5/6 GHz 与 Bluetooth® 5.1。这为物联网与外设通信提供无缝无线连接。


ventuno-radio-module.png


无论是连接到本地网络、将数据上传到云端,还是与智能手机和传感器等支持蓝牙的设备通信,VENTUNO Q 都为你的项目提供灵活可靠的选择。

Wi-Fi®

VENTUNO Q 上的 Wi-Fi 连接使开发板能够连接到本地网络或互联网,以访问在线服务、执行软件更新,并与远程服务器通信。此外,可将 Wi-Fi 配置为与板载微控制器共享其互联网连接,使两个系统无需额外网络硬件即可保持连接。

如果你已完成 Arduino App Lab 首次设置,则应已连接到互联网。不过,还有若干替代方案,如下所列。

通过 Ubuntu 桌面连接(SBC)

如果已将开发板设置为 SBC,你可以点击右上角菜单并选择要连接的 Wi-Fi 网络。


ventuno-wifi.png


通过终端连接(Nmtui)

你也可以使用 nmtui 访问基于终端的 UI 以连接到 Wi-Fi 网络。

sudo nmtui


nmtui.png


通过终端连接(Nmcli)

要连接或断开网络,我们可以使用开发板上预装的 nmcli。

# Connect to a network
sudo nmcli d wifi connect <SSID> password <YOUR_PASSWORD>

#Disconnect from a network
sudo nmcli d disconnect wlan0

说明:

wlan0 是 Wi-Fi 接口的典型名称,可在终端运行 nmcli device 进行确认。

WPA2-Enterprise 连接(Nmcli)

要连接到 WPA2-Enterprise 网络,你需要提供额外的身份验证配置。可能的配置可能很复杂;请参阅 官方文档 以获取完整选项列表。

例如,以下是 Eduroam(面向科研与教育用户的国际 Wi-Fi 漫游服务)的配置。

nmcli con add \
  type wifi \
  connection.id Eduroam \ # Connection name
  wifi.ssid eduroam \   # Network Wi-Fi SSID
  wifi.mode infrastructure \
  wifi-sec.key-mgmt wpa-eap \
  802-1x.eap peap \
  802-1x.phase2-auth mschapv2 \
  802-1x.identity <your identity>

以下是另一个使用 TTLS 身份验证与 PAP 的示例:

nmcli con add \
  type wifi \
  connection.id ExampleNetwork \ # Connection name
  wifi.ssid <your Wi-Fi SSID> \ # Network Wi-Fi SSID
  wifi.mode infrastructure \
  wifi-sec.key-mgmt wpa-eap \
  802-1x.eap ttls \
  802-1x.phase2-auth pap \
  802-1x.domain-suffix-match example.com \
  802-1x.identity <your identity>

如果你希望不以明文存储密码(尤其是当它包含特殊字符时),可在连接时使用 --ask 标志以交互方式提示输入密码:

nmcli --ask con up <your network name>

MCU 上的 Wi-Fi

默认情况下,MCU 上不可用 Wi-Fi,因为它仅连接到 Dragonwing™ QCS8275。不过,你可以通过 TCP over RCP 调用为 MCU 提供互联网访问,该方法记录在以下链接中:

Bluetooth®

Bluetooth® 连接使 VENTUNO Q 能够与智能手机、电脑或传感器等附近设备通信。它可用于数据交换、远程控制,或连接键盘、耳机和串口设备等蓝牙外设。根据设置,VENTUNO Q 既可充当蓝牙外设也可充当主机,为各种应用提供灵活的短距通信。

你可以在单板电脑模式下点击右上角菜单来管理蓝牙功能,例如选择要连接的设备。


ventuno-bluetooth.png


你也可以在终端中使用 bluetoothctl 管理蓝牙连接,如下所示:

bluetoothctl power on # turn on Bluetooth
bluetoothctl power off # turn off Bluetooth

可通过运行 bluetoothctl 进入蓝牙管理器提示符,并在其中运行特定命令:

power on # turn on Bluetooth
power off # turn off Bluetooth
scan on # start searching for nearby Bluetooth devices
scan off # stop searching for devices
connect <MAC_ADDRESS> # pair to the device with the specified MAC address

以下是从终端搜索蓝牙设备时的示例:


ventuno-scan.png


故障排除

MDNS

网络模式依赖 本地网络发现(mDNS) 自动查找同一网络上的开发板。某些网络配置(如访客 Wi-Fi、企业或物联网网络、VPN 或严格防火墙规则)可能阻止自动发现,即使开发板已连接到 Wi-Fi。

发现故障排除

  • Windows 用户: 首次启动 Arduino App Lab 时,你可能会收到 Windows Defender(或其他安全软件)关于 mdns-discovery.exe 的提示。你必须 允许 此访问,开发板才能被发现。*注意:在曾运行过 Arduino IDE 的系统上,该提示可能不会出现。*
  • 防火墙设置: 如果开发板未出现,请确保防火墙允许 UDP 端口 5353 上的流量,这是 mDNS 发现所必需的。

>注意:能够通过浏览器、SSH 或 IP 地址访问开发板,并不保证它会出现在网络模式中。Arduino App Lab 使用本地网络发现来自动列出开发板。

支持

如果在使用 VENTUNO Q 时遇到任何问题或有疑问,我们提供各种支持资源帮助你找到答案与解决方案。

帮助中心

探索我们的 帮助中心,其中提供面向 VENTUNO Q 的全面文章与指南集合。Arduino 帮助中心旨在提供深入的技术协助,帮助你充分利用设备。

论坛

加入我们的社区论坛,与其他 VENTUNO Q 用户交流、分享经验并提出问题。论坛是向他人学习、讨论问题以及发现与 VENTUNO Q 相关的新想法与项目的绝佳场所。

联系我们

如果你需要个性化协助,或有前述帮助与支持资源未涵盖的问题,请联系我们的支持团队。我们很乐意为你解答有关 UNO Q 的任何问题或咨询。


原文:https://docs.arduino.cc/tutorials/ventuno-q/user-manual/ 本页为 Arduino 官方教程的中文翻译,供内部查阅。命令与代码保持原文。