Skip to main content

Robotics J601 载板硬件接口使用

reComputer Robotics J601 是一款为 NVIDIA Jetson AGX Thor 模块设计的高性能机器人载板,面向高级具身 AI 和机器人控制应用。它配备了丰富的连接选项——包括 4 路 10GbE 以太网、用于 5G 和 Wi-Fi/BT 模块的 M.2 插槽、USB 3.2 接口、4 路 CAN(支持 CAN FD)、RS-232/422/485、I2C、I2S、UART、GPIO(GPI/GPO)、GMSL2 扩展(最多支持 8 路摄像头)以及宽范围直流电源输入——可作为强大的机器人“大脑”,用于处理来自各类传感器的复杂数据。

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

USB

Robotics J601 载板配备了多个 USB 接口,包括 4 个 USB 3.2 Type-A 接口(Host,10Gbps),用于高速外设连接;1 个 USB 3.2 Type-C 接口(J4),用于恢复/烧录;以及 1 个 USB 2.0 Type-C 接口(J3),用于设备模式/调试。

USB 3.2 速度测试

插入一个 USB 3.0 U 盘并测试其读写速度。请注意,实际速度取决于 U 盘自身的性能。

创建一个测试脚本:

vim test_usb_speed.sh

粘贴以下内容:

#!/bin/bash

echo "seeed" | sudo -S dd if=/dev/zero of=/dev/sda bs=1000M count=2 conv=fdatasync
sleep 1
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sleep 1
echo "seeed" | sudo -S dd if=/dev/sda of=/dev/null bs=1000M count=2
info

/dev/sda 替换为你 U 盘的实际设备名称。你可以使用 lsblk 进行查看。

使脚本具有可执行权限并运行:

chmod +x test_usb_speed.sh
./test_usb_speed.sh

USB 2.0 Type-C 调试接口

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

Windows

Step 1. 通过 USB-C 数据线将 J601 与 PC 连接。

Step2. 在你的 PC 上下载 CP210X Driver

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

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

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

Step6. 选择 Serial 工具。

Step7. 选择对应的串口,将波特率设置为 115200,然后点击 “OK”。

Step8. 使用用户名和密码登录你的 reComputer J601。

Linux

Step 1. 通过 USB-C 数据线将 J601 与 Linux PC 连接。

Step 2. 查找串口设备:

ls /dev/ttyUSB*

Step 3. 连接到串口控制台:

screen /dev/ttyUSB0 -b 115200

现在你应该可以看到 J601 的串口控制台输出,并可以使用用户名和密码登录。

GMSL

Robotics J601 配备了一个 GMSL 摄像头扩展排针,可同时支持多达 8 路 GMSL 摄像头,以实现多摄像头机器人视觉应用。

支持的 GMSL 摄像头型号

硬件连接

将 GMSL 扩展板连接到 J601 载板上的摄像头扩展排针,然后将你的 GMSL 摄像头连接到扩展板上。

使用说明

note

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

Step 1. 安装视频接口配置工具:

sudo apt update
sudo apt install v4l-utils wmctrl
#example
media-ctl -d /dev/media0 --set-v4l2 '"ser_0_ch_0":1[fmt:YUYV8_1X16/1920x1080]'
media-ctl -d /dev/media0 --set-v4l2 '"des_0_ch_0":0[fmt:YUYV8_1X16/1920x1080]'

v4l2-ctl -d /dev/video0 -c sensor_mode=1

rm -f /tmp/gmsl0.yuyv; mkfifo /tmp/gmsl0.yuyv

v4l2-ctl -d /dev/video0 --stream-mmap=2 --stream-to=/tmp/gmsl0.yuyv >/tmp/gmsl0_v4l2.log 2>&1 &
gst-launch-1.0 -q filesrc location=/tmp/gmsl0.yuyv do-timestamp=true blocksize=4147200 ! rawvideoparse format=yuy2 width=1920 height=1080 framerate=30/1 ! queue max-size-buffers=1 max-size-bytes=0 max-size-time=0 leaky=downstream ! videoconvert ! videoscale method=0 ! video/x-raw,width=892,height=489 ! xvimagesink sync=false async=false max-lateness=0 qos=false force-aspect-ratio=true

