Skip to main content

硬件和接口使用

note

本文档由 AI 翻译。如您发现内容有误或有改进建议,欢迎通过页面下方的评论区,或在以下 Issue 页面中告诉我们:https://github.com/Seeed-Studio/wiki-documents/issues

要了解如何使用 reServer 工业板上的所有硬件和接口,我们建议您参考以下 Wiki 部分。

reServer 工业版配备了 2 个 2.5 英寸 SATA HDD/SSD 驱动器托架,可在视频分析应用中轻松存储数百个本地视频片段。此外,它支持多种连接选项,包括 5 个 RJ-45 以太网端口、1 个 RS232/422/485 接口、4 个隔离 DI/DO 接口、1 个 CAN 接口和 4 个 USB3.1 接口。无风扇设计和多样化的安装选项允许其在 -20 至 60 ℃ 的环境中部署,非常适合更恶劣的环境和更重的负载。

reServer 工业版配备了被动散热器和无风扇设计,非常适合在苛刻的环境中使用。被动散热器无需风扇即可实现高效散热,从而降低因灰尘或其他污染物导致组件故障的风险。无风扇设计还降低了噪音水平和功耗,非常适合在对噪音敏感的环境中使用,同时最大限度地降低能源成本。

reServer 工业版具有 5 个 RJ45 GbE 端口,其中 4 个是 PoE PSE 端口,可为 IP 摄像头等设备提供以太网供电。这消除了单独电源的需求,使得在没有现成电源插座的区域更容易部署网络设备。剩余的 GbE 端口用于连接到网络交换机或路由器,从而实现与网络上其他设备的通信以及访问互联网。

  • 无风扇紧凑型边缘 AI 服务器: 由 NVIDIA Jetson™ Orin Nano/Orin NX 模块提供支持,AI 性能范围从 20 TOPS 到 100 TOPS,工作温度范围为 -20 ~ 60°C,气流为 0.7m/s
  • 多流处理: 5 个 GbE RJ45(4 个支持 802.3af PSE),可实时处理多个流
  • 可扩展存储: 提供 2 个 2.5 英寸 SATA HDD/SSD 驱动器托架,以及一个用于 NVMe SSD 的 M.2 2280 插槽
  • 工业接口: 包括 COM 端口、DI/DO 端口、CAN 端口、USB 3.1 和可选的 TPM2.0 模块
  • 混合连接: 支持 5G/4G/LTE/LoRaWAN®(模块可选),带 Nano SIM 卡插槽
  • 认证: FCC、CE、UKCA、ROHS、KC

拆解 reServer 工业版

首先,最好拆卸外壳以访问所有接口。请参考此文档了解更多信息。

千兆以太网连接器

reServer 工业版配备了 5 个以太网端口,支持 10/100/1000Mbps 规格,其中 4 个端口支持 PSE 802.3 af 15 W,可直接连接 PoE 摄像头(LAN1-LAN4)。这些端口通过 PCIe 到以太网(LAN7430-I/Y9X)模块连接。然而,最左侧的以太网端口(LAN0)仅用于连接路由器以访问互联网。

每个以太网端口上有 2 个 LED(绿色和黄色),其指示如下:

  • 绿色 LED:仅在连接到 1000M 网络时亮起
  • 黄色 LED:显示网络活动状态

使用方法

  • 在连接 PoE 摄像头之前,需要为 4 个以太网端口启用 PoE 功能。启用方法如下:

    sudo -i
    cd /sys/class/gpio
    echo 315 > export
    cd gpio315
    echo "out" > direction
    echo 1 > value
    sudo apt update
    sudo apt install gpiod
    gpioset gpiochip2 15=1

将物理网络 IP 绑定到 eth 编号

接口 eth0 到 eth3 分配给 PoE,其中 eth3 特别称为 PoE4。

如果需要为每个 PoE 接口配置不同的 IP 地址,请按照以下说明操作:

步骤 1:将 PoE 连接到 reServer 工业设备。例如,要配置 eth3,将 eth3 的名称设置为 POE3。

sudo nmcli connection add type ethernet ifname eth4 con-name POE3

步骤 2:将 POE3 的 IP 地址配置为 192.168.6.6。IP 地址可以根据实际使用情况自定义。

sudo nmcli connection modify POE3 ipv4.addresses 192.168.6.6/24

步骤 3:将 POE3 的 IPv4 地址设置为手动配置。

sudo nmcli connection modify POE3 ipv4.method manual

步骤 4:启动连接

sudo nmcli connection up POE3

SATA 连接器

reServer 工业版支持 2 个 SATA 2.5 英寸 HDD/SSD,并配备 SATA 数据和电源连接器。您可以按如下方式连接 HDD/SSD:

使用方法

系统启动后,您可以通过以下命令验证已连接的 SATA 驱动器:

lsblk

RTC

reServer 工业版配备了两种不同方式连接 RTC 电池。

连接概述

  • 方法 1:

3V CR1220 纽扣电池 连接到板上的 RTC 插座,如下图所示。确保电池的 正极(+) 朝上。

  • 方法 2:

将一个 3V CR2302 纽扣电池(带 JST 接头) 连接到板上的 2 针 1.25mm JST 插座,如下图所示:

使用方法

  • 步骤 1: 按上述说明连接 RTC 电池

  • 步骤 2: 打开 reServer Industrial

  • 步骤 3: 在 Ubuntu 桌面上,点击右上角的下拉菜单,导航到 Settings > Date & Time,通过以太网线连接到网络,并选择 Automatic Date & Time 以自动获取日期/时间

note

如果您未通过以太网连接到互联网,可以在此手动设置日期/时间

  • 步骤 4: 打开终端窗口,执行以下命令检查硬件时钟时间:
sudo hwclock

您将看到类似以下的输出,但这不是正确的日期/时间:

  • 步骤 5: 通过输入以下命令将硬件时钟时间更改为当前系统时钟时间:
sudo hwclock --systohc
  • 步骤 6: 移除任何连接的以太网线,以确保不会从互联网获取时间,然后重启设备:
sudo reboot
  • 步骤 7: 检查硬件时钟时间,验证即使设备断电,日期/时间也保持不变。

