Skip to main content

reTerminal DM 入门指南

pir

reTerminal DM 是一款 10.1 英寸开源坚固型 HMI——一体化设备主控,用于统一数据流并管理现场设备。

基于 Raspberry Pi CM4,作为集 Panel PC、HMI、PLC、IIoT 网关于一体的设备,reTerminal DM 是新一代交互式感知枢纽,配备 IP65 工业级防护的大尺寸屏幕。

它具备丰富的可扩展性和混合连接能力,支持 CAN 总线、RS485、RS232、千兆以太网口等接口,以及 4G、LoRa®、WiFi 和 BLE 等强大的无线通信能力。

**购买须知:**4G 和 LoRa® 模块默认不随 reTerminal DM 一同提供。请根据需要单独购买相关模块,例如 4G bundle。

note

可定制选项:Logo 品牌定制、包装和固件烧录。

特性​

  • 集 HMI、PLC、Panel PC 和网关于一体:非常适合作为分布式枢纽设备
  • 面向事件驱动应用的低代码编程:原生集成 Node-RED,用于基于流程的编辑和一键部署,兼容所有运行在 Raspberry Pi 上的软件
  • 面向恶劣工作环境的坚固设计:IP65 前面板,-10~50°C 工作温度
  • 混合连接:支持 4G LTE、LoRaWAN®、WiFi、BLE、RS485/RS232、CAN 总线、1000M 以太网、USB、HDMI
  • 软硬件开源设计:由 Raspberry Pi CM4 驱动,欢迎定制或衍生开发
  • 产品保修:两年保修

*4G 和 LoRa® 模块默认不随 reTerminal DM 一同提供,请根据需要单独购买相关模块。

规格参数​

基础
CPUCM4
四核 [email protected]
内存8GB
存储32GB eMMC
M.2 SATA SSD 插槽 2280-B Key(可选)
操作系统支持Raspbian
SenseCraft Edge OS
显示
尺寸10.1''
最大分辨率1280 x 800
最大颜色数16.7M (8-bit)
亮度400 nit
可视角度170/170 H/V°
背光寿命30000 小时
触控类型10 点电容式
铅笔硬度7H
视频&音频
视频HDMI 2.0
音频麦克风 x 2
蜂鸣器
3.5mm 音频接口
摄像头CSI(可选)
接口
以太网1 x 10/100/1000 Mbps
1 x 10/100/1000 Mbps(可选)
USB2 x USB-A 2.0 Host
2 x USB 3.0(可选)
RS4851 x RS-485 > 端子排
1 x RS-485 > DB9(可选)
RS2321 x RS-232 > 端子排
1 x RS-232 > DB9(可选)
CAN1 x CAN-BUS > 端子排
DI4 x DI > 端子排
DO4 x DO > 端子排
40pin GPIO内部
无线通信
WiFi片上 WiFi
BLE片上 BLE
LoRa®用于 LoRaWAN® 的 Mini-PCIe(可选)
蜂窝网络用于 4G 的 Mini-PCIe(可选)
电源
输入2 针端子排
PoE12W PoE(可选)
电源范围12~24 DC
环境
防护等级IP65 前面板
工作温度-10~50 °C
存储温度-20~70 °C
湿度(工作)10~90% RH
机械规格
尺寸259.4 x 191 x 42.2 mm
外壳压铸铝合金
安装方式面板、VESA、导轨
重量(净重)1.8Kg
认证
CE, FCC, RoHS, Telec, REACH
其他
RTC高精度 RTC
安全ATECC608A
质保2 年
散热无风扇

硬件概览​

主板概览​

电源框图​

reTerminal DM 支持两种电源供电方式:DC 端子和 PoE 端口。默认情况下,reTerminal DM 通过 DC 端子供电,而PoE 供电是可选的。这为电源选择提供了灵活性,并便于与各种电源轻松集成。

电源端子​

reTerminal DM 的额定供电电压为 12~24 V。电源通过 2 针电源端子排连接器接入。

POE(可选)​

note

标准产品默认不包含 PoE 模块,如有需要,Seeed 可以为批量定制订单提供 PoE 焊接和组装服务,请联系 [email protected],

如果安装了 PoE 模块,reTerminal DM 的 LAN1 接口可以支持 PoE 供电,从而通过以太网为设备供电,提供一种方便高效的供电方式。此选项简化了安装过程并减少了所需布线数量,非常适合电源受限或电源插座不易获得的应用场景。

  • PoE 输入:范围 44~57V;典型值 48V
  • PoE 输出:12V,最大 1.1A

