配置 reComputer Industrial R20xx
概述
学习如何在安装设备后配置和测试 reComputer Industrial R20xx 系列的硬件组件。本 wiki 涵盖 GPIO 映射、USER LED 测试、SPI 通信、Wi-Fi 和蓝牙扫描、LoRa®、4G、5G、通过 Mini-PCIe 的 Zigbee、RS485、RS232、DI/DO 测试、用于安全关机的 UPS 等更多内容。

查询 GPIO 映射和偏移量
要查询 GPIO 映射和偏移量,请按照以下步骤操作:
- 复制并粘贴以下命令来查询 GPIO 映射:
cat /sys/kernel/debug/gpio
此命令将显示 GPIO 映射和偏移量,为调试或配置 GPIO 引脚提供重要信息。
USER LED 测试
我们提供红色、蓝色和绿色三种颜色的 LED 供用户使用。您可以进入 /sys/class/leds/ 目录查看:
1. 导航到 LED 目录
cd /sys/class/leds/
ls
使用以下命令点亮相应颜色的 LED。
sudo su
echo 1 > /sys/class/leds/led-red//brightness
echo 1 > /sys/class/leds/led-blue/brightness
echo 1 > /sys/class/leds/led-green/brightness
这将点亮相应的 LED。
3. 关闭 LED(可选)
要关闭特定的 LED,请使用:
echo 0 > /sys/class/leds/led-red/brightness
echo 0 > /sys/class/leds/led-blue/brightness
echo 0 > /sys/class/leds/led-green/brightness
测试 SPI 通信
要通过短接 TPM 模块的 MISO 和 MOSI 引脚来测试 SPI 通信,请按照以下步骤操作:
- 克隆 spidev-test 仓库:
# Don't forget to connect to network before running command
git clone https://github.com/rm-hull/spidev-test.git
- 导航到 spidev-test 目录:
cd spidev-test
- 编译 spidev_test.c 文件:
gcc spidev_test.c -o spidev_test
- 使用以下命令运行 spidev_test 程序:
./spidev_test -D /dev/spidev10.0 -v -p hello
此命令在指定的 SPI 设备(/dev/spidev10.0)上测试 SPI 通信,使用详细输出(-v)并发送消息"hello"(-p hello)。 通过短接 TPM 模块的 MISO 和 MOSI 引脚,您实际上创建了一个回环场景,其中在 MOSI 上发送的数据在 MISO 上接收。这种设置允许您在没有实际设备连接的情况下测试 SPI 通信。
Wi-Fi 扫描
要列出可用的 Wi-Fi 网络及其详细信息,请运行:
sudo iwlist wlan0 scan
- 此命令扫描所有附近的 Wi-Fi 网络并显示其 SSID、信号强度和加密类型。
蓝牙扫描
要扫描蓝牙设备,请按照以下步骤操作:
打开蓝牙控制界面:
sudo bluetoothctl
此命令将打开蓝牙控制界面。从那里,您可以运行其他命令来扫描附近的蓝牙设备。
启用扫描:
scan on
此命令将开始扫描附近的蓝牙设备。然后您可以在 bluetoothctl 界面内使用其他命令与蓝牙设备交互,例如配对或连接到它们。
通过 Mini-PCIe 的 LoRa®
LoRa® SPI 配置
在将 LoRa® SPI 安装到 Mini-PCIe 插槽 2 后,可以配置 LoRa® SPI,请按照以下步骤操作:
- 克隆 SX1302_HAL 仓库:
cd ~/
git clone https://github.com/Lora-net/sx1302_hal
- 导航到克隆的目录:
cd sx1302_hal
- 修改配置文件:
打开 I2C 设备配置文件:
sudo nano ./libloragw/inc/loragw_i2c.h
更改此行:
#define I2C_DEVICE "/dev/i2c-1"
改为:
#define I2C_DEVICE "/dev/i2c-2"
将 #define I2C_DEVICE "/dev/i2c-1" 更改为 #define I2C_DEVICE "/dev/i2c-2"。 按 ctrl+x 退出,按 y 保存更改,然后按 Enter 返回命令行页面。
- 添加 packet_forwarder/reset_lgw.sh 文件:
sudo nano packet_forwarder/reset_lgw.sh
添加执行代码:
#!/bin/sh
# This script is intended to be used on SX1302 CoreCell platform, it performs
# the following actions:
# - export/unpexort GPIO23 and GPIO18 used to reset the SX1302 chip and to enable the LDOs
# - export/unexport GPIO22 used to reset the optional SX1261 radio used for LBT/Spectral Scan
#
# Usage examples:
# ./reset_lgw.sh stop
# ./reset_lgw.sh start
# GPIO mapping has to be adapted with HW
#
SX1302_RESET_PIN=632 # SX1302 reset
SX1302_POWER_EN_PIN=633 # SX1302 power enable
SX1261_RESET_PIN=634 # SX1261 reset (LBT / Spectral Scan)
AD5338R_RESET_PIN=623 # AD5338R reset (full-duplex CN490 reference design)
WAIT_GPIO() {
sleep 0.1
}
init() {
# setup GPIOs
echo "$SX1302_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO
echo "$SX1261_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO
echo "$SX1302_POWER_EN_PIN" > /sys/class/gpio/export; WAIT_GPIO
echo "$AD5338R_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO
# set GPIOs as output
echo "out" > /sys/class/gpio/gpio$SX1302_RESET_PIN/direction; WAIT_GPIO
echo "out" > /sys/class/gpio/gpio$SX1261_RESET_PIN/direction; WAIT_GPIO
echo "out" > /sys/class/gpio/gpio$SX1302_POWER_EN_PIN/direction; WAIT_GPIO
echo "out" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/direction; WAIT_GPIO
}
reset() {
echo "CoreCell reset through GPIO$SX1302_RESET_PIN..."
echo "SX1261 reset through GPIO$SX1302_RESET_PIN..."
echo "CoreCell power enable through GPIO$SX1302_POWER_EN_PIN..."
echo "CoreCell ADC reset through GPIO$AD5338R_RESET_PIN..."
# write output for SX1302 CoreCell power_enable and reset
echo "1" > /sys/class/gpio/gpio$SX1302_POWER_EN_PIN/value; WAIT_GPIO
echo "1" > /sys/class/gpio/gpio$SX1302_RESET_PIN/value; WAIT_GPIO
echo "0" > /sys/class/gpio/gpio$SX1302_RESET_PIN/value; WAIT_GPIO
echo "0" > /sys/class/gpio/gpio$SX1261_RESET_PIN/value; WAIT_GPIO
echo "1" > /sys/class/gpio/gpio$SX1261_RESET_PIN/value; WAIT_GPIO
echo "0" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/value; WAIT_GPIO
echo "1" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/value; WAIT_GPIO
}
term() {
# cleanup all GPIOs
if [ -d /sys/class/gpio/gpio$SX1302_RESET_PIN ]
then
echo "$SX1302_RESET_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
if [ -d /sys/class/gpio/gpio$SX1261_RESET_PIN ]
then
echo "$SX1261_RESET_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
if [ -d /sys/class/gpio/gpio$SX1302_POWER_EN_PIN ]
then
echo "$SX1302_POWER_EN_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
if [ -d /sys/class/gpio/gpio$AD5338R_RESET_PIN ]
then
echo "$AD5338R_RESET_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
}
case "$1" in
start)
term # just in case
init
reset
;;
stop)
reset
term
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
按 ctrl+x 退出,按 y 保存更改,然后按 Enter 返回命令行页面。
- 修改配置代码:
sudo vim ./tools/reset_lgw.sh
更新引脚配置:
SX1302_RESET_PIN=632 # SX1302 reset
SX1302_POWER_EN_PIN=633 # SX1302 power enable
SX1261_RESET_PIN=634 # SX1261 reset (LBT / Spectral Scan)
# AD5338R_RESET_PIN=13 # AD5338R reset (full-duplex CN490 reference design)
分别注释掉第 18、29、35、42、53 和 54 行:
......
# echo "$AD5338R_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO
......
# echo "out" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/direction; WAIT_GPIO
......
# echo "CoreCell ADC reset through GPIO$AD5338R_RESET_PIN..."
......
# echo "0" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/value; WAIT_GPIO
# echo "1" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/value; WAIT_GPIO
按 ctrl+x 退出,按 y 保存更改,然后按 Enter 返回命令行页面。
- 在 global_conf.json.sx1250.US915 配置文件中替换 LoraWAN® 模块的默认 SPI 端口(根据您使用的模块选择配置文件):
sudo nano packet_forwarder/global_conf.json.sx1250.US915
修改 com_path 参数,将 "com_path": "/dev/spidev0.0" 更改为 "com_path": "/dev/spidev2.0"。
- 编译代码:
sudo make
这些步骤将配置 LoRa® SPI 并使用指定的配置文件运行数据包转发器。