现在我们将创建一个脚本,在每次启动时始终从硬件时钟同步系统时钟。

  • 步骤 8: 使用您喜欢的任何文本编辑器创建一个新的 shell 脚本。这里我们使用 vi 文本编辑器:
sudo vi /usr/bin/hwtosys.sh 
  • 步骤 9:i 进入 插入模式,将以下内容复制并粘贴到文件中:
#!/bin/bash

sudo hwclock --hctosys
  • 步骤 10: 使脚本可执行:
sudo chmod +x /usr/bin/hwtosys.sh 
  • 步骤 11: 创建一个 systemd 文件:
sudo nano /lib/systemd/system/hwtosys.service 
  • 步骤 12: 在文件中添加以下内容:
[Unit]
Description=Change system clock from hardware clock

[Service]
ExecStart=/usr/bin/hwtosys.sh

[Install]
WantedBy=multi-user.target
  • 步骤 13: 重新加载 systemctl 守护进程:
sudo systemctl daemon-reload 
  • 步骤 14: 启用新创建的服务以在启动时运行,并启动该服务:
sudo systemctl enable hwtosys.service
sudo systemctl start hwtosys.service
  • 步骤 15: 验证脚本是否作为 systemd 服务正常运行:
sudo systemctl status hwtosys.service
  • 步骤 16: 重启设备,您将看到系统时钟现在与硬件时钟同步。

M.2 Key M

开箱即用,reServer Industrial 包含一个连接到 M.2 Key M 插槽的 128GB SSD,并预装了 JetPack 系统。

连接概览

如果您想移除预装的 SSD 并安装新的 SSD,可以按照以下步骤操作。这里我们仅推荐使用 Seeed 的 SSD,包括 128GB256GB512GB1TB 存储容量,因为我们仅测试了这些 SSD。此外,该接口支持 PCIe Gen4.0 SSD。

  • 步骤 1: 移除预装的 SSD 螺丝
  • 步骤 2: 将 SSD 从 SSD 连接器中滑出以移除
  • 步骤 3: 插入新的 SSD 并重新拧紧螺丝

使用方法

我们将解释如何对连接的 SSD 进行简单的基准测试。

  • 步骤 1: 执行以下命令检查写入速度:
sudo dd if=/dev/zero of=/home/$USER/test bs=1M count=512 conv=fdatasync
  • 步骤 2: 执行以下命令检查读取速度。确保在执行上述写入速度命令后再执行此命令:
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sudo dd if=/home/$USER/test of=/dev/null bs=1M count=512

mini PCIe

reServer Industrial 配备了一个 mini PCIe 连接器,支持 4G 和 LoRa 模块。然而,您一次只能连接一个 4G 模块或一个 LoRa 模块。一些 4G 模块嵌入了 GPS 功能,我们也会讨论这一点。

4G 模块连接概览

目前该板支持 EC25EUXGA 和 EC20CEHCLG 模块。

  • 步骤 1: 如果设备已开启,请关闭电源

  • 步骤 2: 移除预装的支架。此支架仅在使用 M.2 Key B 接口时需要。

  • 步骤 3: 将 4G 模块滑入 mini PCIe 插槽,使用预装的螺丝并将其拧入 2 个孔以固定 4G 模块。
  • 步骤 4: 将天线连接到标记为 MAIN 的天线连接器。这里需要使用 IPEX 接头。
  • 步骤 5: 将支持 4G 的 nano SIM 卡插入板上的 SIM 卡插槽,确保 SIM 卡的金色表面朝上。将卡完全插入,直到弹簧锁定到位。
note

如果您想移除 SIM 卡,请将卡推入以触发内部弹簧,这样 SIM 卡会从插槽中弹出。

  • 步骤 6:J8(控制和UART)接头 上,将 SIM_MUX_SELGND 引脚之间连接一个跳线。
  • 步骤 6: 打开开发板电源。

4G 模块使用 - 测试拨号

使用 EC25 模块时,模块会自动启动并准备就绪。然而,使用 EC20 模块时,需要重置模块才能正常工作。

  • 步骤 1: 如果您使用的是 EC25 模块,可以跳过此步骤。如果您使用的是 EC20 模块,请输入以下命令以访问负责重置 4G 模块的 GPIO309 引脚:
sudo su 
cd /sys/class/gpio
echo 309 > export
cd gpio309
echo out > direction
echo 1 > value

对于 EC25 模块,当开发板启动时,LED2 会亮起绿色。对于 EC20 模块,按照上述步骤重置模块后,LED2 会亮起绿色。

  • 步骤 2: 安装 minicom。
sudo apt update
sudo apt install minicom -y
  • 步骤 3: 进入连接的 4G 模块的串口控制台,以便输入 AT 命令并与 4G 模块交互。
sudo minicom -D /dev/ttyUSB2 -b 115200
  • 步骤 4: 按下 Ctrl+A,然后按 E 打开本地回显。

  • 步骤 5: 输入命令 "AT" 并按回车。如果看到响应为 "OK",则说明 4G 模块工作正常。

  • 步骤 6: 输入命令 "ATI" 以检查模块信息。
  • 步骤 7: 为测试模块,输入以下命令拨打另一个电话号码:
ATD<phone_number>;

您将看到以下输出:

如果输入的电话号码可以接收到电话,则说明模块工作正常。

4G 模块使用 - 连接到互联网

EC25 模块

如果您使用的是 EC25 模块,请按照以下步骤操作:

  • 步骤 1: 按照上述步骤(4G 模块使用 - 测试拨号部分)打开 4G 模块的串口控制台后,执行以下命令连接到互联网。将 YOUR_APN 替换为您的网络提供商的 APN。
AT+CGDCONT=1,"IP","YOUR_APN"

连接成功后,应该输出 OK,如上图所示。

  • 步骤 2: 执行以下命令重启 4G 模块:
AT+CFUN=1,1

此时,您将在串口终端上失去与 4G 模块的连接。

  • 步骤 3:CTRL + A 然后按 Q 关闭 minicom

  • 步骤 4: 输入 ifconfig,您将在 usb0 接口上看到一个 IP 地址。

  • 步骤 5: 您可以尝试以下命令 ping 一个网站,以检查是否有互联网连接:
ping -I usb0 www.bing.com -c 5
EC20 模块