功耗​

请参考下表,了解 Seeed Studio 实验室测试得到的 reTerminal DM 功耗数据。请注意,该数值仅供参考,因为测试方法和环境不同会导致结果存在差异。

状态电压电流功耗描述
关机0.6mA在关机和断电状态下的静态功耗测试。
空闲24V0.165A3.96W在通过端子插座为 reTerminal DM 设备提供 24V 电源、运行默认 Seeed Studio 系统且不运行任何测试程序的情况下,测试输入电流。
满载24V0.37A8.88W使用 "stress -c 4" 命令将 CPU 配置为满载运行,同时播放视频并进行 CAN 和 RS485 通信。不连接任何外部设备。

开机与关机​

reTerminal DM 默认不带电源按钮,连接电源后系统会自动启动。关机时,请在操作系统中选择关机选项,并等待系统完全关机后再切断电源。要重启系统,只需重新接通电源即可。

note

请注意,关机后请至少等待 10 秒再重启系统,以便内部电容器完全放电。

方框图​

I2C 方框​

接口​

麦克风​

reTerminal DM 配备了两个 MEMS 麦克风,位于屏幕下方的左右两侧。这些麦克风可以配置为双麦克风阵列,提供出色的拾音能力。麦克风通过 I2S 接口与音频编解码芯片通信,而编解码芯片通过 PCM 接口与 CM4 通信。reTerminal DM 选用的音频编解码芯片为 TI TLV320AIC3104 低功耗立体声音频编解码器。

warning

需要特别注意的是,为了使前面板达到 IP65 防护等级,麦克风开孔覆盖了防水声学膜。请避免使用尖锐物体接触麦克风开孔。

要与麦克风进行交互:

请在设备上打开 Terminal 应用并输入 arecord -l 来查找麦克风驱动:

要录制音频,你可以使用 audacity 应用,请使用 sudo apt install audacity 来安装 audacity 应用:

请打开 audacity 启动应用,并点击录制按钮,从内置麦克风录制音频:

LED 指示灯​

reTerminal DM 具有三个 LED 指示灯,用于指示设备的运行状态。请参考下表了解每个 LED 的具体功能和状态:

LED 引脚分配​

标签信号信号源颜色描述
PWRLED_nPWRCM4黄色用于指示 CM4 的供电情况。当 CM4 正常上电时,该 LED 会点亮
USERPCA9535 - GPIO红色用户自定义功能
ACTLED_nACTCM4绿色用于指示系统的各种状态。见下表。

ACT 状态表​

长闪短闪状态
03启动失败(通用)
04未找到 start*.elf
07未找到内核镜像
08SDRAM 故障
09SDRAM 不足
010处于 HALT 状态
21分区不是 FAT
22从分区读取失败
23扩展分区不是 FAT
24文件签名/哈希不匹配 - Pi 4
44不支持的板卡类型
45严重固件错误
46电源故障类型 A
47电源故障类型 B
note

如果 ACT LED 以规则的四次闪烁模式闪烁,则表示找不到引导代码(start.elf)
如果 ACT LED 以不规则模式闪烁,则表示启动已经开始。
如果 ACT LED 不闪烁,则 EEPROM 代码可能已损坏,请在不连接任何外设的情况下再试一次以确认。
更多详情请查看 Raspberry Pi 论坛:
STICKY: Is your Pi not booting? (The Boot Problems Sticky) - Raspberry Pi Forums
更多详情请查看 Raspberry Pi 论坛:https://forums.raspberrypi.com//viewtopic.php?f=28&t=58151

要点亮 USER LED,请使用以下命令:

sudo -i

echo 0 > /sys/class/leds/usr-led/brightness
echo 1 > /sys/class/leds/usr-led/brightness

你应该会看到 USER LED 亮起红色。

光线传感器​

光线传感器位于屏幕右下方,能够检测环境光强度,并自动调节屏幕亮度,在节省能耗的同时提供最佳观看体验。光线传感器通过 I2C 协议与 CM4 通信。

I2C 地址为 0x29。

要与光线传感器进行交互:

  • 步骤 1. 进入以下目录
cd /sys/bus/iio/devices/iio:device0
  • 步骤 2. 输入以下命令以获取以 Lux 为单位的光强值
cat in_illuminance_input 