使用 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

首次上电时,你可能需要更新固件。打开数据流后,你就可以查看来自摄像头的视频。

UART

Robotics J601 通过标准 JST 排针提供 UART 接口,用于与外部设备进行串行通信。该 UART 端口在 Jetson 系统中对应 /dev/ttyTHS1,默认波特率为 115200。

硬件连接

进行 UART 通信时,请根据以下接线方式连接 USB 转 TTL 工具:

  • TX → RX
  • RX → TX
  • GND → GND

使用说明

将 USB 转 TTL 工具连接到 Robotics J601 的 UART 端口和 PC,然后在 PC 端打开串口工具,并将波特率设置为 115200

你可以使用一个简单的 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()

在 Jetson 设备上运行该脚本:

python3 uart_test.py

I2S

Robotics J601 提供 I2S 音频接口,带有功放输出和麦克风输入,可用于音频播放和录音。I2S 接口通过 J14 JST GH-1.25 连接器引出。

引脚定义

Pin #模块引脚名称模块引脚号用途/描述类型/方向
1--3V3 电源电源
2I2S2_DINF6I2S2 音频端口 2 数据输入(电平从 1.8V 转换为 3.3V)输入
3I2S2_FSE4I2S2 音频端口 2 左/右声道时钟(电平从 1.8V 转换为 3.3V)双向
4I2S2_CLKG4I2S2 音频端口 2 时钟(电平从 1.8V 转换为 3.3V)双向
5I2S2_DOUTF5I2S2 音频端口 2 数据输出(电平从 1.8V 转换为 3.3V)输出
6--

硬件连接

使用说明

Step 1. 配置 I2S2 音频复用并测试音频信号输出:

# Configure I2S2 mux
amixer -c 2 sset "I2S2 Mux" "ADMAIF1"

# Play a 440Hz sine wave test tone (one iteration)
speaker-test -D hw:2,0 -c 2 -r 48000 -t sine -f 440 -l 1
info

标志 -l 1 表示测试音只会播放一次然后停止。

步骤 2. 播放你自己的音频文件:

aplay -D hw:2,0 -c 2 -r 48000 your_audio_file.wav
note

your_audio_file.wav 替换为你实际音频文件的路径。确保音频文件格式与指定的采样率(48000 Hz)和声道数(2)匹配。

I2C

Robotics J601 通过 J12 JST GH-1.25 连接器提供 I2C 接口,可轻松连接传感器和外设以扩展系统。

引脚定义

引脚号模块引脚名称模块引脚号用途/描述类型/方向
1--Ground
2DP_AUX_CH2_NE18I2C4_SDA_3V3双向
3DP_AUX_CH2_PE19I2C4_SCL_3V3输出
4--3V3 电源电源
info

该 I2C 连接器使用 Jetson AGX Thor SoC 上的 I2C4 总线。

硬件连接

将你的 I2C 设备连接到载板上的 I2C 接口:

  • Ground → Ground(引脚 1)
  • SDA → SDA(引脚 2)
  • SCL → SCL(引脚 3)
  • Power → 3V3(引脚 4)

使用说明

步骤 1. 安装 I2C 测试工具:

sudo apt update
sudo apt-get install i2c-tools

步骤 2. 查看 I2C 总线映射:

i2cdetect -l

步骤 3. 扫描 I2C 总线上的设备:

sudo i2cdetect -y -r 1

步骤 4. 从 I2C 设备读取寄存器。例如,从总线 i2c-1 上地址为 0x58 的设备读取寄存器 0x00

sudo i2cget -y 1 0x58 0x00

GPIO (GPI/GPO)