如果您使用的是 EC20 模块,请按照以下步骤操作:

  • 步骤 1: 如果您已经按照前一部分(4G 模块使用 - 测试拨号部分)为 EC20 模块重置了 4G 模块,可以跳过此步骤。如果尚未完成,请立即执行。

  • 步骤 2: 进入 4G 模块的串口控制台,输入以下命令将其设置为 ECM 模式:

AT+QCFG="usbnet",1
  • 步骤 3: 重置 4G 模块。

  • 步骤 4: 在 4G 模块控制台中,执行以下命令连接到互联网。将 YOUR_APN 替换为您的网络提供商的 APN。

AT+CGDCONT=1,"IP","YOUR_APN"
  • 步骤 6: 输入 ifconfig,您将在 usb1 接口上看到一个 IP 地址。
  • 步骤 7: 您可以尝试以下命令 ping 一个 URL,以检查是否有互联网连接:

4G 模块使用 - 连接到 GPS

某些 4G 模块内嵌 GPS 模块。EC25EUXGA 和 EC20CEHCLG 模块均内置 GPS 模块。

  • 步骤 1: 执行以下命令重启 GPS 模块:
echo -e "AT+QGPS=1\r\n" > /dev/ttyUSB2
echo -e "AT+QGPS=0\r\n" > /dev/ttyUSB2
  • 步骤 2: 执行以下命令获取 GPS 数据:
sudo cat /dev/ttyUSB1

您将看到如下输出:

seeed@seeed-x:~$ sudo cat /dev/ttyUSB1
[sudo] password for seeed:
$GPVTG,,T,,M,,N,,K,N*2C
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
$GPGGA,,,,,,0,,,,,,,,*66
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,T,,M,,N,,K,N*2C
$GPGSA,A,1,,,,,,,,,,,,,,,,*32
$GPGGA,,,,,,0,,,,,,,,*66
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,T,,M,,N,,K,N*2C

LoRa 模块连接概述

目前此开发板支持 WM1302 SPI 模块。您可以选择 美国版本欧洲版本,它们均可在我们的 Bazaar 上购买。

  • 步骤 1: 如果开发板已打开电源,请关闭电源。

  • 步骤 2: 将 LoRa 模块插入 mini PCIe 插槽,并使用预装的螺丝将其固定在两个孔位上。

  • 步骤 3: 将天线连接到天线接口。此处需要使用 IPEX 接头。
note

确保在 J8(控制和UART接口)SIM_MUX_SELGND 引脚之间没有跳线。此跳线仅在使用4G模块时需要。

  • 步骤 4: 给板子上电

LoRa 模块使用 - 测试 LoRa RF

当 LoRa 模块连接后,你会看到模块上的绿色和蓝色LED灯亮起。

  • 步骤 1: 输入以下命令检查系统是否检测到 LoRa 模块
i2cdetect -r -y 7

如果看到以下输出,说明系统已检测到模块:

  • 步骤 2: 输入以下命令编译并构建 LoRa 信号发送工具
git clone https://github.com/lakshanthad/sx1302_hal
cd sx1302_hal
make
cd libloragw
cp ../tools/reset_lgw.sh .
sudo ./test_loragw_hal_tx -r 1250 -m LORA -f 867.1 -s 12 -b 125 -n 1000 -z 100 --dig 3 --pa 0 --pwid 13 -d /dev/spidev2.0

如果看到以下结果,并且 LoRa 模块上的LED灯变为红色,说明模块已成功发送RF信号:

要停止发送,可以按下键盘上的 CTRL + C

LoRa 模块使用 - 连接到 TTN

现在我们将连接到 TTN(The Things Network),并使用 reServer Industrial 作为 TTN LoRaWAN 网关。

  • 步骤 1: 输入以下命令准备数据包转发器
cd ..
cd packet_forwarder
cp ../tools/reset_lgw.sh .
  • 步骤 2: 根据所使用的 LoRa 模块运行以下命令。这里我们测试的是 SPI US915 版本。
sudo ./lora_pkt_fwd -c global_conf.json.sx1250.US915

然而,不同模块的命令如下:

# USB 915
sudo ./lora_pkt_fwd -c global_conf.json.sx1250.US915.USB

# SPI EU868
sudo ./lora_pkt_fwd -c global_conf.json.sx1250.EU868

# USB EU868
sudo ./lora_pkt_fwd -c global_conf.json.sx1250.EU868.USB

运行上述命令后,你会看到以下输出,最后一行显示 concentrator EUI 信息。请保存此信息,因为稍后在设置 TTN 网关时会用到。

  • 步骤 3: 访问 此URL 进入 TTN 控制台,并选择一个你喜欢的区域。
  • 步骤 4: 如果已有账户,请登录;如果没有,请注册一个新账户。
  • 步骤 5: 点击 Go to gateways
  • 步骤 6: 点击 + Register gateway
  • 步骤 7:Gateway EUI 部分输入之前获取的 Concentrator EUI,然后点击 Confirm
  • 步骤 8: 根据所使用的 LoRa 模块输入 Frequency plan。这里我们使用的是 US915 版本的模块,因此选择 United States 902-928 MHz, FSB 2 (used by TTN)。然后点击 Register gateway
note

Gateway ID 已自动为你填写。然而,你可以根据需要更改它。Gateway name 不是必填项,但你可以根据需要填写。

  • 步骤 9: 在网关主页上记录 Gateway Server Address
  • 步骤 10: 在 reTerminal Industrial 上编辑我们与 lora_pkt_fwd 命令一起使用的 global_conf_json 文件。需要更改以下选项:

    • gateway_ID: 来自设备的 Concentrator EUI
    • server_address: 来自 TTN 的 Gateway Server Address
    • serv_port_up: 1700
    • serv_port_down: 1700
  • 步骤 11: 重新运行数据包转发器
sudo ./lora_pkt_fwd -c global_conf.json.sx1250.US915

如果看到以下输出,说明设备已成功连接到 TTN。

M.2 Key B

reServer Industrial 配备了一个支持4G和5G模块的 M.2 Key B 接口。目前我们已测试 SIM8202G-M2 5G 模块

