Skip to main content

reComputer Robotics J401 接口

reComputer Robotics J401 是一款紧凑型、高性能的边缘 AI 载板,专为高级机器人应用设计。它兼容 NVIDIA Jetson Orin Nano/Orin NX 模组的 Super/MAXN 模式,可提供高达 157 TOPS 的 AI 性能。板载丰富的连接选项——包括双千兆以太网口、用于 5G 和 Wi-Fi/BT 模组的 M.2 插槽、6 个 USB 3.2 接口、CAN、GMSL2(通过可选扩展板)、I2C 和 UART——可作为强大的机器人“大脑”,处理来自各类传感器的复杂数据。预装 JetPack 6 和 Linux BSP,确保开箱即可部署。​

在支持 NVIDIA Isaac ROS、Hugging Face、PyTorch 和 ROS 2/1 等框架的基础上,reComputer Robotics J401 将大语言模型驱动的决策能力与实体机器人的运动控制(如运动规划和传感器融合)连接起来。非常适合用于自主机器人快速开发,通过即用型接口和优化的 AI 框架,加速产品上市进程。

reComputer Robotics J401 载板的俯视三维图,展示 USB、以太网和电源连接器

reComputer Jetson Robotics J401 载板概览​

顶视图
J401 载板顶视图,带有 1 到 7 的编号标注:Orin 模组、电源板、两个风扇接口、针孔按键、LED 和 SIM 卡槽
前视图
reComputer Robotics J401 载板前视图,展示接口布局
底视图
J401 载板底视图,带有 17 到 22 的编号标注:RTC 电池和排针、M.2 Key B、Key E 和 Key M 插槽以及摄像头扩展排针

清单​

  • reComputer Robotics J401 载板 x 1
  • 电源和 JST 扩展板 x 1
  • XT30 转 DC 线缆 x 1
  • USB 线缆,Type A 转 Type C x 1
  • 扩展板散热片 x 1
  • 支柱 (M3*30) x 5
  • M3 六角螺母 x 5
  • Jetson 模组和 M.2 Key M 用螺丝 (CM2.5*L.4) x3
  • M.2 Key E 用螺丝 (CM2*3.0) x1
  • M.2 Key B 用支柱 (M2*2.0) x1
  • M.2 Key B 用螺丝 (CM3*4.0) x1
  • 用户手册 x 1
note

1.在高电压供电和高工作温度下,请根据《热设计指南》设计可靠的散热方案。 2.请为模组安装散热片以获得更佳性能。 3.在高电压输入和高负载运行期间,请勿触摸散热片,以防烫伤。 4.用于验证的电源适配器建议,请使用 Seeed 官方网站推荐的电源适配器。

  • 19V/4.74A 5525 圆孔电源适配器
  • 确保满足最大功耗需求。 2.AC 电源线兼容性
  • 请根据所在地区购买对应规格的三叶草 AC 电源线。 3.配件兼容性
  • 仅使用官方推荐的配件(如无线模组、摄像头、外设),以获得最佳性能和兼容性。

规格​

载板规格​

类别项目详情
存储M.2 KEY M PCIe1x M.2 KEY M PCIe(内置 1 块 128G M.2 NVMe 2280 SSD)
网络M.2 KEY E1x M.2 Key E,用于 WiFi/Bluetooth 模组
M.2 KEY B1x M.2 Key B,用于 5G 模组
以太网2x RJ45 千兆以太网
I/OUSB6x USB 3.2 Type-A(5Gbps);
1x USB 3.0 Type-C(Host/DP 1.4);
1x USB 2.0 Type-C(Device 模式/调试)
摄像头1x 4 合 1 GMSL2(mini fakra)(可选扩展板)
CAN2x CAN0(XT30(2+2));
3x CAN1(4-Pin GH 1.25 排针)
显示1x DP1.4(Type C Host)
UART1x UART 4-Pin GH 1.25 排针
I2C2x I2C 4-Pin GH 1.25 排针
风扇1x 4-Pin 风扇接口(5V PWM);
1x 4-Pin 风扇接口(12V PWM)
扩展端口1x 摄像头扩展排针(用于 GMSL2 板)
RTC1x RTC 2 针;
1x RTC 座
LED3x LED(PWR、ACT 和用户 LED)
针孔按键1x PWR;
1x RESET
DIP 开关1x REC
天线孔5x 天线孔
电源19-54V XT30(2+2)(附带 XT30 转 5525 DC 插孔线缆)
Jetpack 版本预装 JetPack 6;支持 JetPack 7.2
机械特性尺寸(宽 x 深 x 高)115mm x 115mm x 38mm
重量200g
安装方式桌面、壁挂
工作温度-20℃~60℃(25W 模式);
-20℃~55℃(40W 模式);
-20℃~50℃(MAXN 模式);
(需搭配带风扇的 reComputer Robotics 散热片)
质保2 年
认证RoHS、REACH、CE、FCC、UKCA、KC