Robotics J601 通过两个 JST GH-1.25 连接器提供数字 GPIO 接口:一个带有 4 路输入通道的 GPI(通用输入) 连接器 J20,以及一个带有 4 路输出通道的 GPO(通用输出) 连接器 J14。所有 GPIO 信号都从 1.8V(SoC 域)电平转换到 3.3V,使其可直接兼容标准 3.3V 传感器和外设。

引脚定义

GPI 连接器 - J20(输入)

引脚号模块引脚名称模块引脚号用途/描述类型/方向
1--3V3 电源电源
2SPI2_MISOD62GPI_1_3V3(从 1.8V 电平转换到 3.3V)输入,3.3V
3GPIO64J6GPI_2_3V3(从 1.8V 电平转换到 3.3V)输入,3.3V
4GPIO65J7GPI_3_3V3(从 1.8V 电平转换到 3.3V)输入,3.3V
5GPIO49G6GPI_4_3V3(从 1.8V 电平转换到 3.3V)输入,3.3V
6--Ground

GPO 连接器 - J14(输出)

引脚号模块引脚名称模块引脚号用途/描述类型/方向
1--3V3 电源电源
2GPIO13G7GPO_1_3V3(从 1.8V 电平转换到 3.3V)输出,3.3V
3SPI2_CS0_ND60GPO_2_3V3(从 1.8V 电平转换到 3.3V)输出,3.3V
4SPI2_CLKE61GPO_3_3V3(从 1.8V 电平转换到 3.3V)输出,3.3V
5SPI2_MOSIF60GPO_4_3V3(从 1.8V 电平转换到 3.3V)输出,3.3V
6--Ground

硬件连接

使用 GH-1.25 线缆将你的 GPIO 设备连接到载板上的 GPI 或 GPO 连接器:

  • VCC → 3V3(引脚 1)
  • Signal → GPI/GPO 引脚(引脚 2–5)
  • GND → 地(引脚 6)

使用说明

note

GPI 和 GPO 引脚可通过 libgpiodgpioset/gpioget)访问。你可以使用 gpioinfo 查找 GPIO 芯片和线路编号。

步骤 1. 安装 GPIO 工具:

sudo apt update
sudo apt-get install gpiod

步骤 2. 查看所有可用的 GPIO 芯片和线路:

gpioinfo

步骤 3. 读取 GPI 引脚。例如,读取 GPI_2(GPIO64,J20 上的引脚 3):

# Replace <chip> and <line> with the actual GPIO chip/line numbers from gpioinfo
gpioget <chip> <line>

步骤 4. 写入 GPO 引脚。例如,将 GPO_1(GPIO13,J14 上的引脚 2)设置为高电平:

# Replace <chip> and <line> with the actual GPIO chip/line numbers from gpioinfo
gpioset <chip> <line>=1

步骤 5. 在 Python 脚本中使用 gpiod 库操作这些引脚:

import gpiod

# Replace chip and line numbers based on your gpioinfo output
chip = gpiod.Chip('<chip_number>')

# Read GPI example
gpi_line = chip.get_line(<gpi_line_number>)
gpi_line.request(consumer="gpi_test", type=gpiod.LINE_REQ_DIR_IN)
print("GPI value:", gpi_line.get_value())

# Write GPO example
gpo_line = chip.get_line(<gpo_line_number>)
gpo_line.request(consumer="gpo_test", type=gpiod.LINE_REQ_DIR_OUT)
gpo_line.set_value(1) # Set high

CAN

CAN(控制器局域网)是一种可靠的车载总线标准,使微控制器和设备无需主机计算机即可相互通信。Robotics J601 通过 JST GH-1.25 连接器提供 4 路 CAN 接口(CAN0、CAN1、CAN2、CAN3),全部支持 CAN FD 模式。

CAN 连接器引脚映射

