Saltar al contenido principal

Introducción a reTerminal DM

pir

reTerminal DM es una HMI robusta de código abierto de 10,1" (10.1") - un dispositivo maestro integrado para unificar el flujo de datos y gestionar el dispositivo in situ.

Basado en Raspberry Pi CM4 y, como un dispositivo todo en uno Panel PC, HMI, PLC y pasarela IIoT, reTerminal DM es una nueva generación de concentrador de sensado interactivo con una pantalla grande de grado robusto IP65.

Está equipado con una gran escalabilidad y conectividad híbrida, compatible con bus CAN, RS485, RS232, puerto Ethernet Gigabit y otras interfaces, así como potentes capacidades de comunicación inalámbrica como 4G, LoRa®, WiFi y BLE.

Aviso de compra: Los módulos 4G y LoRa® no vienen con reTerminal DM por defecto. Compra los módulos correspondientes según sea necesario, como el 4G bundle.

nota

Opciones de personalización disponibles: branding del logotipo, embalaje y flasheo de firmware.

Características

  • HMI, PLC, Panel PC y pasarela en uno: perfecto para dispositivos concentradores distribuidos
  • Programación de bajo código para aplicaciones dirigidas por eventos: Node-RED integrado de forma nativa para edición basada en flujos y despliegue con un clic, compatible con todo el software que se ejecuta en Raspberry Pi
  • Diseño robusto para entornos de trabajo hostiles: panel frontal IP65, temperatura de funcionamiento de -10~50°C
  • Conectividad híbrida: compatible con 4G LTE, LoRaWAN®, WiFi, BLE, RS485/RS232, bus CAN, Ethernet 1000M, USB, HDMI
  • Diseño de hardware y software de código abierto: impulsado por Raspberry Pi CM4, se admite la personalización o derivados
  • Garantía del producto: garantía de dos años

*Los módulos 4G y LoRa® no vienen con reTerminal DM por defecto, compra los módulos correspondientes según sea necesario.

Especificaciones

Básico
CPUCM4
Quad-core [email protected]
Memoria8GB
Almacenamiento32GB eMMC
Ranura M.2 SATA SSD 2280-B Key (opcional)
Compatibilidad con SORaspbian
SenseCraft Edge OS
Pantalla
Tamaño10.1''
Resolución máx.1280 x 800
Máx. colores16.7M (8-bit)
Luminancia400 nit
Ángulo de visión170/170 H/V°
Vida útil de la retroiluminación30000 hrs
Tipo de toqueCapacitivo de 10 puntos
Dureza del lápiz7H
Vídeo y audio
VídeoHDMI 2.0
AudioMicrófono x 2
Zumbador
Conector de audio de 3,5 mm
CámaraCSI (opcional)
Interfaces
Ethernet1 x 10/100/1000 Mbps
1 x 10/100/1000 Mbps (opcional)
USB2 x USB-A 2.0 Host
2 x USB 3.0 (opcional)
RS4851 x RS-485 > Bloque de terminales
1 x RS-485 > DB9 (opcional)
RS2321 x RS-232 > Bloque de terminales
1 x RS-232 > DB9 (opcional)
CAN1 x CAN-BUS > Bloque de terminales
DI4 x DI > Bloque de terminales
DO4 x DO > Bloque de terminales
GPIO de 40 pinesInterno
Comunicación inalámbrica
WiFiWiFi integrado
BLEBLE integrado
LoRa®Mini-PCIe para LoRaWAN® (opcional)
CelularMini-PCIe para 4G (opcional)
Alimentación
EntradaBloque de terminales de 2 pines
PoEPoE de 12W (opcional)
Rango de alimentación12~24 DC
Entorno
Grado de protecciónPanel frontal IP65
Temperatura de funcionamiento-10~50 °C
Temperatura de almacenamiento-20~70 °C
Humedad (funcionamiento)10~90% HR
Mecánico
Dimensiones259.4 x 191 x 42.2 mm
CarcasaAleación de aluminio fundido a presión
MontajePanel, VESA, carril DIN
Peso (neto)1.8Kg
Certificación
CE, FCC, RoHS, Telec, REACH
Otros
RTCRTC de alta precisión
SeguridadATECC608A
Garantía2 años
Disipación de calorSin ventilador