刷写 JetPack 系统​

支持的模组​

前置准备​

  • Ubuntu 主机电脑
  • Robotics J401 载板
  • NVIDIA® Jetson Orin™ Nano/NX 模组
  • Nano/NX 模组主动散热风扇
  • NVMe M.2 2280 内置 SSD
  • USB Type-C 数据传输线
info

我们建议使用物理 Ubuntu 主机设备,而不是虚拟机。 请参考下表准备主机环境。

JetPack 版本 Ubuntu 版本(主机电脑)
18.04 20.04 22.04 24.04
JetPack 6.x ✅ ✅
JetPack 7.2 ✅ ✅ ✅

Note: 对于 JetPack 7.2,Ubuntu 24.04 仅支持用于刷机和目标端组件安装。如果需要主机端开发组件,请使用 Ubuntu 20.04 或 22.04。

准备 Jetpack 镜像​

在这里,我们需要根据所使用的 Jetson 模组,在 Ubuntu 主机上下载对应的系统镜像:

Jetpack 版本Jetson 模组 GMSL 下载链接 1SHA256
6.2 Orin Nano 4GB✅Downloadc63d1219531245abecc7bbdcafc73d34
f75547454c7af85de40f08396a87e5ee
Orin Nano 8GB✅Download5d1f3cd28eb44ca60132c87ccce5acaf
806ee945b486df9061a34de73fbb582b
Orin NX 8GB✅Downloade7f0c8e6b578d411f81122879f92c766
6adfada5ed493a4cc458dc169ca8c1b7
Orin NX 16GB✅下载b08cbdad8ab6e50222146d3175a9d262
7d499bf1d67cfaf69cc737b5bfa9e33a
7.2 Orin Nano 4GB✅下载6c499899d6c00a1661a48974d4dfc734
e9cbfefc06fc9c5c02ac7040dd1f2eb8
Orin Nano 8GB✅下载23b68b43e630d166e5079f72509c71ea
0e13f76e372ddd06fe22df5494ad3f41
Orin NX 8GB✅下载2712fe373afb3dff8202cdd9288b266f
080b76837eb13161918efd80111d9035
Orin NX 16GB✅下载6d9086d692a0f40fad02c75df1ff56ae
d9b368320bb2bfe3a777692513529697
danger

JetPack 镜像文件较大,下载可能需要大约 60 分钟。请耐心等待下载完成。

info

为了验证已下载固件的完整性,您可以对比 SHA256 哈希值。

在 Ubuntu 主机上,打开终端并运行命令 sha256sum <File> 以获取下载文件的 SHA256 哈希值。如果结果与 wiki 中提供的 SHA256 哈希值一致,则说明您下载的固件是完整且未损坏的。

进入强制恢复模式​

info

在继续安装步骤之前,我们需要确保开发板处于强制恢复模式。

分步操作

步骤 1. 将拨码开关切换到 RESET 模式。

J401 载板的开关拨到 RESET 模式,并标出了 USB Type-C 刷机接口

步骤 2. 连接电源线,为载板上电。

步骤 3. 使用 USB Type-C 数据线将开发板连接到 Ubuntu 主机电脑。

步骤 4. 在 Linux 主机电脑上打开终端窗口并输入命令 lsusb。如果返回的内容中根据您使用的 Jetson SoM 出现以下任一输出,则说明开发板已进入强制恢复模式。

  • 对于 Orin NX 16GB:0955:7323 NVidia Corp
  • 对于 Orin NX 8GB:0955:7423 NVidia Corp
  • 对于 Orin Nano 8GB:0955:7523 NVidia Corp
  • 对于 Orin Nano 4GB:0955:7623 NVidia Corp

下图为 Orin Nano 8GB 的示例

lsusb 输出中高亮显示 NVIDIA Corp. APX 设备,确认开发板处于恢复模式