CAN 接口连接器引脚 1引脚 2引脚 3引脚 4
CAN0J31GroundCAN0_L_ISOCAN0_H_ISO5V 电源
CAN1J30GroundCAN1_L_ISOCAN1_H_ISO5V 电源
CAN2J28GroundCAN2_L_ISOCAN2_H_ISO5V 电源
CAN3J25GroundCAN3_L_ISOCAN3_H_ISO5V 电源
info

全部 4 路 CAN 接口均为隔离接口。每个连接器在引脚 4 提供 5V 电源。

120Ω 终端电阻控制

每个 CAN 接口都配有软件可控的 120Ω 终端电阻。GPIO 映射如下:

接口GPIO 芯片GPIO 线路控制名称
CAN0_120R_EN_3V330CAN0 终端
CAN1_120R_EN_3V331CAN1 终端
CAN2_120R_EN_3V332CAN2 终端
CAN3_120R_EN_3V333CAN3 终端
RS485_120R_EN_3V334RS485 终端

你可以通过以下命令查看对应的 GPIO 线路:

gpioinfo

CAN Classic 通信

这里演示 CAN0 与 CAN1 之间的数据通信。

步骤 1. 安装 CAN 工具:

sudo apt update
sudo apt install can-utils -y

步骤 2. 配置 CAN 接口:

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

sudo ip link set can0 type can bitrate 500000
sudo ip link set can1 type can bitrate 500000

sudo ip link set up can0
sudo ip link set up can1

步骤 3. 打开一个新终端在 CAN1 上接收数据,并从 CAN0 发送数据:

# In a new terminal, listen on CAN1
candump can1

# In another terminal, send data from CAN0
cansend can0 123#DEADBEEF

CAN FD 模式

CAN FD(可变数据速率)在经典 CAN 协议基础上扩展,支持更高的数据速率和更大的负载(最多 64 字节)。

步骤 1. 将 CAN0 和 CAN1 配置为 FD 模式:

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

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

sudo ip link set can0 txqueuelen 2000
sudo ip link set can1 txqueuelen 2000

sudo ip link set up can0
sudo ip link set up can1

步骤 2. 打开一个新终端测试 CAN FD 通信:

# Listen on CAN1 with extended output
candump can1 -x

# Test 1: Send a 16-byte frame with BRS active
cansend can0 5AA##111223344556677889900AABBCCDD

# Test 2: Send a full 64-byte payload frame with BRS active
cansend can0 7DF##1101020203030404050506060707080809090A0A0B0B0C0C0D0D0E0E0F0F0111122223333444455556666777788889999AAAABBBBCCCCDDDDEEEEFFFF
info
  • 5AA / 7DF 是 CAN ID
  • ## 表示 CAN FD 帧
  • ## 后的数字是 BRS(比特率切换)标志:1 = BRS 激活
  • 后面的是数据负载(最多 64 字节,对应 128 个十六进制字符)

CAN 综合测试脚本

下面的脚本会执行完整的 CAN FD 测试,包括依赖检查、接口配置、基础通信验证以及 10 秒压力测试。

创建测试脚本:

vim can_test.sh

粘贴以下内容:

点击展开 CAN 测试脚本
#!/bin/bash

# Color output definitions
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Assign interfaces from arguments, default to can0 and can1 if empty
TX_DEV=${1:-can0}
RX_DEV=${2:-can1}

echo -e "${YELLOW}=== Jetson $TX_DEV <-> $RX_DEV Comprehensive Test Script ===${NC}"
echo -e "Note: Please ensure ${TX_DEV}_H -> ${RX_DEV}_H and ${TX_DEV}_L -> ${RX_DEV}_L are physically wired.\n"

# 1. Dependency Check
if ! command -v candump &> /dev/null; then
echo -e "${YELLOW}[1/5] Installing can-utils...${NC}"
sudo apt update && sudo apt install can-utils -y
else
echo -e "${GREEN}[1/5] can-utils is already installed.${NC}"
fi