Descripción general del hardware

Descripción general de la placa base

Diagrama de alimentación

El reTerminal DM admite dos opciones de alimentación: terminal de CC y puerto PoE. De forma predeterminada, el reTerminal DM se alimenta a través del terminal de CC, mientras que la alimentación PoE es opcional. Esto proporciona flexibilidad en la selección de la fuente de alimentación y permite una fácil integración con diversas fuentes de energía.

Terminal de alimentación

El reTerminal DM se alimenta con un voltaje nominal de 12~24 V. La fuente de alimentación se conecta mediante el conector de bloque de terminales de alimentación de 2 pines.

POE (opcional)

nota

El producto estándar no incluye un módulo PoE por defecto. Seeed puede proporcionar servicios de soldadura y ensamblaje de PoE para pedidos de personalización por lotes bajo solicitud, por favor contacta con [email protected],

Si se instala el módulo PoE, el puerto LAN1 de reTerminal DM puede admitir alimentación PoE, proporcionando una forma cómoda y eficiente de alimentar el dispositivo a través de Ethernet. Esta opción simplifica el proceso de instalación y reduce la cantidad de cableado necesario, lo que la convierte en una solución ideal para aplicaciones con fuentes de alimentación limitadas o donde no hay tomas de corriente fácilmente disponibles.

  • Entrada PoE: Rango 44~57V; Típico 48V
  • Salida PoE: 12V, 1.1A máx.

Consumo de energía

Consulta la siguiente tabla para conocer el consumo de energía probado de reTerminal DM en el laboratorio de Seeed Studio. Ten en cuenta que este valor es solo de referencia, ya que los métodos de prueba y el entorno pueden provocar variaciones en los resultados.

EstadoVoltajeCorrienteConsumo de energíaDescripción
Apagado0.6mAPrueba de consumo de energía estático en estado de apagado y sin alimentación.
Inactivo24V0.165A3.96WPara probar la corriente de entrada al suministrar alimentación de 24V al dispositivo reTerminal DM a través del conector de terminal mientras se ejecuta el sistema predeterminado de Seeed Studio, sin ejecutar ningún programa de prueba.
Carga completa24V0.37A8.88WConfigurar la CPU para que funcione a carga completa usando el comando "stress -c 4", mientras se reproduce un video y se realiza comunicación CAN y RS485. Sin dispositivos externos conectados.

Encendido y apagado

El reTerminal DM no viene con un botón de encendido por defecto, y el sistema se iniciará automáticamente una vez que se conecte la alimentación. Al apagar, selecciona la opción de apagado en el sistema operativo y espera a que el sistema se apague completamente antes de cortar la alimentación. Para reiniciar el sistema, simplemente vuelve a conectar la alimentación.

nota

Ten en cuenta que después de apagar, espera al menos 10 segundos antes de reiniciar el sistema para permitir que los condensadores internos se descarguen completamente.

Diagrama de bloques

Bloque I2C

Interfaz

Micrófono

El reTerminal DM está equipado con dos micrófonos MEMS situados en los lados izquierdo y derecho debajo de la pantalla. Estos micrófonos se pueden configurar como una matriz de micrófonos dual, proporcionando capacidades superiores de captación de sonido. Los micrófonos se comunican con el chip códec de audio a través de la interfaz I2S, mientras que el chip códec se comunica con el CM4 a través de la interfaz PCM. El chip códec de audio seleccionado para el reTerminal DM es el TI TLV320AIC3104 Low-Power Stereo Audio Codec.

aviso

Es importante tener en cuenta que, para lograr una clasificación IP65 para el panel frontal, las aberturas del micrófono están cubiertas con una membrana acústica impermeable. Evita usar objetos afilados para tocar las aberturas del micrófono.

Para interactuar con el micrófono:

Abre la aplicación Terminal en el dispositivo y escribe arecord -l para encontrar el controlador del micrófono:

Para grabar el audio puedes usar la aplicación audacity, utiliza sudo apt install audacity para instalar la aplicación audacity:

Abre audacity para abrir la aplicación y haz clic en grabar para grabar audio desde los micrófonos integrados:

Indicador LED