LoRa® USB 配置
对于 LoRa® USB,之前的命令与 LoRa® SPI 相同。但是,最终命令需要更改为:
cho 632 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio632/direction
echo "1" > /sys/class/gpio/gpio632/value
sudo ./lora_pkt_fwd -c global_conf.json.sx1250.EU868.USB

此命令指定用于 LoRa® USB 的配置文件。
通过 M.2 B-KEY 的 5G 蜂窝网络
要通过 minicom 使用 AT 命令与 5G/4G 模块交互,请按照以下步骤操作:
- 创建新的 power_5g.sh 文件:
nano power_5g.sh
使用 sudo nano 打开并输入以下命令,然后按 ctrl+x 保存并退出。
#!/bin/bash
RESET_PIN=645
POWER_PIN=639
if [ ! -d "/sys/class/gpio/gpio$RESET_PIN" ]; then
echo $RESET_PIN > /sys/class/gpio/export
fi
if [ ! -d "/sys/class/gpio/gpio$POWER_PIN" ]; then
echo $POWER_PIN > /sys/class/gpio/export
fi
echo "out" > /sys/class/gpio/gpio$RESET_PIN/direction
echo "out" > /sys/class/gpio/gpio$POWER_PIN/direction
echo 1 > /sys/class/gpio/gpio$RESET_PIN/value
echo 1 > /sys/class/gpio/gpio$POWER_PIN/value
echo "Start to reboot 5g module"
echo 0 > /sys/class/gpio/gpio$RESET_PIN/value
sleep 0.05
echo 0 > /sys/class/gpio/gpio$POWER_PIN/value
echo "5g module reboot completed"
- 执行文件:
sudo ./power_5g.sh
等待 10-15 秒(模块需要一些时间来启动和枚举 USB),检查设备节点是否出现:
ls /dev/ttyUSB*
输出 /dev/ttyUSB0 等:

使用适当的串口和波特率打开 minicom:
sudo apt update
sudo apt install minicom
sudo minicom -D /dev/ttyUSB2 -b 115200
此命令以 115200 的波特率打开指定串口(/dev/ttyUSB2)的 minicom。
- 一旦 minicom 打开,您可以开始向 4G 模块发送 AT 命令。例如:
AT
此命令检查模块是否响应。如果模块工作正常,您应该收到***"OK"***响应。
- 要使用 4G 模块拨打电话号码,您可以使用 ATD 命令后跟电话号码:
ATD<phone_number>;
将phone_number替换为您要拨打的所需电话号码。 确保在命令末尾包含分号;以表示电话号码的结束。
通过 Mini-PCIe 的 4G 蜂窝网络
创建一个新的 power_4g.sh 文件:
sudo nano power_4g.sh
使用 sudo nano 打开并输入以下命令,然后按 ctrl+x 保存并退出。
# SIM_MUX_SEL
echo 643 > export
echo out > gpio643/direction
echo 0 > gpio643/value
执行文件:
sudo ./power_4g.sh
等待 10-15 秒(模块需要一些时间来启动和枚举 USB),检查设备节点是否出现:
ls /dev/ttyUSB*
输出 /dev/ttyUSB0。 确认 GPIO 的实际动作:
cat /sys/class/gpio/gpio645/value # should be 0
cat /sys/class/gpio/gpio639/value # should be 0
两个值都是 0 → 脚本已正确拉低,模块处于工作状态。 进入 minicom 发送命令:
sudo minicom -D /dev/ttyUSB2 -b 115200
● 依次按Ctrl+A,Z,E。首先发送 AT 测试是否连接。如果出现 OK,则连接成功。 执行以下命令后,模块将自动重启。如果您不退出 minicom,可以看到相应的配置信息。 ECM 拨号上网:
AT+QCFG="usbnet",1
直到最后一行显示 OK,就成功了。
注意 设备需要等待一段时间,然后您可以在 ifconfig 中查看 usb0 的 ip 地址。
测试网络状态和通信:
# Check network status
ifconfig
# Test communication
ping www.baidu.com -I usb0
通过 Mini-PCIe 的 Zigbee
要测试两个 Zigbee 模块之间的Zigbee 通信,请按照以下步骤操作:
- 检查可用串口
使用以下命令检查可用串口:
cat /dev/ttyUSB*
安装串口通信工具
- 安装串口通信工具:
sudo apt-get install cutecom
- 为协调器(第一个 Zigbee 模块)打开串口:
- 打开 cutecom 工具并为第一个串口配置:
- 波特率:115200
- 勾选界面底部的***"Hex output"***选项。
- 按照以下步骤配置第一个 Zigbee 模块:
- 设置为协调器:发送命令***'55 04 00 05 00 05',期望响应'55 04 00 05 00 05'***。
- 重置设备:按重置按钮或发送命令***'55 07 00 04 00 FF FF 00 04'***。
- 网络组建:发送命令***'55 03 00 02 02'***。
- 为路由器(第二个 Zigbee 模块)打开串口: 打开另一个cutecom实例,并使用与之前相同的设置为第二个串口配置。 按照以下步骤配置第二个 Zigbee 模块:
- 设置为路由器:发送命令***'55 04 00 05 01 04',期望响应'55 04 00 05 00 05'***。
- 重置设备:按重置按钮或发送命令***'55 07 00 04 00 FF FF 00 04'***。
- 网络组建:发送命令***'55 03 00 02 02'***。
- 检查设备状态: 发送命令***'55 03 00 00 00'检查设备状态。期望响应类似'55 2a 00 00 00 01 XX XX XX XX'***,其中'XX'表示设备信息。
- 进入透明模式: 如果网络组建成功,通过发送命令55 07 00 11 00 03 00 01 13进入透明模式。两个模块都应该处于透明模式以进行直接通信。要退出透明模式,发送"+++"。
- 附加说明:
- 如果路由器配置失败,设备可能已经是协调器。使用命令'55 07 00 04 02 xx xx xx'离开网络。
- 使用命令'55 04 0D 00 00 0D'(查询)和'55 04 0D 01 XX XX'(设置)测试传输功率。 确保将***/dev/ttyUSB***替换为每个 Zigbee 模块的正确串口。仔细按照这些步骤成功测试两个模块之间的 Zigbee 通信。
RS485 测试
reComputer Industrial R20xx 包含三个 RS485 端口。以下是它们对应的COM 端口和设备文件:
RS485 端口数量 | COM 端口 | 丝印标签 | 设备文件 |
---|---|---|---|
RS485-2 | COM2 | A2/B2/GND2 | /dev/ttyACM1 |
RS485-3 | COM3 | A3/B3/GND3 | /dev/ttyACM2 |
RS485-4 | COM4 | A4/B4/GND4 | /dev/ttyACM3 |
要测试 RS485 功能,您可以按照以下步骤操作(以 RS485_1 和 RS485_2 为例):
- 请连接 RS485_1 和 RS485_2 的 A 和 B。
- 分别在两个终端窗口中打开 minicom:
sudo minicom -D /dev/ttyACM1
sudo minicom -D /dev/ttyACM2
如果有扩展板,编号需要向后移动一位,例如***/dev/ttyAcM2***,/dev/ttyAcM3。
- 需要在两个打开的 ACM 上执行以下操作:
-
按Ctrl+A,然后按Z,将出现 Minicom 命令摘要界面:
-
再次按O打开配置,选择 Serial port setup,然后按Enter;打开所有 RS485 相关接口,依次按H/I/J/K/L打开;
-
所有"YES"显示后,按 Enter 返回,然后选择 Exit 退出。
以 ACM2 和 ACM3 为例: 如果您想从 ACM2 发送到 ACM3,ACM2 需要重新设置:ctrl+A,然后按Z,再按E,然后启动串口写命令。此时您可以在 ACM2 中随意打印字符串,同时可以在 ACM3 中看到 ACM2 的内容; 相反,如果您想从 ACM3 发送到 ACM2,ACM3 需要重新设置:ctrl+A,然后按Z,再按E,然后启动串口写命令。此时您可以在 ACM3 中随意打印字符串,同时可以在 ACM2 中看到 ACM3 的内容。如图所示。 :::

