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 文件写入 10

多功能端子

端子与信号对照表

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 数字输入 DI1Low,如上表所示。

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

raspi-gpio get 16

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

数字输出

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

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

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

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

此时与 DO1 对应的 GPIO24 被设置为 Outputpulling 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 ARS485 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...