El reTerminal DM cuenta con tres indicadores LED que sirven para señalar el estado de funcionamiento de la máquina. Consulta la tabla siguiente para conocer las funciones y estados específicos de cada LED:

Asignación de pines del LED

EtiquetaSeñalFuente de señalColorDescripción
PWRLED_nPWRCM4AmarilloSe utiliza para indicar la alimentación del CM4. Cuando el CM4 está alimentado normalmente, el LED se encenderá
USERPCA9535 - GPIORojoFunción definida por el usuario
ACTLED_nACTCM4VerdeSe utiliza para indicar varios estados del sistema. Consulta la tabla siguiente.

Tabla de estado de ACT

Destellos largosDestellos cortosEstado
03Fallo genérico de arranque
04start*.elf no encontrado
07Imagen del kernel no encontrada
08Fallo de SDRAM
09SDRAM insuficiente
010En estado HALT
21Partición no FAT
22Error al leer desde la partición
23Partición extendida no FAT
24No coincide la firma/hash del archivo - Pi 4
44Tipo de placa no compatible
45Error de firmware fatal
46Fallo de alimentación tipo A
47Fallo de alimentación tipo B
nota

Si el LED ACT parpadea con un patrón regular de cuatro destellos, no puede encontrar el bootcode (start.elf)
Si el LED ACT parpadea con un patrón irregular, entonces el arranque ha comenzado.
Si el LED ACT no parpadea, entonces el código EEPROM podría estar dañado, inténtalo de nuevo sin nada conectado para asegurarte.
Para más detalles, consulta el foro de Raspberry Pi:
STICKY: Is your Pi not booting? (The Boot Problems Sticky) - Raspberry Pi Forums
Para más detalles, consulta el foro de Raspberry Pi: https://forums.raspberrypi.com//viewtopic.php?f=28&t=58151

Para activar el LED USER utiliza el siguiente comando:

sudo -i

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

Deberías ver que el LED USER se enciende en color rojo.

Sensor de luz

El sensor de luz, situado en la parte inferior derecha de la pantalla, es capaz de detectar la intensidad de la luz ambiental y ajustar automáticamente el brillo de la pantalla para proporcionar una experiencia de visualización óptima mientras ahorra energía. El sensor de luz se comunica con el CM4 a través del protocolo I2C.

La dirección I2C es 0x29.

Para interactuar con el sensor de luz:

  • Paso 1. Entra en el siguiente directorio
cd /sys/bus/iio/devices/iio:device0
  • Paso 2. Escribe lo siguiente para obtener el valor de intensidad de luz en Lux
cat in_illuminance_input 

Zumbador

El reTerminal DM cuenta con un zumbador activo situado en la esquina inferior derecha de la pantalla, que se puede utilizar para diversos fines, como alarmas y notificaciones de eventos. El zumbador se controla a través del CI de expansión GPIO PCA9535, que proporciona canales adicionales de E/S digitales para el dispositivo.

Para probar y controlar el zumbador simplemente puedes establecer 1 o 0 en el archivo /sys/class/leds/usr-buzzer/brightness:

Terminales multifuncionales

Tabla de comparación de terminal y señal

CANHCANLGND_ISORS485ARS485BGND_ISORS232_TXRS232_RXGNDGND
DI1DI2DI3DI4GND_DIDO1DO2DO3DO4GND_DO

Tabla de asignación de pines del terminal

PinSerigrafíaSeñalDescripción
1CHCANHSeñal CAN diferencial alta
2CLCANLSeñal CAN diferencial baja
3GSGND_ISOSeñal de tierra aislada
4RARS485ASeñal RS485 diferencial A
5RBRS485BSeñal RS485 diferencial B
6GSGND_ISOSeñal de tierra aislada
7RTRS232_TXExtremo de transmisión de señal RS232
8RXRS232_RXExtremo de recepción de señal RS232
9GDGNDTierra de la placa base
10GDGNDTierra de la placa base
11I1DI1Entrada digital 1
12I2DI2Entrada digital 2
13I3DI3Entrada digital 3
14I4DI4Entrada digital 4
15GIGND_DISeñal de tierra de entrada, conectada a GND a través de 1MΩ
16D1DO1Salida digital 1
17D2DO2Salida digital 2
18D3DO3Salida digital 3
19D4DO4Salida digital 4
20GOGND_DOSeñal de tierra de salida, conectada a GND a través de 0Ω