RS232 测试
reComputer Industrial R20xx 包含 1 个 RS232 端口,对应的 COM 端口和设备文件如下:
RS232 端口数量 | COM 端口 | 丝印标签 | 设备文件 |
---|---|---|---|
RS232-1 | COM1 | RX1/TX1/GND1 | /dev/ttyACM0 |
因为 RS232 是全双工通信,直接短接 RS232 的 TX 和 RX 进行回环测试。

您需要打开两个终端,如果连接了扩展板则是 ACM1,如果没有连接扩展板则是 ACM2: 终端 1:*
sudo minicom -D /dev/ttyACM1 -b 9600
如果没有连接扩展板,您需要将***/dev/ttyACM1更改为/dev/ttyACM0***。
终端 2:
printf "hello seeed\r\n" > /dev/ttyACM1
终端 1 将显示终端 2 请求打印的内容。

DI(数字输入)测试
reComputer Industrial R20xx 包含 8 个 DI 端口,用户可以根据实际需要配置这些端口。
端口数量 | DI 端口 | 对应的扩展 GPIO |
---|---|---|
8 | DI1 | GPIO588 |
DI2 | GPIO589 | |
DI3 | GPIO590 | |
DI4 | GPIO595 | |
DI5 | GPIO573 | |
DI6 | GPIO574 | |
DI7 | GPIO575 | |
DI8 | GPIO576 |
DI 端口的输入类型为 PNP。支持输入电压为 5VDC~24VDC,电流 - 1000mA。 要测试 DI 的功能,您可以按照以下步骤进行测试:
- reComputer Industrial R20xx 的 DI 端口与外部负载之间的连接已完成。
- 输入以下命令获取 GPIO 的状态:
echo 588 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio588/direction
cat /sys/class/gpio/gpio588/value
- 当外部电平为高时,/sys/class/gpio/gpio588/value 的值为 0;当外部电平为低时,/sys/class/gpio/gpio588/value 的值为 1。
DO(数字输出)
reComputer Industrial R20xx 包含 8 个 DO 端口,用户可以根据实际需要配置这些端口。
端口数量 | DI 端口 | 对应的扩展 GPIO |
---|---|---|
8 | DO1 | GPIO638 |
DO2 | GPIO637 | |
DO3 | GPIO590 | |
DO4 | GPIO636 | |
DO5 | GPIO635 | |
DO6 | GPIO577 | |
DO7 | GPIO594 | |
DO8 | GPIO596 |
DO 端口的输出类型为晶体管。支持输出电压 - 60 VDC 以下,电流容量 - 500 mA。 要测试 DO 的功能,您可以按照以下步骤进行测试:
- reComputer Industrial R20xx 的 DO 端口与外部负载之间的连接已完成。
- 输入以下命令将输出设置为高电平或低电平:
echo 638 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio638/direction
echo 1 > /sys/class/gpio/gpio638/value
echo 0 > /sys/class/gpio/gpio638/value
- 当外部电平为高时,/sys/class/gpio/gpio638/value 的值为 0;当外部电平为低时,/sys/class/gpio/gpio638/value 的值为 1。
USB 集线器测试
要测试 USB 集线器,您可以使用以下步骤:
- 通过运行 lsusb 命令检查是否检测到 USB 集线器。此命令列出所有连接的 USB 设备,包括集线器。
lsusb
运行此命令应显示有关连接到系统的 USB 设备的信息,包括存在的任何 USB 集线器。 如果 USB 集线器正常工作,您应该在 lsusb 命令的输出中看到其详细信息。如果未列出,则集线器或其与系统的连接可能存在问题。在这种情况下,您可能需要对 USB 集线器或其连接进行故障排除。
RTC(实时时钟)测试
要测试实时时钟(RTC)功能,请按照以下步骤操作:
- 禁用自动时间同步:
sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd
- 设置时间: 将 RTC 设置为特定的日期和时间:
sudo hwclock --set --date "2025-7-17 12:00:00"
- 将 RTC 时间同步到系统 更新系统时间以匹配 RTC 时间:
sudo hwclock --hctosys
- 检查 RTC 时间:
sudo hwclock -r
此命令将读取并显示存储在 RTC 中的时间。
- 断开 RTC 的电源,等待几分钟,然后重新连接并再次检查 RTC 时间,看看它是否保持了正确的时间。