刷写到 Jetson​

步骤 1: 解压下载的镜像文件:

cd <path-to-image>
sudo tar xpf mfi_xxxx.tar.gz
# For example: sudo tar xpf mfi_recomputer-robo-orin-nano-8g-j401-gmsl-6.2-36.4.3-2026-02-06.tar.gz

步骤 2: 执行以下命令,将 JetPack 系统刷写到 NVMe SSD:

cd mfi_xxxx
# For example: cd mfi_recomputer-orin-robotics-j401
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --massflash 1 --network usb0 --showlogs

如果刷写过程成功,您将看到如下输出

终端日志显示刷机脚本结束,并提示刷写完成
note

刷写命令可能会运行 2-10 分钟。

步骤 3: 使用 PD 转 HDMI 转接器将 Robotics J401 连接到支持 HDMI 输入的显示器,或使用 PD 线直接连接到支持 PD 输入的显示器,并完成初始配置设置:

通过 HDMI 连接的显示器上显示 JetPack 6 首次启动配置向导
info

请根据您的需求完成 System Configuration。

接口使用​

下面将介绍 Robotics J401 开发板上的各类接口及其使用方法。

M.2 Key M​

M.2 Key M 专为高速 NVMe SSD 设计,为机器人应用提供超高速数据传输能力。

支持的 SSD 如下​

硬件连接​

安装了散热片的 NVMe SSD 插在载板的 M.2 Key M 插槽中

使用说明​

在 Jetson 设备中打开终端,输入以下命令测试 SSD 的读写速度。

#You need to create a blank test file first
sudo touch /ssd/test
dd if=/dev/zero of=/home/seeed/ssd/test bs=1024M count=5 conv=fdatasync
终端中 dd 写入测试的输出结果,显示 NVMe SSD 吞吐率
danger

测试完成后,请运行 sudo rm /home/seeed/ssd/test 命令删除缓存文件。

M.2 Key B​

M.2 Key B 插槽用于扩展 5G 模组,为机器人和边缘 AI 场景提供高速蜂窝网络连接。

硬件连接​

安装在 J401 载板 M.2 Key B 插槽中的 5G 模组

使用说明​

步骤 1. 检查硬件识别情况

lsusb 

该命令会显示系统中所有已连接的 USB 设备列表,以及它们的厂商(ID)、类型和其他信息。例如,输出中可能会显示来自 Quectel Wireless Solutions Co., Ltd. 的 EM12-G 设备,表明 5G 模组已被识别。

lsusb 输出显示 Quectel 5G 模组已在 USB 总线上被识别

步骤 2. 确认驱动加载 必须确保 5G 模组所需的 option 驱动已加载。我们可以使用 lsmod 命令进行检查。

lsmod | grep option 

如果 option 驱动加载成功,输出中会显示与该驱动相关的信息。

lsmod 输出中列出了为 5G 模组加载的 option 驱动

步骤 3. 配置 ModemManager ModemManager 是一个用于管理调制解调器设备的工具,需要安装并重启。

sudo apt install modemmanager 
sudo systemctl restart ModemManager

apt install 命令用于安装 ModemManager 软件包,而 systemctl restart 用于重启 ModemManager 服务,以确保新设置生效。

步骤 4. 验证模组识别情况 我们可以使用 mmcli -L 命令检查 ModemManager 是否能够正确识别 5G 模组。

mmcli -L 

如果 5G 模组被识别,将会显示类似 /org/freedesktop/ModemManager1/Modem/0 的输出,表示检测到的调制解调器设备路径。

mmcli -m 0 输出显示 Quectel EM12 调制解调器已在 ModemManager 中注册

步骤 5. 设置 APN APN(接入点名称)对于移动设备连接网络至关重要。我们将使用 nmcli 命令创建承载配置文件。以中国移动为例,可以通过以下命令创建一个配置文件:

sudo nmcli con add type gsm ifname "*" apn "CMNET" ipv4.method  auto 

该命令添加了一个新的 GSM(全球移动通信系统)类型连接,将 APN 指定为“CMNET”,并使用自动 IPv4 配置。

nmcli 命令添加一个 APN 为 CMNET 的 GSM 连接

步骤 6. 激活连接 创建承载配置文件后,我们需要激活该连接。

sudo nmcli con up "gsm" 

此命令会激活 GSM 连接,如果成功,将显示一条确认消息。