DI/DO

El reTerminal DM admite 4 canales de entrada digital y 4 canales de salida digital, todos los cuales están ópticamente aislados para proteger eficazmente la placa base de picos de voltaje u otras perturbaciones eléctricas.

Tabla de asignación de pines DI/DO
PinSeñal CM4Rango típico de voltajeVoltaje máx.Capacidad de corriente nominal
DI1GPIO165-24V CC30V CC
DI2GPIO175-24V CC30V CC
DI3GPIO225-24V CC30V CC
DI4GPIO235-24V CC30V CC
GND_DI
DO1GPIO245-24V CC30V CC500mA
DO2GPIO255-24V CC30V CC500mA
DO3GPIO265-24V CC30V CC500mA
DO4GPIO65-24V CC30V CC500mA
GND_DO
nota

La tierra para las señales de entrada es diferente de la tierra para las señales de salida. La tierra para las señales de entrada debe conectarse al pin GND_DI, mientras que la tierra para las señales de salida debe conectarse al pin GND_DO.

La lógica negativa utilizada para las entradas y salidas digitales de reTerminal DM, y la relación de nivel lógico entre Terminal IO y CM4 GPIO se muestra en la tabla siguiente.

Entrada digital del terminalSeñal detectada por CM4 GPIO
BajoAlto
AltoBajo
Salida CM4 GPIOSalida digital del terminal
AltoBajo
BajoAlto

En esta sección usaremos la herramienta raspi-gpio para probar con los GPIO, puedes usar raspi-gpio help para ver el manual:

Para obtener el estado actual de todos los GPIO, introduce el siguiente comando en el Terminal:

raspi-gpio get
Entrada digital

Aquí se muestra un esquema de cómo cablear sensores a DI:

Para obtener el estado de un GPIO específico, introduce el siguiente comando en el Terminal :

raspi-gpio get 16

donde el estado actual del GPIO16 está configurado como INPUT y pulling Down, el nivel actual del pin es 1, lo que significa High, lo que también significa que la entrada digital actual del terminal DI1 es Low según la tabla anterior

Pongamos una señal High en el DI1 conectando el terminal DI1 al pin Positive de la 5V source, y luego la Ground de la 5V source al GND_DI

raspi-gpio get 16

Donde el nivel actual del pin del GPIO16 es 0, lo que significa Low, lo que también significa que la entrada digital actual del terminal DI1 es High según la tabla anterior

Salida digital

Aquí se muestra un esquema de cómo cablear la carga a DO:

Para controlar el valor de estado de la salida digital, primero debemos configurar el estado del pin como Output y pulling Down:

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

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

Donde el GPIO24 que corresponde a DO1 está configurado en estado Output y pulling down, y el nivel de GPIO24 está configurado en High

Ahora configuremos el GPIO24 a Low, lo que significa que la salida de DO1 se conduce como High.

#set current pin state
raspi-gpio set 24 dh

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

RS485

El reTerminal DM está equipado con una interfaz RS485 a través de su conector de 20 pines, la cual está aislada tanto para señal como para alimentación para garantizar un funcionamiento seguro y fiable en aplicaciones robustas y de automatización. Las señales RS485 A y RS485 B están aisladas mediante aislamiento capacitivo, lo que proporciona una excelente inmunidad al EMI y cumple con los requisitos de comunicación de alta velocidad de la interfaz RS485.

nota

Se ha instalado por defecto una resistencia terminal de 120Ω. La interfaz RS485 utiliza una fuente de alimentación aislada, lo que significa que la señal de tierra de los dispositivos externos conectados a la interfaz RS485 debe conectarse al pin GND_ISO.

Para probar e interconectar con la RS485, debes preparar un adaptador USB a RS485 y asegurarte de que la conexión sea la misma que la siguiente:

nota

Ten en cuenta que el puerto RS485 es /dev/ttyACM1 o /dev/ttyCH340USB1 dependiendo de qué sistema operativo estés ejecutando.

Utiliza tu herramienta de comunicación serie favorita en tu ordenador host para realizar la siguiente prueba: ejecuta el código de python en reTerminal DM para probar la conexión serie RS485, donde este código configurará el puerto serie RS485 de la siguiente manera