5G 模块连接概览

  • 步骤 1: 如果板子已上电,请先关闭电源。

  • 步骤 2: 确保支架已就位,然后移除支架上的顶部螺丝。

  • 步骤 3: 将 5G 模块滑入 M.2 Key B 插槽,并用支架螺丝固定模块(确保支架到位)。
  • 步骤 4: 将4根天线连接到模块上的天线接口。这里需要使用 IPEX 4 接头。
  • 步骤 5: 将支持5G的 nano SIM 卡插入板上的 SIM 卡槽,确保 SIM 卡的金色表面朝下。将卡完全插入,直到弹簧锁定到位。
note

如果您想移除 SIM 卡,请按下卡片以触发内部弹簧,这样 SIM 卡就会从插槽中弹出。

  • 步骤 5: 给主板通电

5G 模块使用 - 测试拨号

在使用 SIM8202G-M2 5G 模块时,该模块不会自动启动。因此,我们首先需要切换一些 GPIO 以启动它。

  • 步骤 1: 输入以下命令以启动 5G 模块
sudo su 
cd /sys/class/gpio
echo 309 > export
cd gpio309
echo out > direction
echo 0 > value

cd..
echo 341 > export
cd PEE.02
echo out > direction
echo 1 > value

cd..
echo 330 > export
cd PCC.02
echo out > direction
echo 0 > value

执行上述命令后,LED2 将会亮起绿色。

  • 步骤 2: 安装 minicom
sudo apt update
sudo apt install minicom -y
  • 步骤 3: 进入连接的 5G 模块的串口控制台,以便输入 AT 命令并与 5G 模块交互
sudo minicom -D /dev/ttyUSB2 -b 115200
  • 步骤 4: 输入命令 "AT" 并按回车键。如果看到响应为 "OK",则说明 5G 模块工作正常。
  • 步骤 6: 输入命令 "ATI" 以检查模块信息
  • 步骤 7: 为了测试模块,输入以下命令拨打另一个电话号码
ATD<phone_number>;

您将看到以下输出:

5G 模块使用 - 连接到互联网

即将推出

DI/ DO

reServer 工业版支持 4 个数字输入和 4 个数字输出通道,所有通道均为光隔离设计,可有效保护主板免受电压尖峰或其他电气干扰。此外,该连接器上还提供一个 CAN 接口,我们将在本 Wiki 的后续部分讨论。

DI/ DO 引脚分配表

类型标签名称原理图信号模块引脚编号BGA 编号GPIO 编号电压/电流限制备注
输入DI1DI_1_GPIO01118PQ.05453总电流为 12V/20mA12V 数字输入,接地信号需要
连接到 GND_DI (引脚 2/4/6)
DI2DI_2_GPIO09211PAC.06492
DI3DI_3_GPIO11216PQ.06454
DI4DI_4_GPIO13228PH.00391
输出DO1DO_1_GPIO193PI.00399每个引脚负载为 40V/40mA数字输出,最大耐压 40V,接地信号需要
连接到 GND_DO (引脚 8/10)
DO2DO_2_GPIO195PI.01400
DO3DO_3_GPIO197PI.02401
DO4DO_4_GPIO199PH.07398
CANCH/带有标准差分信号的 CAN 总线,
接地信号需要连接到 GND_ISO (引脚 12)
CL
接地GND_DI/12V 数字输入的参考接地信号,
也是 DI 的回流路径
GND_DO数字输出的参考接地信号,也是 DO 的回流路径
CGCAN 的参考接地信号

DI 连接概览

您可以按照下图进行 DI 的连接。建议在 DI 线上串联一个电阻。在此,我们测试时在 DI1 引脚上连接了一个 4.7kΩ 的电阻。

DI 使用方法

您需要在 DI 线上输入 12V 电压才能被检测为输入信号。

  • 步骤 1: 按照上图所示连接到 DI1 引脚 并输入 12V

  • 步骤 2: 按以下步骤打开 DI1 的 GPIO

sudo su 
cd /sys/class/gpio
echo 453 > export
cd PQ.05
note

您可以参考 DI/ DO 引脚分配表 查找 GPIO 编号和 BGA 编号。在上述示例中,对于 DI1 引脚,GPIO 编号为 453,BGA 编号为 PQ.05。

  • 步骤 3: 执行以下命令检查状态
cat value

如果输出为 0,则表示有 12V 输入。如果输出为 1,则表示没有输入电压。

DO 连接概览

您可以按照下图进行 DO 的连接。建议在 DO 线上串联一个电阻。在此,我们测试时使用了一个 4.7kΩ 的电阻。

DO 使用方法

在此,您需要按照上述图示连接一个负载。测试的最简单方法是使用万用表(如果您有的话),否则可以连接一个最大电压低于 40V 的负载。

步骤 1:按照上图所示连接到 DO1 引脚并输入 40V 最大电压

步骤 2:按以下步骤打开 DO1 的 GPIO

sudo su 
cd /sys/class/gpio
echo 399 > export
cd PI.00
echo out > direction
note

您可以参考 DI/DO 引脚分配表 来查找 GPIO 编号和 BGA 编号。在上述示例中,对于 DO1 引脚,GPIO 编号为 399,BGA 编号为 PI.00。

步骤 3:执行以下命令以打开引脚

echo 1 > value

如果负载被打开或万用表输出您输入的电压,则测试正常运行。

CAN

reServer Industrial 配备了一个支持 CAN FD(控制器区域网络灵活数据速率)协议的 CAN 接口,速率为 5Mbps。CAN 接口通过电容隔离进行隔离,这提供了出色的 EMI 保护,并确保在工业和自动化应用中的可靠通信。默认安装了一个 120Ω 的终端电阻,您可以使用 GPIO 开启或关闭该电阻。

注意:CAN 接口使用隔离电源,这意味着连接到 CAN 接口的外部设备的地信号应连接到 CG 引脚。

使用 USB 转 CAN 适配器的连接概述

为了测试和与 CAN 总线交互,请将 USB 转 CAN 适配器连接到板上的 CAN 接口,如下图所示:

这里我们使用了 USB 转 CAN 分析仪适配器及 USB 线缆,可在我们的 Bazaar 上找到。

使用 USB 转 CAN 适配器

步骤 1:从制造商网站下载您使用的 USB 转 CAN 适配器的驱动程序并安装。在我们的案例中,根据我们使用的适配器,驱动程序可以在 这里 找到。