# 2. Reset and Configure Interfaces (Arbitration: 500K, Data: 2M, FD & BRS enabled)
echo -e "${YELLOW}[2/5] Configuring $TX_DEV and $RX_DEV (CAN FD Mode)...${NC}"
for dev in "$TX_DEV" "$RX_DEV"; do
# Check if the interface exists in the system
if ! ip link show "$dev" &> /dev/null; then
echo -e "${RED}[ERROR] Interface $dev does not exist. Please check your spelling or hardware.${NC}"
exit 1
fi
sudo ip link set down "$dev" 2>/dev/null
sudo ip link set "$dev" type can bitrate 500000 dbitrate 2000000 fd on
# Increase transmit queue length to prevent packet loss under heavy load
sudo ip link set "$dev" txqueuelen 2000
sudo ip link set up "$dev"
done
sleep 1

# 3. Basic Communication Test (Classic CAN Frame)
echo -e "${YELLOW}[3/5] Starting Basic Communication Test...${NC}"
# Listen for 1 frame on the receiver interface in the background and dump to a temp file
candump "$RX_DEV" -n 1 > /tmp/can_test_rx.log &
DUMP_PID=$!
sleep 0.5

# Send a single classic CAN frame from the transmitter interface
cansend "$TX_DEV" 123#DEADBEEF

# Wait for the background dump process to finish
wait $DUMP_PID 2>/dev/null

# Validate basic data
if grep -q "DE AD BE EF" /tmp/can_test_rx.log; then
echo -e "${GREEN}[PASS] Basic communication successful! Data verified.${NC}"
else
echo -e "${RED}[FAIL] Basic communication failed! No data received or data corrupted.${NC}"
tail -n 2 /tmp/can_test_rx.log 2>/dev/null
exit 1
fi

# 4. CAN FD High-Load Stress Test
echo -e "${YELLOW}[4/5] Starting CAN FD Stress & Stability Test (10 Seconds)...${NC}"
echo -e "--> $TX_DEV generating high-frequency 64-byte BRS random data stream to $RX_DEV..."

# Flood the bus using cangen (-f for FD, -b for BRS, -g 1 for 1ms interval)
cangen "$TX_DEV" -f -b -g 1 >/dev/null 2>&1 &
GEN_PID=$!

# Countdown timer
for i in {10..1}; do
echo -ne "Remaining Time: ${i}s \r"
sleep 1
done
echo ""

# Stop data generation
kill $GEN_PID 2>/dev/null
wait $GEN_PID 2>/dev/null
sleep 1

# 5. Analyze and Print Performance Report
echo -e "${YELLOW}[5/5] Generating Performance Report...${NC}"
echo "--------------------------------------------------"
echo -e "${YELLOW}$RX_DEV Receiver Statistics:${NC}"
# Extract packets and hardware error counters
ip -details -statistics link show "$RX_DEV" | grep -E -A 3 "(RX:|errors)"
echo "--------------------------------------------------"

# Smart assessment based on RX errors
ERRORS=$(ip -details -statistics link show "$RX_DEV" | grep -A 1 "RX: errors" | tail -n 1 | awk '{print $1}')
if [ "$ERRORS" ] && [ "$ERRORS" -gt 0 ]; then
echo -e "${RED}[WARNING] Test completed, but $RX_DEV encountered $ERRORS errors/dropped packets during stress testing. Check your wiring and termination resistors!${NC}"
else
echo -e "${GREEN}[SUCCESS] CAN FD stress test passed! Zero packet loss, zero hardware errors on $RX_DEV. Excellent board performance.${NC}"
fi

# Cleanup and tear down interfaces
for dev in "$TX_DEV" "$RX_DEV"; do sudo ip link set down "$dev"; done
rm -f /tmp/can_test_rx.log

使脚本具有可执行权限并运行它,以测试任意两个 CAN 接口:

chmod +x can_test.sh
./can_test.sh can0 can1

RS485