看门狗定时器测试
要执行看门狗测试,请按照以下步骤操作:
- 安装看门狗软件:
sudo apt install watchdog
- 编辑看门狗配置文件:
# make sure you install vim already, if haven't, can install by the command below
sudo apt-get install vim
sudo vim /etc/watchdog.conf
按如下方式修改配置:
watchdog-device = /dev/watchdog
# Uncomment and edit this line for hardware timeout values that differ
# from the default of one minute.
watchdog-timeout = 120
# If your watchdog trips by itself when the first timeout interval
# elapses then try uncommenting the line below and changing the
# value to 'yes'.
#watchdog-refresh-use-settimeout = auto
# If you have a buggy watchdog device (e.g. some IPMI implementations)
# try uncommenting this line and setting it to 'yes'.
#watchdog-refresh-ignore-errors = no
# ====================== Other system settings ========================
#
# Interval between tests. Should be a couple of seconds shorter than
# the hardware time-out value.
interval = 15
max-load-1 = 24
#max-load-5 = 18
#max-load-15 = 12
realtime = yes
priority = 1
您可以根据需要调整其他设置。
- 确保看门狗服务正在运行:
sudo systemctl start watchdog
- 要测试看门狗功能,执行以下命令来模拟系统挂起:
sudo su
echo 1 > /proc/sys/kernel/sysrq
echo "c" > /proc/sysrq-trigger
此命令触发内核崩溃,应该导致看门狗重启系统。
- 监控系统以确认它在指定的超时时间后重启。 这些步骤将帮助您测试并确保系统上看门狗定时器的功能。