蜂鸣器​

reTerminal DM 在屏幕右下角配备了一个有源蜂鸣器,可用于报警和事件通知等多种用途。蜂鸣器通过 PCA9535 GPIO 扩展 IC 控制,该芯片为设备提供了额外的数字 I/O 通道。

要测试和控制蜂鸣器,你只需向 /sys/class/leds/usr-buzzer/brightness 文件写入 1 或 0:

多功能端子​

端子与信号对照表​

CANHCANLGND_ISORS485ARS485BGND_ISORS232_TXRS232_RXGNDGND
DI1DI2DI3DI4GND_DIDO1DO2DO3DO4GND_DO

端子引脚分配表​

引脚丝印信号描述
1CHCANHCAN 差分信号高电平
2CLCANLCAN 差分信号低电平
3GSGND_ISO隔离地信号
4RARS485ARS485 差分信号 A
5RBRS485BRS485 差分信号 B
6GSGND_ISO隔离地信号
7RTRS232_TXRS232 信号发送端
8RXRS232_RXRS232 信号接收端
9GDGND主板地
10GDGND主板地
11I1DI1数字输入 1
12I2DI2数字输入 2
13I3DI3数字输入 3
14I4DI4数字输入 4
15GIGND_DI输入地信号,通过 1MΩ 与 GND 相连
16D1DO1数字输出 1
17D2DO2数字输出 2
18D3DO3数字输出 3
19D4DO4数字输出 4
20GOGND_DO输出地信号,通过 0Ω 与 GND 相连

DI/DO​

reTerminal DM 支持 4 路数字输入和 4 路数字输出通道,全部采用光电隔离设计,可有效保护主板免受电压尖峰或其他电气干扰的影响。

DI/DO 引脚分配表​
引脚CM4 信号典型电压范围最大电压额定电流容量
DI1GPIO165-24V DC30V DC
DI2GPIO175-24V DC30V DC
DI3GPIO225-24V DC30V DC
DI4GPIO235-24V DC30V DC
GND_DI
DO1GPIO245-24V DC30V DC500mA
DO2GPIO255-24V DC30V DC500mA
DO3GPIO265-24V DC30V DC500mA
DO4GPIO65-24V DC30V DC500mA
GND_DO
note

输入信号的地与输出信号的地是不同的。输入信号的地应连接到 GND_DI 引脚,而输出信号的地应连接到 GND_DO 引脚。

reTerminal DM 的数字输入和输出使用负逻辑,Terminal IO 与 CM4 GPIO 之间的逻辑电平关系如下表所示。

Terminal 数字输入CM4 GPIO 检测信号
低电平高电平
高电平低电平
CM4 GPIO 输出Terminal 数字输出
高电平低电平
低电平高电平

在本节中,我们将使用 raspi-gpio 工具来测试 GPIO,你可以使用 raspi-gpio help 来查看手册:

要获取所有 GPIO 的当前状态,请在 Terminal 中输入以下命令:

raspi-gpio get
数字输入​

下面是一个关于如何将传感器接线到 DI 的示意图:

要获取特定 GPIO 的状态,请在 Terminal 中输入以下命令:

raspi-gpio get 16

此时 GPIO16 的当前状态被设置为 INPUT 且为 pulling Down,当前引脚电平为 1,这表示 High,也就意味着当前 Terminal 数字输入 DI1 为 Low,如上表所示。

我们通过将 DI1 端子连接到 5V source 的 Positive 引脚,然后将 5V source 的 Ground 连接到 GND_DI,给 DI1 施加一个 High 信号。

raspi-gpio get 16

此时 GPIO16 的当前引脚电平为 0,这表示 Low,也就意味着当前 Terminal 数字输入 DI1 为 High,如上表所示。

数字输出​

下面是一个关于如何将负载接线到 DO 的示意图:

要控制数字输出的状态值,首先我们需要将引脚状态设置为 Output 并 pulling Down:

#set current pin state
raspi-gpio set 24 op pd dh

#get the pin state after set
raspi-gpio get 24

此时与 DO1 对应的 GPIO24 被设置为 Output 和 pulling down 状态,并且 GPIO24 电平被设置为 High。

现在我们将 GPIO24 设置为 Low,这意味着 DO1 输出被驱动为 High。

#set current pin state
raspi-gpio set 24 dh

#get the pin state after set
raspi-gpio get 24

RS485​