reComputer J601 载板配备了一个专用的隔离 RS-485 接口,通过 J24 JST GH-1.25 4 针连接器引出。引脚定义如下:

硬件连接

这里我们使用一个 usb-to-rs485 进行测试:

#[Jetson] Init UART: 115200 baud, 8N1, raw mode, no flow control.
sudo stty -F /dev/ttyAMA10 115200 cs8 -cst -parenb -ixon -ixoff -crtscts raw -echo
# [Jetson] Enable and verify RS485 mode via ioctl (TIOCSRS485 / TIOCGRS485).
sudo python3 -c 'import os,fcntl,struct; fd=os.open("/dev/ttyAMA10",os.O_RDWR|os.O_NOCTTY); fcntl.ioctl(fd,0x542F,struct.pack("IIIIIIII",3,0,20,0,0,0,0,0)); out=bytearray(32); fcntl.ioctl(fd,0x542E,out,True); print(struct.unpack("IIIIIIII",out)); os.close(fd)'
# Verification output:(3, 0, 20, 0, 0, 0, 0, 0)

#[PC] Init USB UART with identical parameters.
sudo stty -F /dev/ttyUSB0 115200 cs8 -cstopb -parenb -ixon -ixoff -crtscts raw -echo
#[Jetson] Listen for data.
sudo cat /dev/ttyAMA10
#[PC] Send message.
echo "hello from pc" | sudo tee /dev/ttyUSB0 >/dev/null

#[PC] Listen for data.
sudo cat /dev/ttyUSB0
#[Jetson] Send message.、
echo "hello from jetson" | sudo tee /dev/ttyAMA10 >/dev/null

DB9 (RS232 / RS422 / RS485)

Robotics J601 提供一个可通过软件选择模式的 DB9 串行接口。该 DB9 接口在 Jetson 系统中对应 /dev/ttyAMA9,并可通过设置 SW3 拨码开关配置为 RS232、RS422 或 RS485 模式。

引脚定义

每个 DB9 引脚的功能取决于所选的通信模式。在连接适配器之前,请参考下表和下面的连接器示意图。

RS485 模式

硬件配置

将板底部的开关切换到 RS485 模式,如下图所示。

硬件连接

tip

对于 RS485 接线,将 USB-RS485 适配器的 A/D+ 连接到 DB9 引脚 2,B/D- 连接到 DB9 引脚 1。某些 USB-RS485 适配器的 A/B 标注可能相反。如果在 PC 未发送数据时 Jetson 收到随机字节,请交换 A 和 B 再次测试。

通信测试

这里我们使用 minicom 进行测试:

# Set pin 6 on GPIO chip 3 to low level to enable the DB9 transceiver
sudo gpioset 3 6=0

# On Jetson terminal
sudo minicom -D /dev/ttyAMA9 -b 115200

# On PC terminal
sudo minicom -D /dev/ttyACM0 -b 115200
tip

要在 minicom 中看到你输入的文本,需要启用 Local Echo 功能。默认情况下,minicom 不会显示你的按键输入,因此这是一个非常常见的问题。

  • 步骤 1. 按下 Ctrl+A
  • 步骤 2. 然后按下 E

测试从 PC 向 Jetson 发送消息。

由于 RS485 是半双工协议,为了测试 Jetson 能够通过 RS485 向 PC 发送信息,需要启用 RS485 模式。

  • 步骤 1. 按下 Ctrl+A
  • 步骤 2. 然后按下 O 打开配置选项。

最后,你就可以从 Jetson 向 PC 发送消息了。

RS232 模式

硬件配置

将板底部的开关切换到 RS232 模式,如下图所示。

硬件连接

tip
  • TX → RX
  • RX → TX
  • GND → GND

通信测试

这里我们使用 minicom 进行测试:

# Set pin 6 on GPIO chip 3 to low level to enable the DB9 transceiver
sudo gpioset 3 6=0