通过 GPIO 控制蜂鸣器
蜂鸣器对应的 GPIO 是 gpio627。输入以下脚本来打开/关闭蜂鸣器:
- 打开蜂鸣器:
echo 627 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio627/direction
echo 1 > /sys/class/gpio/gpio627/value
- 关闭蜂鸣器:关闭蜂鸣器:
echo 627 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio627/direction
echo 0 > /sys/class/gpio/gpio627/value
TPM 2.0
如果您将 TPM 2.0 模块连接到设备,以下代码可以帮助检查 TPM 连接。
ls /dev | grep tpm
解释输出:
如果您在输出中看到 tpm0 和 tpmrm0,这意味着检测到 TPM(可信平台模块)设备并且在您的系统上可用。这表明 TPM 硬件被识别并且可访问,这是一个好兆头。您可以继续使用 TPM 相关功能或应用程序,知道设备存在且可访问。
ATECC608A
要与 ATECC608A 设备交互并生成随机序列号,请按照以下步骤操作:
- 克隆 atecc-util 存储库:
curl -LJO https://github.com/wirenboard/atecc-util/releases/download/v0.4.12/atecc-util_0.4.12_arm64.deb
- 将 .deb 包的内容提取到当前目录:
dpkg -x ./atecc-util_0.4.12_arm64.deb .
- 导航到 atecc 目录:
cd usr/bin
- 生成随机序列号:
./atecc -b 10 -s 192 -c 'serial'
此命令指示 ATECC 实用程序使用插槽 10(-b 10),将序列号大小设置为 192 位 (-s 192),并生成随机序列号 (-c 'serial')。输出将是生成的序列号,例如 "01235595d3d621f0ee"。 此过程允许您与 ATECC608A 设备交互并执行各种操作,例如生成随机序列号。
与 EEPROM 交互
以下是与 EEPROM(电可擦除可编程只读存储器)交互的命令:
- 向 EEPROM 设备文件授予完全权限(读取、写入和执行):
sudo chmod 777 /sys/bus/i2c/devices/10-0050/eeprom
- 将字符串"This is a test string"写入 EEPROM 设备:
echo "This is a test string" > /sys/bus/i2c/devices/10-0050/eeprom
- 读取 EEPROM 设备的内容并使用 hexdump 实用程序以 十六进制 格式显示:
cat /sys/bus/i2c/devices/6-0050/eeprom | hexdump -C
检查 SSD 检测
要列出磁盘(包括 SSD),您可以使用 fdisk -l 命令。方法如下:
sudo fdisk -l
此命令将显示连接到系统的所有磁盘的列表,包括 SSD(如果正确检测到)。查找代表您的 SSD 的条目。它们通常以 /dev/sd 开头,后跟一个字母(例如 /dev/sda、/dev/sdb 等)。 一旦您识别出与 SSD 对应的条目,您就可以根据需要继续对其进行分区或格式化。
UPS 安全关机
CPU 和直流电源输入之间的 GPIO6 用于在电源断开时向 CPU 发出警报。然后 CPU 应该在超级电容器能量耗尽之前在脚本中执行一些紧急操作并运行"$ shutdown"。 使用此功能的另一种方法是在 GPIO 引脚发生变化时启动关机。给定的 GPIO 引脚被配置为生成 KEY_POWER 事件的输入键。此事件由 systemd-logind 处理,通过启动关机来处理。
- 硬件连接。
请确保 UPS 设备的 'CM5_UPS_DET' 引脚连接到 R20xx 设备的 GPIO16 引脚。
- 修改配置文件。
- 打开终端。
- 执行以下命令编辑配置文件:
sudo nano /boot/firmware/config.txt
- 在文件末尾添加以下内容:
dtoverlay=gpio-shutdown,gpio_pin=GPIO16,active_low=1