Baudrate -> 9600 Bytesize -> 8 bits Parity -> None Stopbits -> 1 Hardware flow control -> 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

El conector de 20 pines del reTerminal DM también incluye una interfaz RS232, que no está aislada. Esto se debe a que la comunicación RS232 normalmente utiliza niveles de voltaje CMOS y tiene distancias de comunicación cortas, lo que la hace menos susceptible a interferencias electromagnéticas del entorno.

nota

Ten en cuenta que el pin de tierra debe conectarse al pin GD junto al pin RX, asegúrate de que no sea el pin GS.

Aquí está el script de prueba en python para enviar datos desde reTerminal DM al ordenador host:

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()

Aquí está el script de prueba en python para recibir datos en reTerminal DM enviados desde el ordenador host,

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

El reTerminal DM incorpora una interfaz CAN que es compatible con el protocolo CAN FD (Controller Area Network Flexible Data-Rate). La interfaz CAN está aislada mediante aislamiento capacitivo, lo que proporciona una excelente protección contra EMI y garantiza una comunicación fiable en aplicaciones robustas y de automatización. Se ha instalado por defecto una resistencia terminal de 120Ω.

nota

La interfaz CAN utiliza una fuente de alimentación aislada, lo que significa que la señal de tierra de los dispositivos externos conectados a la interfaz CAN debe conectarse al pin GND_ISO

Para probar e interconectar con el bus CAN: Por favor, conecta el adaptador USB a CAN como se muestra en la imagen siguiente:

  • PASO 1: Instalar CAN-utils
sudo apt install can-utils

CAN-utils es una colección de herramientas de depuración extremadamente útiles que utilizan la interfaz CAN. Incluye aplicaciones como:

  • candump – Vuelca paquetes CAN – los muestra, filtra y registra en disco.
  • canplayer – Reproduce archivos de registro CAN.
  • cansend – Envía una sola trama.
  • cangen – Genera tráfico aleatorio.
  • canbusload – muestra la utilización actual del bus CAN

El código fuente de CAN-utils se puede obtener desde el repositorio de GitHub.

  • PASO 2: Configura la interfaz CAN usando el siguiente comando:
sudo ip link set can0 up type can bitrate 500000
sudo ifconfig can0 txqueuelen 1000
sudo ip link set can0 up
  • PASO 3: Descarga el código de prueba a reTerminal DM usando git
git clone https://github.com/limengdu/Seeed_reTerminal_Bridge_CAN_exmaple

  • PASO 4: Compila y ejecuta el código que envía los datos:
cd Seeed_reTerminal_Bridge_CAN_exmaple/
gcc cantransmit.c -o cantransmit

en tu ordenador host Linux u otro reTerminal DM, puedes compilar y ejecutar el código que recibe los datos.

gcc canreceive.c -o canreceive

puedes ver los resultados, la imagen siguiente se ha realizado usando dos reTerminal DM:

USB

USB Tipo A

Hay dos puertos USB 2.0 Tipo A, a los que puedes conectar dispositivos USB como unidades flash, cámaras web, teclado y ratón, etc.

USB Tipo C

USB Tipo C es un puerto USB 2.0 usado para depuración serie o para grabar la imagen del sistema operativo, dependiendo de la posición del interruptor de arranque. Para la grabación del sistema operativo, consulta la página Wiki de Flashing OS

Ranura para tarjeta SIM

El reTerminal DM utiliza una ranura para tarjeta SIM de tamaño estándar que se encuentra comúnmente en aplicaciones robustas, la cual requiere una tarjeta SIM estándar con dimensiones de 25 mm x 15 mm.

nota

Ten en cuenta que la versión estándar de reTerminal DM no viene con un módulo 4G. Si necesitas funcionalidad 4G, se debe comprar por separado un módulo 4G adicional. Por lo tanto, esta ranura para tarjeta SIM solo funciona si has colocado la versión compatible del módulo 4G en la ranura 4G PCIe.

Botón de reinicio