reTerminal DM 通过其 20 针连接器配备了 RS485 接口,该接口在信号和电源两方面都进行了隔离,以确保在恶劣环境和自动化应用中安全可靠地运行。RS485 A 和 RS485 B 信号采用电容隔离方式,实现了出色的 EMI 抗扰度,并满足 RS485 接口的高速通信要求。

note

默认已安装一个 120Ω 的终端电阻。 RS485 接口使用隔离电源,这意味着连接到 RS485 接口的外部设备的地信号应连接到 GND_ISO 引脚。

要测试并与 RS485 进行通信,你需要准备一个 USB 转 RS485 适配器,并请确保连接方式与下图相同:

note

请注意,RS485 端口为 /dev/ttyACM1 或 /dev/ttyCH340USB1,具体取决于你运行的操作系统。

请在主机电脑上使用你喜欢的串口通信工具来执行下面的测试: 在 reTerminal DM 上运行 python 代码来测试 RS485 串口连接,该代码会将 RS485 串口设置为如下参数

波特率 -> 9600 数据位 -> 8 bits 校验位 -> None 停止位 -> 1 硬件流控 -> disabled

import serial, time
import os

ser = serial.Serial()
if os.path.exists('/dev/ttyACM1'):
ser.port = "/dev/ttyACM1"
elif os.path.exists('/dev/ttyCH340USB1'):
ser.port = "/dev/ttyCH340USB1"
else:
print('Neither /dev/ttyACM1 nor /dev/ttyCH340USB1 is present')

#9600,N,8,1
ser.baudrate = 9600
ser.bytesize = serial.EIGHTBITS #number of bits per bytes
ser.parity = serial.PARITY_NONE #set parity check
ser.stopbits = serial.STOPBITS_ONE #number of stop bits

ser.timeout = 0.5 #non-block read 0.5s
ser.writeTimeout = 0.5 #timeout for write 0.5s
ser.xonxoff = False #disable software flow control
ser.rtscts = False #disable hardware (RTS/CTS) flow control
ser.dsrdtr = False #disable hardware (DSR/DTR) flow control

try:
ser.open()
except Exception as ex:
print ("open serial port error " + str(ex))
exit()

if ser.isOpen():
try:
ser.flushInput() #flush input buffer
ser.flushOutput() #flush output buffer
time.sleep(0.1)
#write data
ser.write("rs485 communication is on, you can try to send data...\n".encode())
print("Sent successfully\n")
time.sleep(5) #wait 5s
#read data
numofline = 0
print("Reading Data:")
while True:
response = ser.readline()
print(response)
numofline = numofline +1
if (numofline >= 1):
break
ser.close()
except Exception as e1:
print ("communicating error " + str(e1))
else:
print ("open serial port error")

RS232​

reTerminal DM 的 20 针连接器还包括一个 RS232 接口,该接口未做隔离。因为 RS232 通信通常使用 CMOS 电压等级且通信距离较短,因此不太容易受到环境电磁干扰的影响。

note

请注意,Ground 引脚需要连接到 RX 引脚旁边的 GD 引脚,确保不要接到 GS 引脚。

下面是在 reTerminal DM 上向主机电脑发送数据的测试 python 脚本:

import time
import serial
import os

if os.path.exists('/dev/ttyACM0'):
port = "/dev/ttyACM0"
elif os.path.exists('/dev/ttyCH340USB0'):
port = "/dev/ttyCH340USB0"
else:
print('Neither /dev/ttyACM0 nor /dev/ttyCH340USB0 is present')

ser = serial.Serial(
port = port,
baudrate = 9600,
parity = serial.PARITY_NONE,
stopbits = serial.STOPBITS_ONE,
bytesize = serial.EIGHTBITS,
timeout = 1
)
counter=0
try:
print("rs232 starts now!\n")
ser.write("rs232 starts now!\n".encode())
while 1:
ser.write(("Write counter:{}\n".format(counter)).encode())
time.sleep(1)
counter += 1
except KeyboardInterrupt:
exit()

下面是在 reTerminal DM 上接收从主机电脑发送数据的测试 python 脚本,

import time
import serial
import os

if os.path.exists('/dev/ttyACM0'):
port = "/dev/ttyACM0"
elif os.path.exists('/dev/ttyCH340USB0'):
port = "/dev/ttyCH340USB0"
else:
print('Neither /dev/ttyACM0 nor /dev/ttyCH340USB0 is present')