步骤 7. 重新验证模块识别情况 再次运行 mmcli -L 命令,以确保在配置 APN 之后模块仍然被识别。

mmcli -L 

步骤 8. 检查模块状态 最后,我们可以使用 mmcli -m 0 命令查看模块的详细信息,例如 IP 分配、运营商以及网络连接状态。

mmcli -m 0 

此命令会提供有关 5G 模块的全面信息,包括其制造商、型号、支持和当前使用的网络技术、设备状态以及已连接的网络运营商。

mmcli -m 0 详细信息,展示 Quectel EM12 的 IMEI、固件、支持模式以及中国移动运营商

M.2 Key E​

M.2 Key E 接口是一个标准的 M.2 连接器,主要用于连接无线模块,例如 Wi-Fi 和蓝牙,以扩展无线通信能力。

硬件连接​

安装在 J401 载板 M.2 Key E 插槽中的 Wi-Fi 模块

使用说明​

要测试 Wi-Fi 性能,请使用以下命令(将 IP 地址替换为你的测试服务器):

iperf3 -c 192.168.6.191
通过 M.2 Key E Wi-Fi 链路进行 iperf3 吞吐量测试的结果

M.2 Key E 插槽还提供蓝牙功能。

蓝牙设置中列出的通过 M.2 Key E 模块看到的已配对设备

以太网​

Robotics j401 载板配备 2 个 1Gbps RJ45 以太网端口,用于高速有线网络连接。

J401 载板上的两个 1 Gbps RJ45 以太网端口

要测试以太网端口速度,请按如下方式使用 iperf3:

iperf3 -c <server_ip> -B <bind_ip>
info

<server_ip> 是 iperf3 服务器的 IP 地址。客户端将连接到该服务器执行带宽测试。 <bind_ip> 将指定的本地 IP 地址绑定为测试流量的源地址。

iperf3 输出结果,测量主机与 Jetson 之间 1 Gbps 以太网吞吐量

LED​

reComputer Jetson Robotics J401 配备 3 个 LED 指示灯(PWR、ACT 和 User LED),可清晰反馈电源、系统活动以及用户自定义功能的状态。

J401 载板上的 PWR、ACT 和用户 LED 指示灯

使用说明​

User LED 是一个 RGB LED,可以显示不同颜色来指示各种状态,需要由用户自行定义。

下面是一个用于控制 RGB LED 的测试脚本:

touch rgb_test
chmod +x rgb_test
vi rgb_test

粘贴以下内容:

#!/bin/bash
# RED ON
gpioset --mode=time --sec=1 2 0=1
sleep 2
# RED OFF
gpioset --mode=time --sec=1 2 0=0

# Blue ON
gpioset --mode=time --sec=1 2 1=1
sleep 2
# Blue OFF
gpioset --mode=time --sec=1 2 1=0

# Green ON
gpioset --mode=time --sec=1 2 2=1
sleep 2
# Green OFF
gpioset --mode=time --sec=1 2 2=0

运行该脚本以测试 RGB LED。

在 RGB LED 测试过程中放在工作台上的 J401 板,USER 指示灯点亮

USB​

Robotics j401 载板配备多种 USB 接口,包括 6 个 USB 3.2 Type-A 接口(5Gbps)、1 个带 DP 1.4(Host 模式)的 USB 3.0 Type-C 接口,以及 1 个用于设备模式/调试的 USB 2.0 Type-C 接口,提供多样化的连接选项。

USB 速度测试​

创建一个脚本来测试 USB 设备速度:

sudo vim test_usb

粘贴以下内容:

#!/bin/bash
sudo dd if=/dev/zero of=/dev/$1 bs=1000M count=2 conv=fdatasync
sleep 1
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sleep 1
sudo dd if=/dev/$1 of=/dev/null bs=1000M count=2

使脚本具有可执行权限:

sudo chmod +x test_usb

运行脚本,并将你的 USB 设备名称作为参数传入。

USB 2.0 Type-C 接口​

通过该串口,使用 USB-C 数据线,你可以在 PC 端监控输入和输出的调试信息。

步骤 1. 将拨码开关切换到调试模式。

J401 载板上的调试和烧录模式开关被拨到调试模式

步骤 2. 通过 USB 数据线连接 PC,在你的 PC 上下载 CP210X Driver。

Silicon Labs CP210x VCP 驱动下载页面