Hay un mini pulsador ubicado en el orificio de reinicio del reTerminal DM. Al presionar este botón con un objeto fino, se puede reiniciar el CM4. Este botón está conectado al pin RUN_PG del CM4. Cuando este pin está en alto, indica que el CM4 ha arrancado. Llevar este pin a nivel bajo reinicia el módulo.

Conector de audio

reTerminal DM tiene un conector de auriculares de 3,5 mm, que admite salida de sonido y se puede conectar a auriculares externos, altavoces, etc.

nota

El conector de auriculares solo admite salida de sonido y no admite la función de grabación de micrófono.

HDMI

El reTerminal DM incorpora una interfaz HDMI nativa del CM4, que admite salida de vídeo de hasta 4K a 60 fps. Es ideal para aplicaciones que requieren múltiples pantallas, permitiendo a los usuarios enviar su contenido a pantallas externas de gran tamaño.

Ethernet RJ45

El reTerminal DM viene con una interfaz Ethernet Gigabit nativa del CM4 que admite tres velocidades diferentes: 10/100/1000 Mbit/s. Se puede comprar un módulo PoE adicional para habilitar la alimentación a través de Ethernet (PoE) mediante esta interfaz, proporcionando energía al reTerminal DM.

Interfaz interna

GPIO de 40 pines

El diseño clásico de GPIO de 40 pines de Raspberry Pi se mantiene dentro del reTerminal DM, y la asignación de pines sigue siendo la misma que en la Raspberry Pi 4B. Los usuarios deben abrir la tapa trasera para usar estos GPIO. Cabe señalar que, debido a los recursos limitados de E/S del CM4, los GPIO de 40 pines y muchas interfaces periféricas están multiplexados, por lo que debes prestar especial atención a los conflictos al usar los GPIO. Para obtener información detallada sobre la asignación de pines, consulta la siguiente tabla.

DescripciónMultiplexación de pinesMultiplexación de pinesDescripción
Pin 13V340 PIN
GPIO
5V
I2C1_SDAGPIO 25V
I2C1_SCLGPIO 3GND
I2C3_SDAGPIO 4GPIO 14UART0_TXDUSB Tipo C
GNDGPIO 15UART0_RXD
Bloque Terminal DI2DI2GPIO 17GPIO 18PCM_CLKConector de audio de 3,5 mm
Pines de interrupción para la pantalla táctilTP_INTGPIO 27GND
Bloque Terminal DI3DI3GPIO 22GPIO 23DI4Bloque Terminal DI4
3V3
GPIO 24DO1Bloque Terminal DO1
Módulo CAN y LoRa®SPI0_MOSIGPIO 10GND
SPI0_MISOGPIO 9GPIO 25DO2Bloque Terminal DO2
SPI0_SCLKGPIO 11GPIO 8SPI0_CE0Pines de habilitación SPI para CAN
GNDGPIO 7SPI0_CE1Pines de habilitación SPI para LoRa®
ID_SDID_SC
I2C_SCLGPIO 5GND
Bloque de terminales DO4DO4GPIO 6GPIO 12CAN_INTPines de interrupción para CAN
Pines de control de la retroiluminación LCDLCD_PWMGPIO 13GND
Conector de audio de 3,5 mmPCM_FSGPIO 19GPIO 16DI1Bloque de terminales DI1
Bloque de terminales DO3DO3GPIO 26GPIO 20PCM_DINConector de audio de 3,5 mm
GNDGPIO 21PCM_DOUTConector de audio de 3,5 mm

RTC

El reTerminal DM incorpora un circuito RTC que viene preinstalado con una batería CR2032, lo que le permite mantener la función de cronometraje incluso en caso de pérdida de alimentación.

Utiliza el siguiente comando para cambiar el reloj de hardware con el reloj actual del sistema

sudo hwclock --systohc

Utiliza el siguiente comando para cambiar el reloj del sistema con el reloj de hardware actual

sudo hwclock --hctosys

Para ver el reloj de hardware actual

sudo hwclock -r 

Watchdog

El reTerminal DM viene equipado con un circuito watchdog de hardware independiente que garantiza el reinicio automático del sistema en caso de bloqueos anómalos del sistema. El circuito watchdog se implementa a través del RTC y permite tiempos de alimentación flexibles de 1 a 255 segundos.

Para configurar el tiempo de espera del watchdog en watchdog.conf, sigue estos pasos:

PASO 1: Abre el archivo watchdog.conf para editarlo, normalmente ubicado en /etc/watchdog.conf.

sudo nano /etc/watchdog.conf

PASO 2: Busca las opciones de configuración "watchdog-device" y "watchdog-timeout" en /etc/watchdog.conf, configúralas como se indica a continuación.

nota

podrías experimentar un reinicio instantáneo cuando la opción watchdog-timeout se establece por debajo de 60; para utilizar el watchdog de hardware necesitas configurar el watchdog-device como /dev/watchdog1, donde la configuración predeterminada sin el 1 utiliza el dispositivo watchdog de 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


Por ejemplo, si quieres establecer el tiempo de espera del watchdog en 60 segundos, puedes establecer el valor de watchdog-timeout en 60, lo que significa que si el watchdog no recibe una señal de reinicio en 60 segundos, activará una operación de reinicio automático, suponiendo que el sistema se haya bloqueado.

aviso

puedes probar si el watchdog está activo con el siguiente comando, donde estos comandos pondrán el sistema en detención; por favor ten cuidado al ejecutar los siguientes comandos:

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

Ahora tu reTerminal DM debería haberse reiniciado después del tiempo que hayas configurado en el watchdog-timeout

Retroiluminación

Hay 6 niveles de brillo que puedes configurar para la retroiluminación, desde 0 que es apagado hasta 5 que es el brillo máximo. Puedes controlar el brillo utilizando los siguientes comandos.

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

Complemento interno

Cámara

La interfaz de cámara CSI está reservada en la placa principal del reTerminal DM, que se puede personalizar para admitir funciones de cámara. Ten en cuenta que, debido al espacio limitado en el panel frontal, solo se pueden utilizar cámaras de tamaño pequeño. La solución actualmente probada rigurosamente utiliza la placa controladora de cámara Raspberry Pi V2.0 + la cámara personalizada de Seeed IMX219-77.

ConectorTipo de conectorPaso de pinCarrilOrientación del FPC
CSI0FPC de 15 pines1mm2Dedos dorados hacia abajo
CSI1FPC de 22 pines0.5mm4Dedos dorados hacia arriba
nota

Ten en cuenta que la versión estándar del reTerminal DM no viene con una abertura para cámara en el panel frontal, por lo tanto, la funcionalidad de cámara no está disponible para el producto estándar. Si tienes un requisito personalizado de cámara, por favor contacta con [email protected]

Módulo 4G

pir

Materiales necesarios

  • reTerminal DM x 1
  • Módulo 4G EC25-EUX x1
  • Tarjeta SIM x1

Paso 1. Consulta la guía EC25 4G Module Hardware assembly para instalar el EC25 4G Module en la ranura 4G/LTE PCIe donde deberías ver la serigrafía 4G/LTE, y también inserta la tarjeta SIM habilitada para 4G en la ranura para tarjeta SIM, antes de encender el sistema.

Paso 2. Comprueba si EC25-EUX es detectado usando lsusb

lsusb
lsusb -t

Paso 3. Instala la herramienta de comunicación serie minicom.

sudo apt install minicom

Paso 4. Conecta el módulo 4G EC25-EUX a través de minicom.

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

una vez que la conexión serie se haya abierto, escribe AT y pulsa 'Enter', y deberías ver OK.

Paso 5. Habilita el módulo 4G para conectarse a la red 4G

En la misma ventana serie de minicom escribe:

AT+QCFG="usbnet"

Devolverá algo como +QCFG: "usbnet",0, pero necesitamos que esté configurado en 1 (modo ECM), así que introduce el siguiente comando:

AT+QCFG="usbnet",1

Luego introduce el siguiente comando para forzar el reinicio del módem:

AT+CFUN=1,1

Luego puedes reiniciar o esperar un rato para que el módulo obtenga internet de tu operador de tarjeta SIM.

También puedes usar el comando ifconfig para consultar el estado de red del reTerminal DM.

Módulo LoraWAN®

nota

reTerminal DM es compatible tanto con la versión USB como con la versión SPI del WM1302 LoraWAN® Module, sin embargo la versión USB necesitará utilizar el Mini PCIe diseñado para el módulo 4G, lo que significa que si quieres usar tanto el módulo 4G como el módulo LoraWAN® elige la versión SPI del WM1302 LoraWAN® Module.

