reComputer Industrial J40, J30 系列硬件和接口使用
这页Wiki介绍了reComputer Industrial J4012,J4011,J3011和J3010上的各种硬件和接口,以及如何使用它们来扩展您的项目创意。
拆解 reComputer Industrial
首先我们最好先拆下外层外壳以便访问所有接口。按照下图所示,拧下背面的4颗螺丝,以拆解 reComputer Industrial。
CSI 摄像头接口
reComputer Industrial 配备了 2x 2-lane 15pin MIPI CSI camera connectors 并且支持如下摄像头。
IMX219 cameras
- Raspberry Pi Camera V2
- IMX219-130 8MP Camera with 130° FOV
- IMX219-160 8MP Camera with 160° FOV
- IMX219-200 8MP Camera with 200° FOV
- IMX219-77 8MP Camera with 77° FOV
- IMX219 M12/CS mount CMOS Camera Module
- IMX219-83 8MP 3D Stereo Camera Module
- IMX219-77IR 8MP IR Night Vision Camera with 77° FOV
- IMX219-160IR 8MP Camera with 160° FOV
- IMX219 M12/CS mount CMOS Camera Module
IMX477 cameras
连接概述
这里的2个CSI摄像头连接器标记为 CAM0 and CAM1。 您可以将一个摄像头连接到任意一个连接器,也可以同时将两个摄像头分别连接到两个连接器上。
- 步骤 1: 轻轻地拉出CSI连接器上的黑色锁扣
- 步骤 2: 将15针排线插入连接器,确保gold fingers朝下
- 步骤 3: 推入黑色锁扣,将排线固定到位。
使用方法:
首先,您需要配置板子以加载适用于您将使用的特定摄像头的驱动程序。对于此JetPack系统,内置了支持IMX219和IMX477摄像头的工具
- 步骤 1: 打开终端并允许以下代码:
sudo /opt/nvidia/jetson-io/jetson-io.py
- 步骤 2: 选择 Configure Jetson Nano CSI Connector
- 步骤 3: 选择 Configure for compatible hardware
- 步骤 4: 选择你想使用的摄像头
- 步骤 5: 选择 Save pin changes
- 步骤 6: 选择 Save and reboot to reconfigure pins
- 步骤 7: 按下键盘上的任意键,设备将重新启动并应用摄像头配置。
您可以通过两种不同的方法使用CSI摄像头。根据摄像头连接器,按照以下命令操作。
- 方法 1:
对于 CAM0 端口
nvgstcapture-1.0 sensor-id=0
对于 CAM1 端口
nvgstcapture-1.0 sensor-id=1
:::注意 如果你想要改变更多摄像头的设置,可以输入 "nvgstcapture-1.0 --help" 去获得所有可配置选项 :::
- 方法 2:
对于 CAM0 端口
gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=20/1, format=NV12' ! nvvidconv ! xvimagesink
对于 CAM1 端口
gst-launch-1.0 nvarguscamerasrc sensor-id=1 sensor-mode=0 ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=20/1, format=NV12' ! nvvidconv ! xvimagesink
:::注意 如果你想修改更多关于摄像头的设置, 你可以修改例如 width, height, framerate, format等的参数。 :::
RTC
reComputer Industrial配备了两种不同的方式去连接RTC电池
连接概述
- 方法 1:
将 3V CR1220 纽扣电池 插入板子上的RTC插座,如下所示。确保电池 正极 (+) 朝上。
- 方法 2:
将带有JST连接器的 3V CR2302 纽扣 连接到板子上的2针1.25mm JST插座,如下所示。
使用方法:
步骤 1: 按照上述提到的方式连接RTC电池。
步骤 2: 打开 reComputer Industrial
步骤 3: 在Ubuntu桌面上,点击右上角的下拉菜单,导航到
Settings > Date & Time
, 通过以太网电缆连接到网络,然后选择 Automatic Date & Time 以自动获取日期和时间。
:::注意 如果您尚未通过以太网连接到互联网,您可以在此手动设置日期/时间 :::
- 步骤 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: 请将以下内容添加到 Systemd 服务文件中
[Unit]
Description=Change system clock from hardware clock
[Service]
ExecStart=/usr/bin/hwtosys.sh
[Install]
WantedBy=multi-user.target
- 步骤 13: 重新加载 Systemd 守护进程
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
reComputer Industrial 出厂时包括一个连接到 M.2 Key M 插槽的 128GB SSD,预装有 JetPack 系统
连接概述
如果您想要更换机器中预装的 SSD 并安装新的 SSD,可以按照以下步骤进行操作。 这里我们仅建议使用容量为 128GB, 256GB 和 512GB Seeed SSD ,因为我们只测试过这些 SSD。此外,这个接口支持 PCIe Gen4.0 SSD。
- 步骤 1: 拆卸预安装的硬盘螺丝
- 步骤 2: 将原装SSD从连接处取下
- 步骤 3: 插入新的 SSD 并拧紧螺丝
使用方法
接下来,我们将为您解答如何对连接的 SSD 进行简单的基准测试。
- 步骤 1: 通过运行以下指令测试写入速度
sudo dd if=/dev/zero of=/home/nvidia/test bs=1M count=512 conv=fdatasync
- 步骤 2: 通过运行以下指令测试读入速度 ,确保运行完上述测试写入速度的指令后再运行本指令。
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
sudo dd if=/home/nvidia/test of=/dev/null bs=1M count=512
mini PCIe
reComputer Industrial 配备了一个 mini PCIe 插槽,可以支持 4G 模块和 LoRa 模块。然而,您一次只能连接一个 4G 模块或一个 LoRa 模块。
4G模块连接概述
目前板子支持 EC25EUXGA 和 EC20CEHCLG 模块.
步骤 1: 请关闭板子电源如果板子开启着
步骤 2: 移除配件中的支撑垫。 当你使用 M.2 Key B 接口时才需要此支撑垫。
- 步骤 3: 将 4G 模块插入 mini PCIe 槽中,使用预装的螺钉,将其拧到两个孔上以确保 4G 模块稳固插入
- 步骤 4: 将天线插接到标有 MAIN 的天线连接器上。在这里,需要使用 IPEX 连接器。
- 步骤 5: 将支持 4G 的 Nano SIM 卡插入板上的 SIM 卡槽中,确保 SIM 卡底部的金属表面朝下。请将 SIM 卡插入到底部,以使其击中内部弹簧后会反弹并锁定在位
:::注意 如果你想要取下SIM卡, 请将卡向里按压后,其会被弹簧弹出。 :::
- 步骤 6: 在 J8 (Control and UART) Header的 SIM_MUX_SEL 和 GND引脚之间添加一条跳线
- 步骤 7: 打开板子电源
4G模块使用说明 - 测试拨号
使用EC25模块时,模块将自动启动并准备就绪。然而,使用EC20模块时,您需要重置该模块才能正常工作。
- 步骤 1: 如果您正在使用EC25模块,则可以跳过此步骤。但是,如果您正在使用EC20模块,则需要输入以下命令来访问GPIO309引脚,该引脚负责重置4G模块。
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模块,则可以跳过此步骤。但是,如果您还没有执行重置,请现在执行重置。
步骤 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: 您可以尝试使用以下方法对一个URL进行ping测试,以检查是否有互联网连接:
LoRa模块连接概述。
目前,此板支持WM1302 SPI模块。您可以使用我们的Bazaar上 美版 或 欧版
步骤 1: 如果板子已经开启,请关闭它。
步骤 2: 将LoRa模块滑入mini PCIe插槽,并使用预安装的螺丝将其固定在2个孔上,以确保4G模块处于正确的位置。
- 步骤 3: 将天线连接到天线接头上。在这里,您需要使用IPEX连接器。
:::注意 确保J8(控制和UART)标头上的SIM_MUX_SEL引脚和GND引脚之间没有跳线。这个跳线只在使用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灯变成了红色,则表示该模块已成功传输射频信号:
要停止发送信号,您可以在键盘上按下CTRL + C。
LoRa 模块使用说明 - 连接TTN
现在,我们将连接到TTN(The Things Network),并将reComputer 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 Stated 902-928 MHz, FSB 2 (used by TTN)。然后单击 Register gateway
:::注意 Gateway ID 已经自动填充。但是,您可以更改它为任何您喜欢的内容。 Gateway name 不是必须填写的。但是,您也可以根据个人喜好填写。 :::
- 步骤 9: 在网关主页上记录 Gateway Server Address
步骤 10: 在reTerminal Industrial上,编辑我们与lora_pkt_fwd命令一起使用的global_conf_json文件。在这里,您需要更改以下选项:gateway_ID、server_address、serv_port_up和serv_port_down。
- gateway_ID: 设备中的Concentrator EUI
- server_address: 从TTN获取的网关服务器地址
- serv_port_up: 1700
- serv_port_down: 1700
- 步骤 11: 重新运行数据包转发器。
sudo ./lora_pkt_fwd -c global_conf.json.sx1250.US915
如果您看到以下输出,那么设备已经成功连接到TTN:
M.2 Key B
reComputer Industrial带有一个M.2 Key B连接器,支持4G和5G模块。目前,我们已经测试了SIM8202G-M2 5G模块。
5G 模块连接概况
步骤 1: 如果板子已经开启,请关闭它。
步骤 2: 确保支架已经就位,然后取下支架上的螺钉。
- 步骤 3: 将5G模块滑入M.2 Key B插槽中,并将支架螺钉拧紧以固定5G模块的位置(关于支架的说明)。
- 步骤 4: 将4根天线连接到模块上的天线接头上。在这里,您需要使用IPEX 4连接器。
- 步骤 5: 将一张支持5G的nano SIM卡插入板子上的SIM卡槽中,确保SIM卡的金色表面朝下。在这里,将卡片插入到底部,使其在撞到内部弹簧后反弹回来并锁定。
:::注意 如果您想要取出SIM卡,请将卡片推入,撞到内部弹簧以便SIM卡从插槽中被弹出。 :::
- 步骤 6: 打开板子电源
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模块正常工作。
- 步骤 5: 输入命令 "ATI" 检查模块信息
- 步骤 6: 若要测试模块,请输入以下命令来拨打另一个电话号码:
ATD<phone_number>;
然后你会看到如下输出:
5G 模块使用说明 - 连接互联网
更新中......
DI/ DO
reComputer Industrial支持4个数字输入和4个数字输出通道,全部都进行了光电隔离,以有效地保护主板免受电压峰值或其他电气干扰的影响。这个连接器上还有一个CAN接口,我们稍后会在本文档中讨论。
DI/DO引脚分配表:
Type | Label Name | Schematic Signal | Module Pin Number | BGA Number | GPIO Number | V/A Limits | Note |
---|---|---|---|---|---|---|---|
Input | DI1 | DI_1_GPIO01 | 118 | PQ.05 | 453 | 12V/ 20mA current in total | 12V Digital Input, ground signal needs to be connected to GND_DI (Pin2/4/6) |
DI2 | DI_2_GPIO09 | 211 | PAC.06 | 492 | |||
DI3 | DI_3_GPIO11 | 216 | PQ.06 | 454 | |||
DI4 | DI_4_GPIO13 | 228 | PH.00 | 391 | |||
Output | DO1 | DO_1_GPIO | 193 | PI.00 | 399 | 40V/40mA load per pin | Digital output, maximum withstand voltage 40V, ground signal needs to be connected to GND_DO(Pin8/10) |
DO2 | DO_2_GPIO | 195 | PI.01 | 400 | |||
DO3 | DO_3_GPIO | 197 | PI.02 | 401 | |||
DO4 | DO_4_GPIO | 199 | PH.07 | 398 | |||
CAN | CH | / | CAN bus with standard differential signals, ground signal needs to be connected to GND_ISO (Pin 12) | ||||
CL | |||||||
Ground | GND_DI | / | The reference ground signal for the 12V Digital Input, which is also the return path for the DI | ||||
GND_DO | The reference ground signal of the digital output, which is also the return path of the DO | ||||||
CG | The reference ground signal for CAN |
DI(数字输入)的连接概述:
您可以按照下图所示进行DI的连接。最好为DI线添加上串联电阻。这里我们已经测试将一个4.7kΩ电阻连接到DI1引脚。
DI使用说明
您需要在DI线上输入12V的电压才能被检测为输入。
步骤 1: 按照上图所示连接到DI1引脚,并输入12V。
步骤 2: 按照以下步骤打开DI1的GPIO:
sudo su
cd /sys/class/gpio
echo 453 > export
cd PQ.05
:::注意 您可以参考DI/DO引脚分配表查找GPIO编号和BGA编号。在上面的例子中,DI1引脚的GPIO编号为453,BGA编号为PQ.05。 :::
- 步骤 3: 执行以下命令以检查DI线状态:
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
:::注意 您可以参考DI/DO引脚分配表查找GPIO编号和BGA编号。在上面的例子中,DO1引脚的GPIO编号为399,BGA编号为PI.00。 :::
- 步骤 3: 执行以下命令以打开该引脚:
echo 1 > value
如果负载锁定开启,或者万用表输出您输入的电压,则测试正确运行
CAN
reComputer Industrial具有支持5Mbps的CAN FD(控制器区域网络灵活数据速率)协议的CAN接口。CAN接口使用电容隔离进行隔离,从而提供出色的EMI保护,并确保在工业和自动化应用中进行可靠的通信。默认情况下安装了120Ω的终端电阻器,您可以使用GPIO切换此电阻器的开关。
注意: CAN接口使用隔离电源,这意味着连接到CAN接口的外部设备的地信号应连接到CG引脚。
USB转CAN适配器的连接概述:
要测试和连接CAN总线,请按照下面的方式将USB转CAN适配器连接到板子上的CAN接口上:
在这里,我们使用我们Bazaar上提供的USB to CAN Analyzer Adapter with USB Cable
USB转CAN适配器的使用说明:
步骤 1: 从制造商的网站下载您使用的USB转CAN适配器的驱动程序,并安装它。在我们的情况下,根据我们使用的适配器,驱动程序可以在以下位置找到:这
步骤 2: 有些适配器还配备了必要的PC软件,以便与CAN设备通信。在我们的情况下,根据我们使用的适配器,我们已经下载并安装了可以在以下位置找到的软件:这
步骤 3: 在reComputer 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: 在reComputer Industrial上,执行以下命令向PC发送CAN信号:
cansend can0 123#abcdabcd
现在,您将会看到上述信号被软件接收并显示如下。
- 步骤 10: 在reComputer Industrial上,执行以下命令等待接收来自PC的CAN信号。
candump can0 &
- 步骤 11: 在CAN软件上,点击“发送单帧”。
现在,您将会看到reComputer Industrial已接收到该数据,如下所示:
reTerminal DM的连接概览
如果您拥有一台reTerminal DM,你就可以直接与其通信,因为reTerminal DM也有CAN接口。
请参照下图通过CAN连接reComputer Industrial和reTerminal DM:
reTerminal DM的使用说明
步骤 1: 在使用reTerminal DM之前,请访问wiki以开始使用reTerminal DM。
步骤 2: 在reComputer 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: 如果在两台设备上都输入ifconfig,您将会看到CAN接口已启用 。
- 步骤 5: 在reTerminal DM上执行以下操作以等待从reComputer Industrial接收CAN信号
candump can0 &
- 步骤 6: 在reComputer Industrial上执行以下命令以向reTerminal Industrial发送CAN信号
cansend can0 123#abcdabcd
现在,您将会看到reTerminal DM已接收到该CAN信号,如下所示:
- 步骤 7: 重复步骤5和步骤6,但交换设备。使用reTerminal DM发送CAN信号,使用reComputer Industrial接收CAN信号。
RS232/ RS422/ RS485 接口
reComputer Industrial有一个DB9连接器,支持RS232,RS422和RS485通信协议,并且设备板上还有一个DIP开关面板可用于在不同的接口选项之间进行切换。
您可以看到如下所示的 DIP 开关面板:
:::注意 在使用 DIP 开关面板之前,请确保先移除黄色塑料盖板。 :::
下面的表格解释了基于 DIP 开关位置的不同模式:
MODE_0 | MODE_1 | MODE_2 | 模式 | 状态 | |
---|---|---|---|---|---|
0 | 0 | 0 | RS-422 Full Duplex | 1T/1R RS-422 | |
0 | 0 | 1 | Pure RS-232 | 3T/5R RS-232 | |
0 | 1 | 0 | RS-485 Half Duplex | 1T/1R RS-485 ,TX ENABLE Low Active | |
0 | 1 | 1 | RS-485 Half Duplex | 1T/1R RS-485 ,TX ENABLE High Active | |
1 | 0 | 0 | RS-422 Full Duplex | 1T/1R RS-422 with termination resistor | |
1 | 0 | 1 | Pure RS-232 | 1T/1R RS-232 co-exists with RS485 | |
无需总线即可进行的应用 | |||||
开关集成电路(用于特殊用途) | |||||
1 | 1 | 0 | RS-485 Half Duplex | 1T/1R RS-485 with termination resistor | |
TX ENABLE 低电平有效 | |||||
1 | 1 | 1 | Low Power | All I/O pins are High Impedance | |
关机 |
:::注意 开箱即用,开关的默认模式将设置为工厂预置的 RS485 010 模式。 :::
上述表格只考虑了 DIP 开关面板的前三个开关。然而,第四个开关的功能是切换斜率控制(slew rate),该控制器与数据传输速率直接相关。
状态 | 注意 | |
---|---|---|
1 | SLEW= Vcc 这种RS232 / RS422 / RS485多协议收发器限制了通信速率,如下所示: RS-232:最大数据率为1.5Mbps RS-485 / RS-422:最大数据率为10Mbps 实际的最大数据速率取决于所使用的Jetson SO使用情况。 | |
0 | SLEW = GND RS-232:最大数据率为250Kbps RS-485 / RS-422:最大数据率为250Kbps。 |
在此我们将使用 USB 转 RS232、RS485 和 RS422 适配器来测试接口。因此,在继续之前,您需要在您的 PC 上安装一个串行终端应用程序。这里我们建议您安装 Putty,它易于设置和使用。
- 步骤 1: 访问 网页](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) 根据您的PC架构下载 Putty。
在这里,我们根据使用的PC选择了 X86 Windows 64位机器的 Putty。
- 步骤 2: 打开下载的设置文件,并按照提示安装该应用程序。
通用连接概述
您可以参考DB9连接器的引脚编号和表格进行连接。
MODE | 001/101 | 000/100 | 010/011/110 |
---|---|---|---|
PIN | RS232 | RS422 | RS485 |
1 | TXD- | Data- | |
2 | RXD | TXD+ | Data+ |
3 | TXD | RXD+ | |
4 | RXD- | ||
5 | GND | GND | GND |
6 | |||
7 | RTS | ||
8 | CTS | ||
9 |
RS232 连接概述
在这里,您可以使用 USB 转 RS232 适配器来测试接口。我们使用了 UGREEN USB to RS232 Adapter 进行测试。
步骤 1: 将板子关机
步骤 2: 这里我们有两个选项来设置开关(DIP switches):001模式或101模式。每种模式对应的开关位置如下所示:
- 步骤 3: 将 USB 转 RS232 适配器连接到 DB9 连接器上。这里我们已经连接了上面提到的适配器。
步骤 4: 将另一端连接到您计算机上的一个 USB 端口。
步骤 5: 打开板子
RS232 Usage
- 步骤 1: 您可能需要为所使用的适配器安装驱动程序,或者 Windows 将自动为您安装驱动程序。在 Windows 搜索中键入 设备管理器,以查看连接的适配器是否被识别为 COM 设备。
步骤 2: 如果您无法看到适配器,则需要根据所使用的适配器安装驱动程序。通常,您可以在制造商的网站上找到这些驱动程序。对于我们使用的适配器,您可以访问 页面,搜索 20201 作为型号,并相应地下载驱动程序。
步骤 3: 在 PC 上打开 Putty,将 终端 部分并设置以下内容:
- Local echo: Force on
- Local line editing: Force on
- 步骤 4: 选择 会话,在 连接类型 下选择 串行,根据在设备管理器中看到的串口号设置串口号,保持速度为默认值(9600),然后单击 打开。
- 步骤 4: 在 reTerminal Industrial 终端窗口中,输入以下内容以从 reComputer 发送信号到 PC
sudo chmod 777 /dev/ttyTHS0
sudo echo "RS232 message from reComputer Industrial" > /dev/ttyTHS0
现在你会看到这些消息在putty上显示
- 步骤 5: 在 reTerminal Industrial 终端窗口中,输入以下内容以等待从 PC 接收信号:
sudo cat /dev/ttyTHS0
- 步骤 6:在 Putty 中输入任何内容,按 ENTER,然后它将在 reComputer Industrial 终端窗口中显示。
RS422 连接概述
在这里,您可以使用 USB 转 RS422 适配器来测试接口。我们使用了 DTech USB to RS485 Adapter 进行测试。
步骤 1: 将板子关机
步骤 2: 这里我们有两个选项来设置开关(DIP switches):000模式或100模式。每种模式对应的开关位置如下所示:
- 步骤 3: 将 USB 转 RS422 适配器通过跳线或线材连接到 DB9 连接器上,如下所示。这里我们连接的是上述提到的适配器。
步骤 4: 将另一端连接至您 PC 上的一个 USB 端口。
步骤 5: 打开板子
RS422 使用说明
- 步骤 1: 您可能需要为所使用的适配器安装驱动程序,否则 Windows 将自动为您安装驱动程序。通过在 Windows 搜索栏中输入 Device Manager ,进入设备管理器,查看您是否可以将连接的适配器识别为一个 COM 设备。
步骤 2: 如果您无法看到适配器,则需要根据您所使用的适配器安装驱动程序。通常情况下,您可以在制造商网站上找到这些驱动程序。对于我们正在使用的适配器,您可以通过网页
步骤 3: 在 PC 上打开 Putty,选择“Terminal”选项卡,进行以下设置:
- Local echo: Force on
- Local line editing: Force on
- 步骤 4: 选择 Session, 在 Coonection type下拉列表中选择 Serial, 根据Device Manager中显示的串口号设置相应的串口号,保持默认的波特率(9600),然后点击Open。
- 步骤 5: 在 reTerminal industrial 终端窗口中输入以下内容,以便从 reComputer 发送信号到 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”键,这些文字将会显示在 reComputer industrial 终端窗口中。
RS485 连接概述
在这里,您可以使用 USB 转 RS422 适配器来测试接口。我们在测试中使用了 DTech USB 转 RS485 适配器
步骤 1: 关闭板子
步骤 2: 这里有三个设置 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, 在 Coonection type下拉列表中选择 Serial,,根据Device Manager中显示的串口号设置相应的串口号,保持默认的波特率(9600),然后点击 Open
- 步骤 4: 在 reTerminal industrial 终端窗口中,输入以下命令,以将信号从 reComputer 发送到 PC:
sudo su
cd /sys/class/gpio
echo 460 > export
cd PR.04
echo out > direction
echo 0 > value
echo "RS485 message from reComputer 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 ,信息会在reComputer Industrial终端窗口中显示。
千兆以太网连接器
reComputer Industrial 上有两个千兆以太网(10/100/1000M)连接器,它们的功能不同:
- 最左边的连接器直接连接到 Jetson 模块,可以提供 PSE 802.3 af, 15W 规格的 PoE 功能。这意味着您可以将 PoE IP 摄像机或任何其他 PoE 设备连接到此端口,为连接的设备提供电力。
- 另一个连接器通过 PCIe 到以太网 (LAN7430-I/Y9X) 模块连接。
每个以太网端口都有 2 个 LED(绿色和黄色),分别表示以下内容:
- 绿色 LED:只有在连接到 1000M 网络时才会点亮
- 黄色 LED:显示网络活动状态
USB
reComputer Industrial 配备了 3 个 USB3.2 连接器,并拥有以下特性:
- 在双重叠加 USB 连接器上,上下 USB 端口共享一个限流集成电路,最大输出电流为 2.1A(单个也可以是 2.1A)。如果超过了 2.1A,则会进入过流保护状态。
- 在双重叠加 USB 连接器旁边的单个 USB 连接器上,最大输出电流为 2.1A。如果超过了 2.1A,则会进入过流保护状态。
- Orin NX 模块配备了 3 个 USB3.2,只有一个被用于 reComputer,并转换成 3 种方式。(USB3.1 TYPE-A x2 - J4 和 USB3.1 TYPE-A x1 - J3)。
- 仅支持 USB Host,不支持设备模式。
- 提供 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: 在 reComputer industrial 终端窗口中,输入以下命令
sudo apt update
sudo apt install python3-pip -y
sudo pip3 install jetson-stats
- 步骤 2: 重启板子
sudo reboot
- 步骤 3: 在终端中输入如下指令
jtop
现在 jtop 应用将会被打开,如下所示:
- 步骤 4: 在此您可以浏览应用程序的不同页面,探索所有功能!
WiFi 和 蓝牙
reComputer Industrial 在开箱时不具备 WiFi 和蓝牙功能。但是,板子上留有保留区域,以便将 WiFi / 蓝牙模块焊接到板子上。在这里,我们预留了支持 BL-M8723DU1 模块的空间。
连接概述
- 步骤 1: 如果您想自己焊接 BL-M8723DU1 模块,您可以进行焊接。但是我们不建议这么做,因为如果在此过程中损坏了板子,那么保修将会失效。我们建议使用我们的专业服务来帮助您将该模块焊接到板子上,并通过发送电子邮件至 [email protected] 来提出您的要求。
- 步骤 2: 连接两个天线到板子上的两个天线连接器,一个用于 WiFi,一个用于蓝牙。在这里,您需要使用一个 IPX 连接器。
使用说明
- 步骤 1: 打开板子电源,一旦设备进入 Ubuntu 桌面,请单击右上角的下拉菜单,导航到
Settings > Wi-Fi
,切换标题栏上的按钮以启用 WiFi。之后选择一个 WiFi 网络,输入所需的密码并连接到该网络。
- 步骤 2: 在同一窗口中,选择“Bluetooth”,切换标题栏上的按钮以启用蓝牙。之后选择一个蓝牙设备连接到它。
TPM
reComputer Industrial 配备了 TPM 接口,用于连接外部 TPM 模块。在这里,我们使用基于 Infineon SLB9670 的 TPM2.0 模块进行测试。
连接概述
按照下面的图示将 TPM 模块连接到 TPM 连接器上:
使用说明
通过执行以下命令来检查 TPM 模块是否被正确加载:
sudo dmesg | grep TPM
ls /dev/tpm* -l
然后你会看到如下输出
reComputer Industrial最优性能表现
如果您想在 reComputer industrial 版上启用最大性能,请按照以下说明操作:
- 步骤 1: 输入以下命令以启用最大功率模式:
sudo nvpmodel -m 0
这里它会要求输入 YES 以重新启动板子。
- 步骤 2: 板子启动后,输入以下命令以将 CPU 时钟频率设置为最大频率。
sudo jetson_clocks
GPIO 表
您可以访问 reComputer industrial 版的 GPIO 表格,以熟悉所有引脚映射。
在终端中执行以下命令即可进入 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 )
技术支持
如遇到问题,请提交到 论坛.