保存并退出编辑器(按 Ctrl+O
保存,Enter
确认,Ctrl+X
退出)。
- 准备 Python 脚本
- 创建一个新的 Python 脚本文件:
cd ~
sudo nano ups_shutdown.py
- 将以下代码复制并粘贴到文件中:
import RPi.GPIO as GPIO
import time, os
num = 0
GPIO.setmode(GPIO.BCM)
# Set GPIO16 to input mode
# Add 500ms anti-shake time to stabilize the software
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.add_event_detect(16, GPIO.FALLING, bouncetime=500)
while True:
if GPIO.event_detected(16):
print("...External power off...")
print("")
# Sync data to disk
os.system('sync')
print("...Data saving...")
print("")
# Sleep for 3 seconds
time.sleep(3)
# Synchronize data again
os.system('sync')
# Countdown 5 seconds
while num < 5:
print('----------')
s = 5 - num
print('---' + str(s) + '---')
num = num + 1
time.sleep(1)
print('----------')
# Execute shutdown command
os.system('sudo shutdown -h now')
保存并退出编辑器(按 Ctrl+O
保存,Enter
确认,Ctrl+X
退出)。
- 运行脚本。
- 打开终端。
- 执行以下命令运行脚本:
sudo python3 ups_shutdown.py
使用 sudo
确保脚本有足够的权限执行关机命令。
- 模拟断电测试
- 切断外部电源。
- 观察系统是否自动保存数据并关机。

- 验证结果
- 重新连接电源。
- 检查系统数据是否完整并正常启动。
- 有关 UPS 功能,请联系我们获取更多信息。
- 报警信号为低电平有效。
AI 加速器
reComputer Industrial R20xx 上的 M.2 M-KEY 2280 插槽设计用于容纳 PCIE M.2 AI 加速器。R20xx-12 系列已预装了 Hailo-8 M.2 AI 加速器,算力高达 26TOPS。 如果您购买的是 R20xx-10 系列产品,您需要购买 Hailo 的 NPU 模块来启用 AI 功能。 设备预装了 Hailo 加速器驱动程序,因此您可以直接使用并运行测试用例:
- 导航到测试用例目录
cd /mnt/hailo-rpi5-examples/
- 启动虚拟环境
source ./setup_env.sh
- 运行简单检测示例
python basic_pipelines/detection_simple.py

要关闭应用程序,请按 Ctrl+C
。
这是检测示例的轻量级版本,主要专注于展示 Hailo 性能,同时最小化 CPU 负载。内部 GStreamer 视频处理管道通过最小化视频处理任务进行简化,并使用 YOLOv6 Nano 模型。
如果您购买的 reComputer 不包含 Hailo-8,并且您正在考虑购买 Hailo 设备进行集成,请参考官方 Hailo 文档 (https://github.com/hailo-ai) 来配置固件和环境,并运行示例以验证设备可以正常使用。
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。