pir

Paso 1. Consulta la guía LoraWAN® Module Hardware assembly para instalar el WM1302 SPI LoraWAN® Module en la ranura LoraWAN® Mini PCIe donde deberías ver la serigrafía Lora. Instale los paquetes necesarios build-essential (el paquete esencial de compilación es un paquete de Debian que contiene las herramientas necesarias para crear un paquete DEB a partir del código fuente) instalando el módulo.

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

Paso 2. escriba sudo raspi-config en la línea de comandos para abrir la herramienta Raspberry Pi Software Configuration Tool:

  • Seleccione Interface Options
  • Seleccione SPI, luego seleccione Yes para habilitarlo
  • Seleccione I2C, luego seleccione Yes para habilitarlo
  • Seleccione Serial Port, luego seleccione No para "Would you like a login shell..." y seleccione Yes para "Would you like the serial port hardware..."

Después de esto, reinicie Raspberry Pi para asegurarse de que estos ajustes funcionen.

Paso 3. Descargue el código WM1302 en reTerminal y compílelo.

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

Paso 4. Copie y modifique el script reset_lgw.sh

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

Modifique el script reset_lgw.sh con un editor de texto como se muestra a continuación:

#!/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 "------------------------------------"

Paso 5. reemplace el puerto SPI predeterminado del Módulo LoraWAN® en el archivo de configuración global_conf.json.sx1250.US915:

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

Paso 6. Inicie el Módulo LoraWAN®

Elija su servidor de red LoRaWAN preferido server_address y el gateway EUI gateway_ID en el archivo correspondiente global_conf.json.sx1250.xxxxx según el módulo que esté utilizando, y modifique el up/down port a 1700. Luego ejecute el siguiente código para iniciar el concentrador:

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

Tarjeta de expansión PCIe

El reTerminal DM cuenta con una interfaz PCIe que se deriva del CM4, la cual es compatible con PCIe 2.0 y teóricamente proporciona una velocidad máxima de transmisión de 5Gbps. Esto permite la expansión de varias interfaces de alta velocidad como Ethernet Gigabit y NVMe SSD. Hemos desarrollado múltiples tarjetas de expansión basadas en interfaces PCIe, USB e I2C para satisfacer los requisitos de diferentes escenarios. Esto también facilita las necesidades de personalización.

nota

Tenga en cuenta que el producto estándar no incluye una tarjeta de expansión PCIe por defecto. Seeed puede proporcionar servicios de ensamblaje para pedidos de personalización por lotes.

POE

El reTerminal DM puede ser compatible con el estándar IEEE 802.3af PD (Powered Devices) añadiendo un módulo de alimentación PoE.

nota

El reTerminal DM admite alimentación PoE, pero el producto estándar no incluye un módulo PoE por defecto. Seeed puede proporcionar servicios de soldadura y ensamblaje de PoE para pedidos de personalización por lotes. Sin embargo, si un cliente está probando una muestra, deberá soldar y ensamblar el módulo PoE por sí mismo.

SSD

El reTerminal DM admite SSD NVMe 2280 mediante el uso de una tarjeta de expansión PCIe. Es importante tener en cuenta que el PCIe del CM4 es gen2.0 con una velocidad máxima teórica de 5Gbps. Si está utilizando un SSD Gen3.0 o superior, es posible que no pueda alcanzar la velocidad máxima del SSD. Después de las pruebas, el reTerminal DM con SSD instalado puede alcanzar una velocidad máxima de escritura de 210MB/s y una velocidad máxima de lectura de 360MB/s. Si no está seguro de qué SSD son compatibles, puede comprar el 112990247, SSD NVMe M.2 PCle Gen3x4 2280 de 512GB desde el sitio web oficial de Seeed.

nota

La versión estándar del reTerminal DM no admite SSD y requiere la compra de una tarjeta de expansión PCIe para habilitar esta función.

Recursos adicionales

Soporte técnico y debate sobre productos

Gracias por elegir nuestros productos. Estamos aquí para ofrecerte diferentes tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a distintas preferencias y necesidades.

Loading Comments...