步骤 3. 通过 USB 数据线连接 PC,解压已下载的文件并在 PC 上安装驱动。

在解压后的驱动文件夹中选中的 CP210xVCPInstaller_x64.exe

步骤 4. 在 Windows PC 上打开设备管理器,检查分配给 reComputer Super 的 COM 端口号。它应显示在“Ports (COM & LPT)”下,名称为“Silicon Labs CP210x USB to UART Bridge (COMX)”,其中 X 为 COM 端口号。

Windows 设备管理器中 Ports 下显示的 CP210x COM 端口

步骤 5. 打开串口工具(此处以 MobaXterm 工具为例),创建一个新会话。

MobaXterm 主窗口,显示会话列表以及最近会话中的 COM3 串口会话

步骤 6. 选择 Serial 工具。

MobaXterm 会话设置页面,已选择 Serial 选项

步骤 7. 选择对应的串口,将波特率设置为 115200 并点击 “OK”。

MobaXterm 串口设置界面,已选择 COM 端口和 115200 波特率

步骤 8. 使用用户名和密码登录你的 reComputer Super。

通过 USB Type-C 调试端口连接的串口控制台,已登录到 reComputer

USB 摄像头​

通过 USB 3.2 Type-A 接口使用 USB 摄像头,安装并运行 guvcview:

sudo apt-get install guvcview
guvcview -d /dev/video0
guvcview 窗口,从 /dev/video0 的 USB 摄像头实时采集视频

风扇​

reComputer Jetson Robotics J401 配备两种类型的风扇连接器,以满足不同电压和散热需求:

  • 1x 4 针风扇连接器(5V PWM):专为低电压、低功耗静音风扇设计,该连接器支持 PWM 转速控制,可根据系统温度智能调节风扇转速,从而提高能效并降低噪音。

  • 1x 4 针风扇连接器(12V PWM):兼容标准 12V PWM 风扇,同样支持精确转速控制,非常适合高性能散热需求。

硬件连接​

J401 载板上的风扇排针,标注了 5V PWM 和 12V PWM 接口
note

更多信息请查看这里。

创建脚本来设置风扇转速:

cat test_fanSpeedSet

粘贴以下内容:

#!/bin/bash
sudo systemctl stop nvfancontrol
sleep 2
echo "000000" | sudo -S chmod 777 /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1
echo $1 > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1

注意:对于 Jetson Nano 4G,风扇路径为 /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm1。

此外,我们还可以使用 jtop 工具手动设置风扇转速。

针孔按钮​

Robotics J401 载板配备一个针孔按钮用于用户交互,包括电源(PWR)按钮和复位(RESET)按钮。这些按钮分别用于控制设备的开关机以及执行系统重启。

J401 载板上的 PWR 和 RESET 针孔按钮

CAN​

CAN(控制器局域网,Controller Area Network)是一种可靠的车载总线标准,使微控制器和设备无需主机计算机即可相互通信。 Robotics J401 通过集成在 XT30(2+2)电源连接器中的一个 CAN0 接口提供便捷的电源和数据传输。此外,还通过两个标准 JST 4 针排针提供 3 个 CAN1 接口,以实现灵活的 CAN 总线连接。

CAN 通信​

在 datasheet 中,你可以找到如下所示的 CAN0/CAN1 接口接线图:

来自数据手册的 CAN1 GH-1.25 排针引脚表:Ground、CAN1_L、CAN1_H 和 VDD_5V_CAN

这里通过一个 USB to CAN Analyzer Adapter 来测试 CAN1:从 PC 发送一帧,从 Jetson 回传一帧。

硬件连接​

J401 载板连接器上的 CAN1 CANL、CANH 和 GND 引脚

根据下图所示的连接方式,将 CAN1 的 CANL、CANH 和 GND 分别连接到 USB to CAN 工具上对应的 CANL、CANH 和 GND 端口。

使用 CANL、CANH 和 GND 将 CAN1 连接到 USB-to-CAN 分析仪

在我们的示例中,根据所使用的适配器,我们已经下载并安装了可在此处找到的软件。

步骤 1. 配置 CAN1 接口:

#Set the bit rate
sudo ip link set can1 type can bitrate 500000
#Enable CAN1
sudo ip link set can1 up

步骤 2. 配置 PC 端数据接收软件。 请按照下图所示配置通信参数。