步骤 2:某些适配器还附带必要的软件,用于 PC 与 CAN 设备通信。在我们的案例中,根据我们使用的适配器,我们下载并安装了可以在 这里 找到的软件。

步骤 3:在 reServer Industrial 上打开终端窗口并执行以下命令以配置和启用 CAN 接口:

sudo modprobe mttcan
sudo ip link set can0 type can bitrate 125000
sudo ip link set can0 up

步骤 4:在终端中输入 ifconfig,您将看到 CAN 接口已启用。

步骤 5:打开之前安装的 CAN 软件。在本案例中,我们将打开根据我们使用的 CAN 适配器安装的软件。

步骤 6:将 USB 转 CAN 适配器连接到 PC,并通过 Windows 搜索栏打开 设备管理器。现在您将在 端口 (COM & LPT) 下看到已连接的适配器。记下这里列出的串口。根据下图,串口为 COM9

步骤 7:打开 CAN 软件,点击 COM 部分旁边的 刷新,点击下拉菜单并选择与适配器连接的串口。保持 COM bps 为默认值并点击 打开

步骤 8:保持 模式CAN bps 为默认值,将 类型 更改为 标准帧,然后点击 设置并启动

步骤 9:在 reServer Industrial 上执行以下命令以向 PC 发送 CAN 信号:

cansend can0 123#abcdabcd

现在您将在软件中看到接收到的信号,如下图所示:

步骤 10:在 reServer Industrial 上执行以下命令以等待接收来自 PC 的 CAN 信号:

candump can0 &

步骤 11:在 CAN 软件中点击 发送单帧

现在您将在 reServer Industrial 上看到接收到的信号,如下所示:

使用 reTerminal DM 的连接概述

如果您有 reTerminal DM 的访问权限,您可以直接与其通信,因为 reTerminal DM 也具有 CAN 接口。

参考下图,通过 CAN 连接 reServer Industrial 和 reTerminal DM:

使用 reTerminal DM

步骤 1:在使用 reTerminal DM 之前,请访问 此 Wiki 以开始使用 reTerminal DM。

步骤 2:在 reServer Industrial 上打开终端窗口并执行以下命令以配置和启用 CAN 接口:

sudo modprobe mttcan
sudo ip link set can0 type can bitrate 125000
sudo ip link set can0 up

步骤 3:在 reTerminal DM 上打开终端窗口并执行以下命令以配置和启用 CAN 接口:

sudo modprobe mttcan
sudo ip link set can0 type can bitrate 125000
sudo ip link set can0 up

步骤 4:在 reTerminal DM 上打开终端窗口并执行以下命令以配置和启用 CAN 接口。

sudo modprobe mttcan
sudo ip link set can0 type can bitrate 125000
sudo ip link set can0 up
  • 步骤 5: 如果你在两个设备上输入 ifconfig,你会看到 CAN 接口已启用
  • 步骤 6: 在 reTerminal DM 上执行以下命令以等待接收来自 reServer Industrial 的 CAN 信号
candump can0 &
  • 步骤 7: 在 reServer Industrial 上执行以下命令以向 reTerminal Industrial 发送 CAN 信号
cansend can0 123#abcdabcd

现在你会看到它被 reTerminal DM 接收到,如下所示

  • 步骤 8: 重复 步骤 6 和步骤 7,但交换设备。使用 reTerminal DM 发送 CAN 信号,并使用 reServer Industrial 接收它们

RS232/ RS422/ RS485 接口

reServer Industrial 配备了一个支持 RS232、RS422 和 RS485 通信协议的 DB9 接口,并且板载有一个 DIP 开关面板,用于在不同接口选项之间切换。

你可以看到下面的 DIP 开关面板:

以下表格解释了基于 DIP 开关位置的不同模式:

MODE_0MODE_1MODE_2模式状态
Image000RS-422 全双工1T/1R RS-422
Image001纯 RS-2323T/5R RS-232
Image010RS-485 半双工1T/1R RS-485,TX ENABLE 低电平激活
Image011RS-485 半双工1T/1R RS-485,TX ENABLE 高电平激活
Image100RS-422 全双工1T/1R RS-422 带终端电阻
Image101纯 RS-2321T/1R RS-232 与 RS485 共存
无需总线的应用
切换 IC(用于特殊用途)。
Image110RS-485 半双工1T/1R RS-485 带终端电阻
TX ENABLE 低电平激活
Image111低功耗所有 I/O 引脚均为高阻态
关机
note

出厂时,开关的默认模式设置为 RS485,工厂设置为 010。

上述表格考虑了 DIP 开关面板的前三个开关。然而,第四个开关负责切换斜率速率,这与数据速率直接相关。

状态说明
Image1SLEW= Vcc
此 RS232/RS422/RS485 多协议收发器限制通信速率如下:
RS-232:最大数据速率为 1.5Mbps
RS-485/RS-422:最大数据速率为 10Mbps
实际最大数据速率取决于使用的 Jetson SO M
Image0SLEW = GND
RS-232:最大数据速率为 250Kbps
RS-485/RS-422:最大数据速率为 250kbps

这里我们将使用 USB 转 RS232、RS485 和 RS422 适配器来测试接口。因此,在继续之前,你需要在你的 PC 上安装一个串行终端应用程序。我们推荐安装 Putty,它易于设置和使用。

  • 步骤 1: 访问 此网站 并根据你的 PC 架构下载 Putty

这里我们根据我们使用的 PC(X86 Windows 64 位机器)选择了 Putty。

  • 步骤 2: 打开下载的安装程序并按照提示安装应用程序。

通用连接概述

您可以参考 DB9 接口的引脚编号和下表进行连接。

模式001/101000/100010/011/110
引脚RS232RS422RS485
1TXD-Data-
2RXDTXD+Data+
3TXDRXD+
4RXD-
5GNDGNDGND
6
7RTS
8CTS
9

RS232 连接概述

在这里,您可以使用 USB 转 RS232 适配器测试接口。我们使用了 UGREEN USB 转 RS232 适配器 进行测试。

  • 步骤 1: 关闭开发板。

  • 步骤 2: 这里有两种选项可以设置 DIP 开关。可以选择 001 模式或 101 模式。每种模式的开关位置如下图所示:

  • 步骤 3: 将 USB 转 RS232 适配器连接到 DB9 接口。

  • 步骤 4: 将适配器的另一端连接到 PC 的 USB 接口。

  • 步骤 5: 打开开发板。