# On Jetson terminal
sudo minicom -D /dev/ttyAMA9 -b 115200

# On PC terminal
sudo minicom -D /dev/ttyACM0 -b 115200
tip

要在 minicom 中看到你输入的文本,需要启用 Local Echo 功能。默认情况下,minicom 不会显示你的按键输入,因此这是一个非常常见的问题。

  • 步骤 1. 按下 Ctrl+A
  • 步骤 2. 然后按下 E

测试从 PC 向 Jetson 发送消息。

同样打开测试模式。

从 Jetson 向 PC 发送消息。

RS422 模式

硬件配置

将板底部的开关切换到 RS422 模式,如下图所示。

硬件连接

tip
  • RXD+ ←─────→ TXD+
  • RXD- ←─────→ TXD-
  • TXD+ ←─────→ RXD+
  • TXD- ←─────→ RXD-
  • GND ←─────→ GND

通信测试

这里我们使用 minicom 进行测试:

# Set pin 6 on GPIO chip 3 to low level to enable the DB9 transceiver
sudo gpioset 3 6=0

# On Jetson terminal
sudo minicom -D /dev/ttyAMA9 -b 115200

# On PC terminal
sudo minicom -D /dev/ttyACM0 -b 115200
tip

要在 minicom 中看到你输入的文本,需要启用 Local Echo 功能。默认情况下,minicom 不会显示你的按键输入,因此这是一个非常常见的问题。

  • 步骤 1. 按下 Ctrl+A
  • 步骤 2. 然后按下 E

测试从 PC 向 Jetson 发送消息。

同样打开测试模式。

RGB

test_rgb.sh
#!/bin/bash

# ==============================================================================
# Script Name: test_rgb.sh
# Target Platform: Seeed reComputer J601 (Jetson)
# Description: Automatically tests RGB LEDs by lighting up Red, Green, Blue,
# and White colors sequentially for 1 second each.
# Usage: sudo ./test_rgb.sh
# ==============================================================================

# Define LED paths
LED_DIR="/sys/class/leds"
RED="$LED_DIR/red/brightness"
GREEN="$LED_DIR/green/brightness"
BLUE="$LED_DIR/blue/brightness"

# Check if running as root (sysfs write access requires root privileges)
if [ "$EUID" -ne 0 ]; then
echo "Error: Please run this script with sudo!"
echo "Example: sudo $0"
exit 1
fi

# Check if the hardware paths exist
if [ ! -d "$LED_DIR/red" ] || [ ! -d "$LED_DIR/green" ] || [ ! -d "$LED_DIR/blue" ]; then
echo "Error: RGB LED hardware paths not found. Please check your driver or device model."
exit 1
fi

# Helper function: Control LED states
# Arguments: set_leds <Red(0/1)> <Green(0/1)> <Blue(0/1)>
set_leds() {
echo "$1" > "$RED"
echo "$2" > "$GREEN"
echo "$3" > "$BLUE"
}

echo "========================================"
echo " Starting Jetson RGB LED Test "
echo "========================================"

# 1. Initialization: Turn off all LEDs
echo "-> Initializing: Turning off all LEDs"
set_leds 0 0 0
sleep 0.5

# 2. Red LED on for 1 second
echo "-> [ON] Red Light"
set_leds 1 0 0
sleep 1

# 3. Green LED on for 1 second
echo "-> [ON] Green Light"
set_leds 0 1 0
sleep 1

# 4. Blue LED on for 1 second
echo "-> [ON] Blue Light"
set_leds 0 0 1
sleep 1

# 5. Mixed White LED on for 1 second (Red + Green + Blue mixed)
echo "-> [ON] White Light (RGB Mixed)"
set_leds 1 1 1
sleep 1

# 6. Test completed, turn off all LEDs
echo "-> Test completed: Turning off all LEDs"
set_leds 0 0 0

echo "========================================"
echo " LED Test Ended "
echo "========================================"
sudo chmod +x test_rgb.sh
sudo ./test_rgb.sh