ser = serial.Serial(
port=port,
baudrate = 9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=1,
xonxoff = False, #disable software flow control
rtscts = False, #disable hardware (RTS/CTS) flow control
dsrdtr = False
)
try:
print("Start receiving data now!\n")
while 1:
x=ser.readlines()
if x != b'':
print(x)
except KeyboardInterrupt:
exit()

CAN​

reTerminal DM 提供了一个支持 CAN FD(控制器局域网灵活数据速率)协议的 CAN 接口。CAN 接口采用电容隔离方式,具有出色的 EMI 防护能力,确保在恶劣环境和自动化应用中实现可靠通信。默认已安装一个 120Ω 的终端电阻。

note

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

要测试并与 CAN 总线进行通信: 请按照下图所示连接 USB 转 CAN 适配器:

  • 步骤 1:安装 CAN-utils
sudo apt install can-utils

CAN-utils 是一组使用 CAN 接口的非常有用的调试工具。它包含以下应用程序:

  • candump – 转储 CAN 数据包 – 显示、过滤并记录到磁盘。
  • canplayer – 回放 CAN 日志文件。
  • cansend – 发送单个帧。
  • cangen – 生成随机流量。
  • canbusload – 显示当前 CAN 总线的利用率

CAN-utils 源码可以从 GitHub 仓库 获取。

  • 步骤 2:使用以下命令配置 CAN 接口:
sudo ip link set can0 up type can bitrate 500000
sudo ifconfig can0 txqueuelen 1000
sudo ip link set can0 up
  • 步骤 3:使用 git 将测试代码下载到 reTerminal DM
git clone https://github.com/limengdu/Seeed_reTerminal_Bridge_CAN_exmaple

  • 步骤 4:编译并运行发送数据的代码:
cd Seeed_reTerminal_Bridge_CAN_exmaple/
gcc cantransmit.c -o cantransmit

在你的 Linux 主机电脑或另一台 reTerminal DM 上,你可以编译并运行接收数据的代码。

gcc canreceive.c -o canreceive

你可以看到结果,下面的图片是使用两台 reTerminal DM 完成的:

USB​

USB Type-A​

这里有两个 USB 2.0 Type-A 接口,你可以连接 U 盘、网络摄像头、键盘和鼠标等 USB 设备。

USB Type-C​

USB Type-C 是一个 USB 2.0 接口,用于串口调试或烧录 OS 镜像,具体取决于启动开关的位置。有关烧录 OS,请参考 Flashing OS Wiki 页面

SIM 卡槽​

reTerminal DM 使用一种在工业加固应用中常见的标准尺寸 SIM 卡槽,需要尺寸为 25mm x 15mm 的标准 SIM 卡。

note

请注意,reTerminal DM 标准版本不带 4G 模块。如果你需要 4G 功能,必须另外单独购买 4G 模块。因此,只有当你在 4G PCIe 插槽中安装了受支持版本的 4G 模块时,此 SIM 卡槽才会工作。

重置按钮​

在 reTerminal DM 的复位孔内有一个微型按键开关。通过使用细小物体按下此按钮,可以重置 CM4。该按钮连接到 CM4 的 RUN_PG 引脚。当该引脚为高电平时,表示 CM4 已启动。将该引脚拉低会复位模块。

音频接口​

reTerminal DM 具有一个 3.5mm 耳机接口,支持声音输出,可连接外部耳机、音箱等设备。

note

耳机接口仅支持声音输出,不支持麦克风录音功能。

HDMI​

reTerminal DM 具有来自 CM4 的原生 HDMI 接口,支持最高 4K @ 60 fps 的视频输出。它非常适合需要多屏显示的应用,允许用户将内容输出到外部大屏幕。

以太网 RJ45​

reTerminal DM 配备了来自 CM4 的原生千兆以太网接口,支持 10/100/1000 Mbit/s 三种速率。可以另外购买 PoE 模块,通过该接口实现以太网供电(PoE),为 reTerminal DM 提供电源。

内部接口​

40-Pin GPIO​

reTerminal DM 内部保留了经典的 Raspberry Pi 40 针 GPIO 设计,引脚定义与 Raspberry Pi 4B 保持一致。用户需要打开后盖才能使用这些 GPIO。需要注意的是,由于 CM4 IO 资源有限,40 针 GPIO 与许多外设接口是复用的,因此在使用 GPIO 时需要特别注意冲突。有关详细的引脚分配信息,请参考下表。