配置了总线和时序设置的 USB-to-CAN 分析仪软件界面

步骤 3. 配置 GPIO。

由于 Robotics J401 的 CAN 收发器具有空闲模式,需要通过 GPIO 唤醒。请在 Jetson 终端上执行以下命令:

# Install the toolkit (skip if already installed)
sudo apt-get update && sudo apt-get install -y libgpiod-utils

# Activate the CAN0 and CAN1 transceivers (pull the STB pin low)
# It is necessary to use the '&' symbol to make it run in the background.
# Otherwise, the pin state will be reset after the command exits.
sudo gpioset --mode=wait 2 3=0 &
sudo gpioset --mode=wait 2 4=0 &
note

这里,2 3 = 0 对应 CAN0,2 4 = 0 对应 CAN1。如果你只使用其中一个端口,只需执行对应的命令即可。

步骤 4. Jetson 向 PC 发送数据:

cansend can1 123#abcdabcd
USBCAN 工具接收到 Jetson 在 CAN1 上发送的帧

步骤 5. PC 向 Jetson 发送数据:

#CAN1 monitors PC data
candump can1
来自数据手册的 CAN1 GH-1.25 排针引脚表,这里再次用于 CAN1 测试接线

可以看到,Jetson 终端已经接收到 PC 发送的数据。

Jetson 终端显示在 can1 上接收到来自 PC 的 CAN 帧

CAN FD 模式​

这里,我使用 CAN0 连接 CAN1 来演示多台 Jetson 设备如何通过 CAN 接口进行通信。

硬件连接​

CAN0 与 CAN1 连接用于 CAN FD 回环测试

步骤 1. 拆下底盖,并将两个 120Ω 终端电阻都拨到 ON 位置。

底盖内部的 120 欧终端电阻开关被拨到 ON 位置

步骤 2. 配置 CAN0 和 CAN1 接口:

#close the interface

sudo ip link set can0 down
sudo ip link set can1 down

#Set to FD mode

sudo ip link set can0 type can bitrate 500000 dbitrate 2000000 fd on
sudo ip link set can1 type can bitrate 500000 dbitrate 2000000 fd on

#open the interface
sudo ip link set can0 up
sudo ip link set can1 up

sudo gpioset --mode=wait 2 3=0 &
sudo gpioset --mode=wait 2 4=0 &

步骤 3. 打开一个新的终端监听 CAN1,并通过 CAN0 向 CAN1 发送数据:

#open a new terminal and run
candump can1

#another terminal sends data
cansend can0 123##011112233445566778899AABBCCDDEEFF112233445566778899AABBCCDDEEFF112233445566778899AABBCCDDEEFF
info
  • 123 是 ID
  • ## 表示 CAN FD 帧
  • 后面是 64 字节数据(共 128 个十六进制字符)
启用终端电阻后 can0 与 can1 之间交换的 CAN FD 帧

UART​

Robotics J401 提供一个标准的 4 针 JST 接口用于 UART 串行通信。

硬件连接​

对于 UART 通信,请按照以下接线方式进行连接。这里我们以 USB to TTL 工具为例。

J401 载板上连接到 USB-to-TTL 适配器的 UART 引脚

使用说明​

步骤 1. 在 Jetson 设备上打开终端并运行以下命令以启用 UART 接口:

gpioset --mode=time --sec=100 2 5=0

步骤 2. 将 USB to TTL 工具连接到 Robotics J401 的 UART 端口和 PC。

步骤 3. 在 PC 端打开串口工具(这里以 xcom 工具为例),并将波特率设置为 115200。

步骤 4. 创建一个简单的 Python 脚本用于串行通信:


import serial
import time

ser = serial.Serial('/dev/ttyTHS1', 115200, timeout=1)
ser.write(b'Hello Jetson!\n')
while True:

if ser.in_waiting:
data = ser.readline()
print("get:", data.decode('utf-8').strip())
time.sleep(0.1)

ser.close()

步骤 5. 在 Jetson 设备上运行该 Python 脚本:

python3 uart_test.py

步骤 6. 现在你可以在 PC 端看到输出,也可以从 PC 向 Jetson 设备发送数据:

PC 端串口终端显示从 Jetson UART 接收到的数据
Jetson 终端显示通过 UART 从 PC 接收到的数据

I2C​

Robotics J401 通过标准 JST 4 针接口提供两个 I2C 接口(IIC0 和 IIC1)。 便于连接传感器和外设以扩展系统功能。