RS232 使用方法

  • 步骤 1: 您可能需要为所使用的适配器安装驱动程序,或者 Windows 会自动为您安装驱动程序。在 Windows 搜索框中输入 设备管理器 打开设备管理器,检查是否可以看到已连接的适配器作为 COM 设备。
  • 步骤 2: 如果看不到适配器,您需要根据所使用的适配器安装驱动程序。通常可以在制造商的网站上找到这些驱动程序。对于我们使用的适配器,您可以访问 此页面,搜索 20201 作为型号并下载相应的驱动程序。

  • 步骤 3: 在 PC 上打开 Putty,选择 Terminal 部分并设置以下内容:

    • 本地回显:强制开启
    • 本地行编辑:强制开启
  • 步骤 4: 选择 Session,在 Connection type 下选择 Serial,根据 设备管理器 中看到的内容设置串口号,保持速度为默认值(9600),然后点击 Open
  • 步骤 5: 在 reServer Industrial 终端窗口中输入以下命令,从 reServer Industrial 向 PC 发送信号:
sudo chmod 777 /dev/ttyTHS0
sudo echo "RS232 message from reServer Industrial" > /dev/ttyTHS0

现在,您将在 Putty 上看到此消息。

  • 步骤 6: 在 reTerminal Industrial 终端窗口中输入以下命令,等待从 PC 接收信号:
sudo cat /dev/ttyTHS0
  • 步骤 7: 在 Putty 上输入任何内容,按 ENTER,它将显示在 reServer Industrial 终端窗口中。

RS422 连接概述

在这里,您可以使用 USB 转 RS422 适配器测试接口。我们使用了 DTech USB 转 RS485 适配器 进行测试。

  • 步骤 1: 关闭开发板。

  • 步骤 2: 这里有两种选项可以设置 DIP 开关。可以选择 000 模式或 100 模式。每种模式的开关位置如下图所示:

  • 步骤 3: 使用跳线将 USB 转 RS422 适配器连接到 DB9 接口,如下图所示。这里我们连接了上述提到的适配器。
  • 步骤 4: 将适配器的另一端连接到 PC 的 USB 接口。

  • 步骤 5: 打开开发板。

RS422 使用方法

  • 步骤 1: 您可能需要为所使用的适配器安装驱动程序,或者 Windows 会自动为您安装驱动程序。在 Windows 搜索框中输入 设备管理器 打开设备管理器,检查是否可以看到已连接的适配器作为 COM 设备。
  • 步骤 2: 如果看不到适配器,您需要根据所使用的适配器安装驱动程序。通常可以在制造商的网站上找到这些驱动程序。对于我们使用的适配器,您可以访问 此页面

  • 步骤 3: 在 PC 上打开 Putty,选择 Terminal 部分并设置以下内容:

    • 本地回显:强制开启
    • 本地行编辑:强制开启
  • 步骤 4: 选择 Session,在 Connection type 下选择 Serial,根据 设备管理器 中看到的内容设置串口号,保持速度为默认值(9600),然后点击 Open
  • 步骤 4: 在 reServer Industrial 的终端窗口中,输入以下命令,从 reServer Industrial 向 PC 发送信号:
sudo chmod 777 /dev/ttyTHS0
sudo echo "RS422 message from reComputer Industrial" > /dev/ttyTHS0

现在你将在 Putty 上看到此消息。

  • 步骤 5: 在 reTerminal Industrial 的终端窗口中,输入以下命令以等待接收来自 PC 的信号:
sudo cat /dev/ttyTHS0
  • 步骤 6: 在 Putty 上输入任意内容,按下 ENTER,它将显示在 reServer Industrial 的终端窗口中。

RS485 连接概述

在这里,你可以使用 USB 转 RS422 适配器来测试接口。我们使用了 DTech USB 转 RS485 适配器 进行测试。

  • 步骤 1: 关闭开发板。

  • 步骤 2: 这里有 3 种选项可以设置 DIP 开关。可以设置为 010 模式、011 模式或 110 模式。每种模式的开关位置如下图所示:

  • 步骤 3: 使用跳线将 USB 转 RS422 适配器连接到 DB9 接头,如下图所示。这里我们连接了上述提到的适配器:
  • 步骤 4: 将另一端连接到 PC 的一个 USB 端口。

  • 步骤 5: 打开开发板。

RS485 使用方法

  • 步骤 1: 你可能需要为所使用的适配器安装驱动程序,或者 Windows 会自动安装驱动程序。在 Windows 搜索中输入 Device Manager 打开设备管理器,并检查是否可以看到连接的适配器作为 COM 设备。
  • 步骤 2: 如果看不到适配器,你需要根据所使用的适配器安装驱动程序。通常可以在制造商的网站上找到这些驱动程序。对于我们使用的适配器,可以参考 此页面

  • 步骤 3: 在 PC 上打开 Putty,选择 Terminal 部分并设置以下内容:

    • Local echo: Force on
    • Local line editing: Force on
  • 步骤 4: 选择 Session,在 Connection type 下选择 Serial,根据设备管理器中看到的串口号设置串口号,保持速度为默认值(9600),然后点击 Open
  • 步骤 4: 在 reServer Industrial 的终端窗口中,输入以下命令,从 reServer Industrial 向 PC 发送信号:
sudo su 
cd /sys/class/gpio
echo 460 > export
cd PR.04
echo out > direction
echo 0 > value
echo "RS485 message from reServer Industrial" > /dev/ttyTHS0

现在你将在 Putty 上看到此消息。

  • 步骤 5: 在 reTerminal Industrial 的终端窗口中,输入以下命令以等待接收来自 PC 的信号:
sudo su
cd /sys/class/gpio
echo 460 > export
cd PR.04
echo out > direction
echo 1 > value
cat /dev/ttyTHS0
  • 步骤 6: 在 Putty 上输入任意内容,按下 ENTER,它将显示在 reServer Industrial 的终端窗口中。

USB