描述引脚复用引脚复用描述
Pin 13V340 PIN
GPIO
5V
I2C1_SDAGPIO 25V
I2C1_SCLGPIO 3GND
I2C3_SDAGPIO 4GPIO 14UART0_TXDUSB Type C
GNDGPIO 15UART0_RXD
接线端子 DI2DI2GPIO 17GPIO 18PCM_CLK3.5mm 音频接口
屏幕触摸中断引脚TP_INTGPIO 27GND
接线端子 DI3DI3GPIO 22GPIO 23DI4接线端子 DI4
3V3
GPIO 24DO1接线端子 DO1
CAN 和 LoRa® 模块SPI0_MOSIGPIO 10GND
SPI0_MISOGPIO 9GPIO 25DO2接线端子 DO2
SPI0_SCLKGPIO 11GPIO 8SPI0_CE0用于 CAN 的 SPI 使能引脚
GNDGPIO 7SPI0_CE1用于 LoRa® 的 SPI 使能引脚
ID_SDID_SC
I2C_SCLGPIO 5GND
接线端子 DO4DO4GPIO 6GPIO 12CAN_INT用于 CAN 的中断引脚
LCD 背光控制引脚LCD_PWMGPIO 13GND
3.5mm 音频插孔PCM_FSGPIO 19GPIO 16DI1接线端子 DI1
接线端子 DO3DO3GPIO 26GPIO 20PCM_DIN3.5mm 音频插孔
GNDGPIO 21PCM_DOUT3.5mm 音频插孔

RTC​

reTerminal DM 配备了一个 RTC 电路,并预装了 CR2032 电池,即使在断电的情况下也能保持计时功能。

使用以下命令将硬件时钟更改为当前系统时钟

sudo hwclock --systohc

使用以下命令将系统时钟更改为当前硬件时钟

sudo hwclock --hctosys

查看当前硬件时钟

sudo hwclock -r 

看门狗​

reTerminal DM 配备了独立的硬件看门狗电路,可在系统异常崩溃时自动重启系统。看门狗电路通过 RTC 实现,并允许灵活设置 1 到 255 秒的喂狗时间。

要在 watchdog.conf 中配置看门狗超时时间,请按照以下步骤操作:

步骤 1:打开 watchdog.conf 文件进行编辑,通常位于 /etc/watchdog.conf。

sudo nano /etc/watchdog.conf

步骤 2:在 /etc/watchdog.conf 下找到 "watchdog-device" 和 "watchdog-timeout" 配置选项,请按如下方式设置。

note

当 watchdog-timeout 选项设置为小于 60 时,你可能会遇到立即重启的情况;要使用硬件看门狗,你需要将 watchdog-device 配置为 /dev/watchdog1,而默认未带 1 的配置使用的是 Broadcom 看门狗设备。


# Uncomment this to use the watchdog device driver access "file".

watchdog-device = /dev/watchdog1

# Uncomment and edit this line for hardware timeout values that differ
# from the default of one minute.

watchdog-timeout = 60


例如,如果你想将看门狗超时时间设置为 60 秒,可以将 watchdog-timeout 的值设置为 60,这意味着如果看门狗在 60 秒内没有收到复位信号,并假设系统已经崩溃,它将触发自动重启操作。

warning

你可以使用以下命令测试看门狗是否处于激活状态,这些命令会让系统进入挂起状态,在执行以下命令时请务必小心:

sudo su
echo 1 > /proc/sys/kernel/sysrq
echo "c" > /proc/sysrq-trigger

现在你的 reTerminal DM 应该会在你为 watchdog-timeout 设置的时间之后重启

背光​

你可以将背光亮度设置为 6 个等级,从 0 表示关闭到 5 表示最大亮度。 你可以通过使用以下命令来控制亮度。

sudo -i

echo 0 > /sys/class/backlight/lcd_backlight/brightness
echo 1 > /sys/class/backlight/lcd_backlight/brightness
echo 5 > /sys/class/backlight/lcd_backlight/brightness

内部扩展模块​

摄像头​

reTerminal DM 主板上预留了 CSI 摄像头接口,可定制支持摄像头功能。请注意,由于前面板空间有限,只能使用小尺寸摄像头。目前经过严格测试的方案是使用 Raspberry Pi camera V2.0 驱动板 + Seeed 定制摄像头 IMX219-77。