硬件连接​

Robotics J401 配备两个 4 针 GH-1.25 IIC 接口,分别为 IIC0 和 IIC1。

J401 载板上的 IIC0 和 IIC1 4 针 GH-1.25 连接器

在 datasheet 中,你可以找到如下所示的 IIC0/IIC1 4 针 GH-1.25 接口接线图:

来自数据手册的 I2C GH-1.25 排针引脚表:Ground、I2C1_SDA、I2C1_SCL 和 VDD_I2C1

选择一个 IIC 接口设备进行测试,具体选择由你决定。这里我们使用 Arduino-Uno-Rev4-Minima 来测试 I2C0/I2C1。

这里的测试过程包括扫描 IIC0/IIC1 上外接设备的地址。

info

请按照以下连接方式连接设备(IIC0/IIC1 ↔ 设备):

  • 电源 → 电源

  • SDA → SDA

  • SCL → SCL

  • Ground → Ground

用于测试的 Arduino Uno R4 Minima 连接到 IIC0 接口

使用说明​

步骤 1. 下载 Arduino IDE 以上传代码。

步骤 2. 选择开发板的类型。

Arduino IDE 中为 Uno R4 Minima 选择开发板类型

步骤 3. 重启 IDE 并上传你的代码。

#code example
#include <Wire.h>

void setup() {
Wire.begin(0x08); // Set the I2C slave address to 0x08
Wire.onReceive(receiveEvent);
Wire.onRequest(requestEvent);
}

void loop() {
delay(100);
}

void receiveEvent(int howMany) {
// Callback when receiving host data
while (Wire.available()) {
char c = Wire.read();
// Data received can be processed here.
}
}

void requestEvent() {
// Callback when the host requests data
Wire.write("A"); // Return a byte of data
}

步骤 4. 在 Jetson 上安装用于 IIC 测试的工具。

sudo apt update
sudo apt-get install i2c-tools

步骤 5. 在终端中运行以下命令以查看 IIC 总线上映射的名称:

i2cdetect -l
i2cdetect -l output listing the I2C buses on the Jetson module

步骤 6. 运行以下命令扫描 IIC0:

sudo i2cdetect -y -r 1
i2cdetect scan on IIC0 showing the connected device at address 0x08

我们可以看到,连接到 IIC0 的设备被设置为地址 0x08。

扩展端口​

Robotics j401 载板配备了用于 GMSL 扩展板的摄像头扩展排针。它可以同时连接并运行 4 个 GMSL 摄像头。

硬件连接​

下面是 Robotics j401 载板 GMSL 摄像头扩展板的连接插槽(需要提前准备扩展板):

GMSL camera expansion board slot on the J401 carrier board

以下是我们已经支持的 GMSL 摄像头型号:

使用说明​

note

在启用 GMSL 功能之前,请确保你已经安装了带有 GMSL 扩展板驱动的 JetPack 版本。

配置 Jetson IO 文件​

sudo /opt/nvidia/jetson-io/jetson-io.py
jetson-io.py main menu listing the 40-pin header configuration options
Jetson Expansion Header Tool camera menu with the Seeed OSS 194 and Orbbec Gemini 335Lg overlays selected
note

一共有三个 overlay 文件,分别是 Seeed GMSL 1X4 3G、Seeed GMSL 1X4 6G、Seeed GMSL 1X4 和 Orbbec Gemini 335Lg。它们分别对应 SG3S 的 3G 摄像头、SG2 和 SG8S 的 6G 摄像头,以及 Orbbec 的摄像头。如图 3 所示,请根据你的摄像头型号配置 io 文件。

步骤 2. 安装视频接口配置工具。

sudo apt update
sudo apt install v4l-utils

使用 Gemini 335Lg 摄像头​

#Download the Orbbec Gemini 335Lg visualization tool
wget https://github.com/orbbec/OrbbecSDK_v2/releases/download/v2.4.8/OrbbecViewer_v2.4.8_202507031357_a1355db_linux_aarch64.zip
#unzip and run the UI tool
unzip OrbbecViewer_v2.4.8_202507031357_a1355db_linux_aarch64.zip
cd OrbbecViewer_v2.4.8_202507031357_a1355db_linux_aarch64
./OrbbecViewer

第一次打开时,你可能需要更新固件。