reServer Industrial 配备了 3 个 USB3.2 接口,具有以下功能:

  • 在双层 USB 接口上,上下 USB 端口共享一个限流 IC,总供电能力为最大输出电流 2.1A(单个端口也可以达到 2.1A)。如果超过 2.1A,将进入过流保护状态。
  • 在双层 USB 接口旁边的单个 USB 接口上,总供电能力为最大输出电流 2.1A。如果超过 2.1A,将进入过流保护状态。
  • Orin NX 模块配备了 3 个 USB3.2,其中只有一个在 reServer Industrial 中使用,并转换为 3 路(USB3.1 TYPE-A x2 - J4 和 USB3.1 TYPE-A x1 - J3)。
  • 仅支持 USB 主机模式,不支持设备模式。
  • 提供 5V 2.1A。
  • 支持热插拔。

使用方法

我们将解释如何对连接的 USB 闪存驱动器进行简单的基准测试。

  • 步骤 1: 执行以下命令检查写入速度:
sudo dd if=/dev/zero of=/dev/$1 bs=100M count=10 conv=fdatasync
  • 步骤 2: 执行以下命令检查读取速度。确保在执行写入速度测试后再执行此命令:
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sudo dd if=/dev/$1 of=/dev/null bs=100M count=10

可配置 LED

开发板上有一个绿色 LED,如下图所示。默认情况下,它用作指示设备正常运行的 LED。然而,你也可以通过系统编程来控制此 LED 的开关。

使用方法

  • 步骤 1: 在终端窗口中输入以下命令以访问绿色 LED:
sudo -i
cd /sys/class/gpio
echo 329 > export
cd PCC.01
echo out > direction
  • 步骤 2: 关闭 LED:
echo 0 > value 
  • 步骤 3: 打开 LED:
echo 1 > value 

如果你完成了对 LED 的使用,可以执行以下命令:

cd ..
echo 329 > unexport

监控系统性能

我们可以使用 jetson stats 应用程序来监控系统组件的温度,并检查其他系统详细信息,例如:

  • 查看 CPU、GPU、RAM 的使用情况。

  • 更改电源模式。

  • 设置为最大时钟频率。

  • 检查 JetPack 信息。

  • 步骤 1: 在 reServer Industrial 的终端窗口中输入以下命令:

sudo apt update
sudo apt install python3-pip -y
sudo pip3 install jetson-stats
  • 步骤 2: 重启开发板
sudo reboot
  • 步骤 3: 在终端中输入以下命令
jtop

现在 jtop 应用程序将会打开,如下所示:

  • 步骤 4: 您可以浏览应用程序的不同页面并探索所有功能!

TPM

reServer Industrial 配备了一个 TPM 接口,用于连接外部 TPM 模块。这里我们使用基于 Infineon SLB9670 的 TPM2.0 模块进行了测试。

连接概览

将 TPM 模块连接到 TPM 接口,如下图所示:

使用方法

通过执行以下命令检查 TPM 模块是否正确加载:

sudo dmesg | grep TPM
ls /dev/tpm* -l

您将看到如下输出:

reServer Industrial 的最大性能

如果您希望在 reServer Industrial 上启用最大性能,请按照以下说明操作:

  • 步骤 1: 输入以下命令以启用最大功率模式:
sudo nvpmodel -m 0

此时系统会提示您输入 YES 以重启开发板。

  • 步骤 2: 开发板启动后,输入以下命令将 CPU 时钟设置为最大频率:
sudo jetson_clocks

GPIO 表

您可以访问 reServer Industrial 的 GPIO 表,以熟悉所有引脚的映射。

在终端中执行以下命令以访问:

sudo cat /sys/kernel/debug/gpio

您将看到如下输出:

gpiochip2: GPIOs 300-315, parent: i2c/1-0021, 1-0021, can sleep:
gpio-300 (wl_dis |gpio_xten_pin@0 ) out hi
gpio-301 (hst_wake_wl |gpio_xten_pin@1 ) out hi
gpio-302 (wl_wake_hst |gpio_xten_pin@2 ) out hi ACTIVE LOW
gpio-303 (bt_dis |gpio_xten_pin@3 ) out hi
gpio-304 (hst_wake_bt )
gpio-305 (bt_wake_hst )
gpio-306 (spi0_rst_3v3 |gpio_xten_pin@6 ) out lo ACTIVE LOW
gpio-307 (gpio_pin7 |gpio_xten_pin@7 ) out lo ACTIVE LOW
gpio-308 (can_120R_en )
gpio-309 (M2B_PCIe_rst )
gpio-310 (USB_HUB_rst |gpio_xten_pin@10 ) out hi
gpio-311 (PCIe_ETH_rst )
gpio-312 (M2B_WOWWAN )
gpio-313 (M2B_DPR_3V3 )
gpio-314 (SIM_MUX_SEL )
gpio-315 (gpio_pin15 )