连接器连接器类型引脚间距通道数FPC 方向
CSI015-pin FPC1mm2金手指朝下
CSI122-pin FPC0.5mm4金手指朝上
note

请注意,reTerminal DM 标准版本的前面板没有预留摄像头开孔,因此标准产品不支持摄像头功能。如果你有定制摄像头的需求,请联系 [email protected]

4G 模块​

pir

所需材料

  • reTerminal DM x 1
  • EC25-EUX 4G 模块 x1
  • SIM 卡 x1

步骤 1. 请参考 EC25 4G Module 硬件组装 指南,将 EC25 4G Module 安装到 4G/LTE PCIe slot 中,你应该能看到 4G/LTE 丝印;在给系统上电之前,请同时将支持 4G 的 SIM 卡插入 SIM 卡槽。

步骤 2. 使用 lsusb 检查 EC25-EUX 是否被检测到

lsusb
lsusb -t

步骤 3. 安装串口通信工具 minicom。

sudo apt install minicom

步骤 4. 通过 minicom 连接 EC25-EUX 4G 模块。

sudo minicom -D /dev/ttyUSB2 -b 1152008n1

串口连接打开后,输入 AT 并按下回车键,你应该会看到 OK。

步骤 5. 使 4G 模块连接到 4G 网络

在同一个 minicom 串口窗口中请输入:

AT+QCFG="usbnet"

它会返回类似 +QCFG: "usbnet",0, 的内容,但我们需要将其设置为 1(ECM 模式),因此输入以下命令:

AT+QCFG="usbnet",1

然后输入以下命令强制调制解调器重启:

AT+CFUN=1,1

然后你可以重启系统,或者等待一段时间,让模块从你的 SIM 卡运营商那里获取网络。

你也可以使用 ifconfig 命令查询 reTerminal DM 的网络状态。

LoraWAN® 模块​

note

reTerminal DM 同时支持 USB 和 SPI 版本的 WM1302 LoraWAN® 模块,但是 USB 版本需要使用为 4G 模块设计的 Mini PCIe,这意味着如果你想同时使用 4G 模块和 LoraWAN® 模块,请选择 SPI 版本的 WM1302 LoraWAN® 模块。

pir

步骤 1. 请参考 LoraWAN® 模块硬件组装 指南,将 WM1302 SPI LoraWAN® Module 安装到 LoraWAN® Mini PCIe slot 中,你应该能看到 Lora 丝印。 通过安装模块来安装必要的软件包 build-essential(build essential 软件包是一个 Debian 软件包,其中包含从源代码创建 DEB 软件包所需的工具)。

sudo apt update
sudo apt install git
sudo apt-get install build-essential

步骤 2. 在命令行中输入 sudo raspi-config 以打开 Raspberry Pi 软件配置工具:

  • 选择 Interface Options
  • 选择 SPI,然后选择 Yes 以启用它
  • 选择 I2C,然后选择 Yes 以启用它
  • 选择 Serial Port,然后在 "Would you like a login shell..." 中选择 No,并在 "Would you like the serial port hardware..." 中选择 Yes

完成上述操作后,请重启 Raspberry Pi 以确保这些设置生效。

步骤 3. 将 WM1302 代码 下载到 reTerminal 并进行编译。

cd ~/
git clone https://github.com/Lora-net/sx1302_hal
cd sx1302_hal
sudo make

步骤 4. 复制并修改 reset_lgw.sh 脚本

cp ~/sx1302_hal/tools/reset_lgw.sh ~/sx1302_hal/packet_forwarder/
cd ~/sx1302_hal/packet_forwarder
vim reset_lgw.sh

使用文本编辑器按如下方式修改 reset_lgw.sh 脚本:

#!/bin/bash

# Dependency Check
if ! command -v i2cset &> /dev/null; then
echo "Error: i2c-tools not found. Please install using: sudo apt-get install i2c-tools"
exit 1
fi

# Configuration
I2C_BUS=1 # CM4_IIC1
DEVICE_ADDR=0x21 # PCA9535 Address from schematic
REG_OUTPUT_PORT0=0x02 # Register 2: Output Port 0
REG_CONFIG_PORT0=0x06 # Register 6: Configuration Port 0
PIN_MASK=0x20 # Bit 5 (0010 0000) for P05

# Read a register
read_reg() {
local val=$(i2cget -y $I2C_BUS $DEVICE_ADDR $1)
echo $val
}

# Write to a register
write_reg() {
i2cset -y $I2C_BUS $DEVICE_ADDR $1 $2
}

