Skip to main content

reTerminal DM 入门指南

pir

reTerminal DM 是一款 10.1 英寸开源工业 HMI - 一个集成设备主机,用于统一数据流并管理现场设备。

基于 Raspberry Pi CM4,作为面板 PC、HMI、PLC、IIoT 网关四合一设备,reTerminal DM 是新一代交互式传感中枢,配备 IP65 工业级大屏幕。

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

*4G 和 LoRa® 模块默认不随 reTerminal DM 提供,请根据需要购买相关模块, 4G 套装

特性

  • HMI、PLC、面板 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
最大颜色数1670 万色(8 位)
亮度400 尼特
视角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 主机
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®Mini-PCIe 用于 LoRaWAN®(可选)
蜂窝网络Mini-PCIe 用于 4G(可选)
电源
输入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致命固件错误
46A 类电源故障
47B 类电源故障
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 控制,该 IC 为设备提供额外的数字 I/O 通道。

要测试和控制蜂鸣器,您可以简单地向 /sys/class/leds/usr-buzzer/brightness 文件设置 10

多功能端子

端子和信号对照表

CANHCANLGND_ISORS485ARS485BGND_ISORS232_TXRS232_RXGNDGND
DI1DI2DI3DI4GND_DIDO1DO2DO3DO4GND_DO

端子引脚分配表

引脚丝印信号描述
1CHCANH差分 CAN 信号高
2CLCANL差分 CAN 信号低
3GSGND_ISO隔离地信号
4RARS485A差分 RS485 信号 A
5RBRS485B差分 RS485 信号 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 的数字输入和输出使用负逻辑,终端 IO 与 CM4 GPIO 之间的逻辑电平关系如下表所示。

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

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

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

raspi-gpio get
数字输入

以下是如何将传感器连接到 DI 的接线示意图:

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

raspi-gpio get 16

其中 GPIO16 的当前状态设置为 INPUT下拉,当前引脚电平为 1,表示 高电平,根据上表,这也意味着当前终端数字输入 DI1低电平

让我们通过将 DI1 终端连接到 5V 电源正极 引脚,然后将 5V 电源地线 连接到 GND_DI,为 DI1 提供 高电平 信号

raspi-gpio get 16

此时 GPIO16 的当前引脚电平为 0,表示 低电平,根据上表,这也意味着当前终端数字输入 DI1高电平

数字输出

以下是如何将负载连接到 DO 的接线示意图:

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

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

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

其中对应 DO1GPIO24 被设置为 输出下拉 状态,GPIO24 电平设置为 高电平

现在让我们将 GPIO24 设置为 低电平,这意味着 DO1 输出被驱动为 高电平

#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 位 奇偶校验 -> 无 停止位 -> 1 硬件流控制 -> 禁用

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

请注意,地线引脚需要连接到 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 端口,您可以连接 USB 设备,如闪存驱动器、网络摄像头、键盘和鼠标等。

USB Type-C

USB Type-C 是一个 USB 2.0 端口,用于串行调试或刷写操作系统镜像,具体取决于启动开关位置。有关刷写操作系统的信息,请参考 刷写操作系统 Wiki 页面

SIM 卡槽

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

note

请注意,reTerminal DM 的标准版本不包含 4G 模块。如果您需要 4G 功能,必须单独购买额外的 4G 模块,因此此 SIM 卡槽仅在您在 4G PCIe 插槽中放置支持的 4G 模块版本时才能工作。

复位按钮

在 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 引脚 GPIO

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

描述引脚复用引脚复用描述
引脚 13V340 引脚
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_CE0CAN 的 SPI 使能引脚
GNDGPIO 7SPI0_CE1LoRa® 的 SPI 使能引脚
ID_SDID_SC
I2C_SCLGPIO 5GND
接线端子 DO4DO4GPIO 6GPIO 12CAN_INTCAN 的中断引脚
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 摄像头 V2.0 驱动板 + Seeed 定制摄像头 IMX219-77。

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

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

4G 模块

pir

所需材料

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

步骤 1. 请参考 EC25 4G 模块硬件组装 指南,将 EC25 4G 模块 安装到 4G/LTE PCIe 插槽(您应该看到 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 并按 'Enter',您应该看到 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 支持 WM1302 LoraWAN® 模块的 USB 和 SPI 版本,但是 USB 版本需要使用为 4G 模块设计的 Mini PCIe,这意味着如果您想同时使用 4G 模块和 LoraWAN® 模块,请选择 WM1302 LoraWAN® 模块的 SPI 版本。

pir

步骤 1. 请参考 LoraWAN® 模块硬件组装 指南,将 WM1302 SPI LoraWAN® 模块 安装到 LoraWAN® Mini PCIe 插槽 中,您应该能看到 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® 模块的默认 SPI 端口:

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

步骤 6. 启动 LoraWAN® 模块

根据您使用的模块,在相应的 global_conf.json.sx1250.xxxxx 中选择您首选的 LoRaWAN 网络服务器 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...