gpiochip1: GPIOs 316-347, parent: platform/c2f0000.gpio, tegra234-gpio-aon:
gpio-316 (PAA.00 )
gpio-317 (PAA.01 )
gpio-318 (PAA.02 )
gpio-319 (PAA.03 )
gpio-320 (PAA.04 )
gpio-321 (PAA.05 |fixed-regulators:reg) out hi
gpio-322 (PAA.06 )
gpio-323 (PAA.07 )
gpio-324 (PBB.00 )
gpio-325 (PBB.01 )
gpio-326 (PBB.02 )
gpio-327 (PBB.03 )
gpio-328 (PCC.00 )
gpio-329 (PCC.01 )
gpio-330 (PCC.02 )
gpio-331 (PCC.03 |mux ) out hi
gpio-332 (PCC.04 )
gpio-333 (PCC.05 )
gpio-334 (PCC.06 )
gpio-335 (PCC.07 )
gpio-336 (PDD.00 )
gpio-337 (PDD.01 )
gpio-338 (PDD.02 )
gpio-339 (PEE.00 )
gpio-340 (PEE.01 )
gpio-341 (PEE.02 )
gpio-342 (PEE.03 )
gpio-343 (PEE.04 |power-key ) in hi IRQ ACTIVE LOW
gpio-344 (PEE.05 )
gpio-345 (PEE.06 )
gpio-346 (PEE.07 )
gpio-347 (PGG.00 )
gpiochip0: GPIOs 348-511, parent: platform/2200000.gpio, tegra234-gpio:
gpio-348 (PA.00 |fixed-regulators:reg) out lo
gpio-349 (PA.01 )
gpio-350 (PA.02 )
gpio-351 (PA.03 )
gpio-352 (PA.04 )
gpio-353 (PA.05 )
gpio-354 (PA.06 )
gpio-355 (PA.07 )
gpio-356 (PB.00 )
gpio-357 (PC.00 )
gpio-358 (PC.01 )
gpio-359 (PC.02 )
gpio-360 (PC.03 )
gpio-361 (PC.04 )
gpio-362 (PC.05 )
gpio-363 (PC.06 )
gpio-364 (PC.07 )
gpio-365 (PD.00 )
gpio-366 (PD.01 )
gpio-367 (PD.02 )
gpio-368 (PD.03 )
gpio-369 (PE.00 )
gpio-370 (PE.01 )
gpio-371 (PE.02 )
gpio-372 (PE.03 )
gpio-373 (PE.04 )
gpio-374 (PE.05 )
gpio-375 (PE.06 )
gpio-376 (PE.07 )
gpio-377 (PF.00 )
gpio-378 (PF.01 )
gpio-379 (PF.02 )
gpio-380 (PF.03 )
gpio-381 (PF.04 )
gpio-382 (PF.05 )
gpio-383 (PG.00 |force-recovery ) in hi IRQ ACTIVE LOW
gpio-384 (PG.01 )
gpio-385 (PG.02 )
gpio-386 (PG.03 )
gpio-387 (PG.04 )
gpio-388 (PG.05 )
gpio-389 (PG.06 )
gpio-390 (PG.07 |cd ) in lo IRQ
gpio-391 (PH.00 )
gpio-392 (PH.01 )
gpio-393 (PH.02 )
gpio-394 (PH.03 )
gpio-395 (PH.04 )
gpio-396 (PH.05 )
gpio-397 (PH.06 )
gpio-398 (PH.07 )
gpio-399 (PI.00 )
gpio-400 (PI.01 )
gpio-401 (PI.02 )
gpio-402 (PI.03 )
gpio-403 (PI.04 )
gpio-404 (PI.05 )
gpio-405 (PI.06 )
gpio-406 (PJ.00 )
gpio-407 (PJ.01 )
gpio-408 (PJ.02 )
gpio-409 (PJ.03 )
gpio-410 (PJ.04 )
gpio-411 (PJ.05 )
gpio-412 (PK.00 )
gpio-413 (PK.01 )
gpio-414 (PK.02 )
gpio-415 (PK.03 )
gpio-416 (PK.04 )
gpio-417 (PK.05 )
gpio-418 (PK.06 )
gpio-419 (PK.07 )
gpio-420 (PL.00 )
gpio-421 (PL.01 )
gpio-422 (PL.02 |nvidia,pex-wake ) in hi ACTIVE LOW
gpio-423 (PL.03 )
gpio-424 (PM.00 )
gpio-425 (PM.01 )
gpio-426 (PM.02 )
gpio-427 (PM.03 )
gpio-428 (PM.04 )
gpio-429 (PM.05 )
gpio-430 (PM.06 )
gpio-431 (PM.07 )
gpio-432 (PN.00 )
gpio-433 (PN.01 )
gpio-434 (PN.02 )
gpio-435 (PN.03 )
gpio-436 (PN.04 )
gpio-437 (PN.05 )
gpio-438 (PN.06 )
gpio-439 (PN.07 )
gpio-440 (PP.00 )
gpio-441 (PP.01 )
gpio-442 (PP.02 )
gpio-443 (PP.03 )
gpio-444 (PP.04 )
gpio-445 (PP.05 )
gpio-446 (PP.06 )
gpio-447 (PP.07 )
gpio-448 (PQ.00 )
gpio-449 (PQ.01 )
gpio-450 (PQ.02 )
gpio-451 (PQ.03 )
gpio-452 (PQ.04 )
gpio-453 (PQ.05 )
gpio-454 (PQ.06 )
gpio-455 (PQ.07 )
gpio-456 (PR.00 )
gpio-457 (PR.01 )
gpio-458 (PR.02 )
gpio-459 (PR.03 )
gpio-460 (PR.04 )
gpio-461 (PR.05 )
gpio-462 (PX.00 )
gpio-463 (PX.01 )
gpio-464 (PX.02 )
gpio-465 (PX.03 )
gpio-466 (PX.04 )
gpio-467 (PX.05 )
gpio-468 (PX.06 )
gpio-469 (PX.07 )
gpio-470 (PY.00 )
gpio-471 (PY.01 )
gpio-472 (PY.02 )
gpio-473 (PY.03 )
gpio-474 (PY.04 )
gpio-475 (PY.05 )
gpio-476 (PY.06 )
gpio-477 (PY.07 )
gpio-478 (PZ.00 )
gpio-479 (PZ.01 |vbus ) in hi IRQ ACTIVE LOW
gpio-480 (PZ.02 )
gpio-481 (PZ.03 )
gpio-482 (PZ.04 )
gpio-483 (PZ.05 )
gpio-484 (PZ.06 |cs_gpio ) out lo
gpio-485 (PZ.07 )
gpio-486 (PAC.00 )
gpio-487 (PAC.01 )
gpio-488 (PAC.02 )
gpio-489 (PAC.03 )
gpio-490 (PAC.04 )
gpio-491 (PAC.05 )
gpio-492 (PAC.06 )
gpio-493 (PAC.07 )
gpio-494 (PAD.00 )
gpio-495 (PAD.01 )
gpio-496 (PAD.02 )
gpio-497 (PAD.03 )
gpio-498 (PAE.00 )
gpio-499 (PAE.01 )
gpio-500 (PAF.00 )
gpio-501 (PAF.01 )
gpio-502 (PAF.02 )
gpio-503 (PAF.03 )
gpio-504 (PAG.00 )
gpio-505 (PAG.01 )
gpio-506 (PAG.02 )
gpio-507 (PAG.03 )
gpio-508 (PAG.04 )
gpio-509 (PAG.05 )
gpio-510 (PAG.06 )
gpio-511 (PAG.07 )

资源

(更改链接)

技术支持

如果您有任何问题,请随时在我们的 论坛 提交问题。


Loading Comments...