Orbbec viewer prompting a firmware update for the Gemini 335Lg camera

打开数据流后,你可以查看来自摄像头的视频。

Depth stream from the Gemini 335Lg camera shown in the Orbbec viewer

使用 SGxxx 系列摄像头​

步骤 1. 设置帧同步模式(默认未启用!)。

info

这里我们演示如何配置不同型号和分辨率的摄像头。

#enables frame synchronization
v4l2-ctl -d /dev/video0 --set-ctrl=trig_mode=1
#Set the frame rate of the camera
v4l2-ctl -V --set-fmt-video=width=1920,height=1536 -c sensor_mode=0 --stream-mmap -d /dev/video0
#Set the camera format
v4l2-ctl -V --set-fmt-video=width=1920,height=1536 -c sensor_mode=0 -d /dev/video0
note

trig_mode = 1 启用帧同步,而 trig_mode = 0 禁用帧同步。默认设置为禁用帧同步。

--set-fmt-video 后面跟随的分辨率是根据所连接摄像头选择的。目前有三个 sensor_mode 选项,每个选项对应一种不同的分辨率。

  • sensor_mode=0 -------> YUYV8_1X16/1920x1536
  • sensor_mode=1 -------> YUYV8_1X16/1920x1080
  • sensor_mode=2 -------> YUYV8_1X16/3840x2160

步骤 2. 启动摄像头。

gst-launch-1.0 \
v4l2src device=/dev/video0 ! \
video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! \
videoconvert ! \
videoscale ! \
xvimagesink

gst-launch-1.0 \
v4l2src device=/dev/video1 ! \
video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! \
videoconvert ! \
videoscale ! \
xvimagesink

gst-launch-1.0 \
v4l2src device=/dev/video2 ! \
video/x-raw,format=YUY2,width=1536,height=1080,framerate=30/1 ! \
videoconvert ! \
videoscale ! \
xvimagesink

gst-launch-1.0 \
v4l2src device=/dev/video3 ! \
video/x-raw,format=YUY2,width=3840,height=2160,framerate=30/1 ! \
videoconvert ! \
videoscale ! \
xvimagesink
Four GMSL camera streams (/dev/video2 to /dev/video5) open side by side in the Qt viewer

显示​

reComputer Jetson Robotics J401 配备了一个 DP1.4(包含在 Type-C Host 中),用于高分辨率显示输出。

资源​

常见问题​

GMSL2 摄像头扩展板能在原生 JetPack 镜像上工作吗? 不能。扩展排针需要带有 GMSL 扩展板驱动的 JetPack 构建版本,并且 JetPack 6.2 镜像表会针对每个模块分别列出 GMSL 和非 GMSL 构建。刷机完成后,在 jetson-io.py 中选择匹配的 overlay——SG3S 使用 Seeed GMSL 1X4 3G,SG2 和 SG8S 使用 Seeed GMSL 1X4 6G,或选择 Orbbec Gemini 335Lg。

主机 PC 应该运行哪个 Ubuntu 版本? 对于 JetPack 6.x,请在 Ubuntu 20.04 或 22.04 上刷机。JetPack 7.2 也支持使用 Ubuntu 24.04,但仅用于刷机和安装目标端组件——如果你还需要主机端开发组件,请继续使用 Ubuntu 20.04 或 22.04。

CAN 可以工作,但 CAN FD 帧被拒绝。缺少了什么? CAN FD 默认关闭。需要同时设置标称比特率和数据比特率来启用接口,例如 bitrate 500000 dbitrate 2000000 fd on,并且当 CAN0 和 CAN1 位于同一总线上时,将两个 120Ω 终端电阻都切换到 ON。

5G 模块在 lsusb 中可以看到,但没有网络接口。 在 ModemManager 使用该模块之前,必须由 option 驱动来接管它——先在 lsmod 中检查是否有 option,然后使用 nmcli 创建连接并激活它。在 JetPack 6.2 中,M.2 Key B 小节上方使用的就是这一套操作顺序。

最多可以同时运行多少个 GMSL 摄像头? 四个。摄像头扩展排针驱动一个 4 合 1 的 GMSL2 mini-FAKRA 板,因此在加载匹配的 overlay 后,四个摄像头可以同时进行视频流传输。

相关资源​

技术支持与产品讨论​

感谢你选择我们的产品!我们将为你提供多种支持,确保你在使用我们产品的过程中尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...