echo "Starting SX1302 Reset Sequence on I2C Bus $I2C_BUS, Address $DEVICE_ADDR..."

# Ensure the Output Register bit for P05 is LOW
CURRENT_OUT=$(read_reg $REG_OUTPUT_PORT0)

NEW_OUT=$(printf "0x%02x" $((CURRENT_OUT & ~PIN_MASK)))

write_reg $REG_OUTPUT_PORT0 $NEW_OUT

echo "Set Output Register P05 to LOW. (Reg $REG_OUTPUT_PORT0: $CURRENT_OUT -> $NEW_OUT)"

# Configure P05 as OUTPUT
# Configuration Register: 1 = Input, 0 = Output
CURRENT_CFG=$(read_reg $REG_CONFIG_PORT0)

NEW_CFG=$(printf "0x%02x" $((CURRENT_CFG & ~PIN_MASK)))

write_reg $REG_CONFIG_PORT0 $NEW_CFG

echo "Configured P05 as OUTPUT. (Reg $REG_CONFIG_PORT0: $CURRENT_CFG -> $NEW_CFG)"

# Assert Reset (Drive P05 HIGH)
CURRENT_OUT=$(read_reg $REG_OUTPUT_PORT0)

RESET_HIGH=$(printf "0x%02x" $((CURRENT_OUT | PIN_MASK)))

write_reg $REG_OUTPUT_PORT0 $RESET_HIGH

echo "Asserting Reset (P05 HIGH)..."

# Hold Reset for 200ms
sleep 0.2

# Release Reset (Drive P05 LOW)
write_reg $REG_OUTPUT_PORT0 $NEW_OUT

echo "Released Reset (P05 LOW)."

echo "SX1302 Reset Complete."

echo "------------------------------------"

步骤 5. 在 global_conf.json.sx1250.US915 配置文件中替换 LoraWAN® Module 的默认 SPI 端口:

sed -i 's/spidev0.0/spidev0.1/g'  global_conf.json.sx1250.US915

步骤 6. 启动 LoraWAN® Module

在你所使用模块对应的 global_conf.json.sx1250.xxxxx 中选择你偏好的 LoRaWAN Network Server server_address 和网关 EUI gateway_ID,并将 up/down port 修改为 1700。然后运行以下代码以启动集中器:

cd ~/sx1302_hal/packet_forwarder
# Please select one of the following comands based on your module
# for WM1302 LoRaWAN Gateway Module (SPI) - EU868
./lora_pkt_fwd -c global_conf.json.sx1250.EU868

# for WM1302 LoRaWAN Gateway Module (SPI) - US915
./lora_pkt_fwd -c global_conf.json.sx1250.US915

PCIe 扩展卡​

reTerminal DM 具有源自 CM4 的 PCIe 接口,支持 PCIe 2.0,理论上可提供最高 5Gbps 的传输速度。这使其能够扩展千兆以太网、NVMe SSD 等多种高速接口。我们基于 PCIe、USB 和 I2C 接口开发了多种扩展卡,以满足不同场景需求,这也方便了定制化需求。

note

请注意,标准产品默认不包含 PCIe 扩展卡。Seeed 可以为批量定制订单提供组装服务。

POE​

reTerminal DM 可以通过添加 PoE 供电模块来支持 IEEE 802.3af PD(受电设备)标准。

note

reTerminal DM 支持 PoE 供电,但标准产品默认不包含 PoE 模块。Seeed 可以为批量定制订单提供 PoE 焊接和组装服务。然而,如果客户在测试样机,则需要自行焊接和组装 PoE 模块。

SSD​

reTerminal DM 通过使用 PCIe 扩展卡支持 2280 NVMe SSD。需要注意的是,CM4 的 PCIe 为 Gen2.0,理论最高速度为 5Gbps。如果你使用的是 Gen3.0 或更高版本的 SSD,可能无法达到该 SSD 的最高速度。经过测试,安装 SSD 的 reTerminal DM 可实现最高 210MB/s 的写入速度和 360MB/s 的读取速度。如果你不确定哪些 SSD 兼容,可以在 Seeed 官方网站购买 112990247、512GB NVMe M.2 PCle Gen3x4 2280 SSD。

note

reTerminal DM 的标准版本不支持 SSD,需要购买 PCIe 扩展卡才能启用此功能。

其他资源​

技术支持与产品讨论​

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

Loading Comments...