以太网

Robotics J601 载板配备 4 路 10GbE RJ45 以太网 接口,用于有线网络连接,计划支持 PTP 和 EtherCAT 协议。(注意:T4000 模块支持 3 路 10GbE。)

硬件连接

使用说明

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

上传速度测试:

iperf3 -c <server_ip> -B <bind_ip>

下载速度测试:

iperf3 -c <server_ip> -B <bind_ip> -R
info
  • <server_ip> 是 iperf3 服务器的 IP 地址。客户端将连接到该服务器以执行带宽测试。
  • <bind_ip> 将指定的本地 IP 地址绑定为测试流量的源地址。
  • -R 标志会反转测试方向,用于下载速度测试。

M.2 Key E

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

硬件连接

使用说明

步骤 1. 安装 Wi-Fi 驱动固件:

# Decompress firmware files
cd /lib/firmware/rtw88/
sudo zstd -d rtw8822c_fw.bin.zst -o rtw8822c_fw.bin
sudo zstd -d rtw8822c_wow_fw.bin.zst -o rtw8822c_wow_fw.bin

# Load the driver modules
sudo modprobe rtw88_core
sudo modprobe rtw88_pci
sudo modprobe rtw88_8822c
sudo modprobe rtw88_8822ce

步骤 2. 重启设备:

sudo reboot

步骤 3. 重启后,启用无线网卡接口:

sudo ip link set wlP1p1s0 up

步骤 4. 扫描可用的 Wi-Fi 网络:

sudo nmcli device wifi list ifname wlP1p1s0

步骤 5. 连接到 Wi-Fi 网络:

sudo nmcli device wifi connect "your WiFi name" password "WiFi password" ifname wlP1p1s0

蓝牙

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

步骤 1. 打开蓝牙控制工具:

bluetoothctl

步骤 2. 上电并扫描附近的蓝牙设备:

power on
scan on

5G 模块(M.2 Key B)

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

硬件连接

将 5G 模块安装到 M.2 Key B 插槽中,并连接天线。

使用说明

步骤 1. 打开 5G 模块串口控制台:

sudo apt install -y minicom
sudo minicom -D /dev/ttyUSB3

步骤 2. 依次按下 Ctrl+A 然后 E 进入交互模式。

步骤 3. 测试 AT 指令:

AT

步骤 4. 检查信号强度:

AT+CSQ

步骤 5. 检查已注册的网络运营商:

AT+COPS?

Nano SIM

GPS

M.2 Key B 插槽上的 5G 模块还提供 GPS 功能,用于位置跟踪。

使用说明

步骤 1. 打开 GPS AT 指令端口:

sudo minicom -D /dev/ttyUSB2 -b 115200

步骤 2. 启用 GPS 接收机:

AT+QGPS=1
info
  • 如果响应为 OK,则表示 GPS 接收机已成功启动。
  • 如果响应为 +CME ERROR: 549,则表示 GPS 已启用——无需再次启用。

步骤 3. 依次按下 Ctrl+A 然后 X 退出 minicom,并选择 Yes 退出。

步骤 4. 启用 GPS 后,卫星数据将从 GPS 数据端口(通常为 /dev/ttyUSB1)输出。读取原始 NMEA 数据:

sudo cat /dev/ttyUSB1

你应该会看到标准的 GPS NMEA 语句,例如:

$GPRMC,023011.00,A,2232.12345,N,11356.54321,E,0.026,,100626,,,A*7A
$GPGGA,023011.00,2232.12345,N,11356.54321,E,1,06,1.2,45.3,M,-2.3,M,,*6D
$GPGSV,3,1,11,01,65,120,42,03,45,210,38,08,30,045,35,11,15,290,31*74
note

请确保有开阔的天空视野以获取 GPS 信号。获得有效定位可能需要几分钟时间。

资源

技术支持与产品讨论

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

Loading Comments...