🛠 Interfacing de Periféricos Industriales en el MS-U320
Objetivos
Este tutorial avanzado tiene como objetivo dominar las interfaces de entrada/salida del BIOSTAR EdgeComp MS-U320. A diferencia de las placas de desarrollo estándar, este mini PC industrial no expone pines GPIO físicos directamente en la PCB. El objetivo es aprovechar los cuatro puertos COM (RS232/422/485) para comunicarse con PLCs, sensores industriales o pantallas seriales. Aprenderemos a configurar los parámetros de línea (baudrate, paridad) y a enviar comandos mediante scripts Python en Ubuntu 24.04.
Material Necesario
- BIOSTAR EdgeComp MS-U320 (Core 3 o Core 5) con Ubuntu 24.04 instalado.
- Un convertidor USB a Serie o un módulo industrial compatible RS232/485.
- Un sensor o pantalla compatible con serie (ej. LCD serie o sensor Modbus).
- Cables de conexión adecuados (RJ45 a bloques de terminales o DB9).
- Un PC host para acceso SSH al MS-U320.
Pasos
Conéctese por SSH. Los puertos COM físicos suelen estar mapeados en /dev/ttyS0 a /dev/ttyS3. Verifique su presencia: ``bash ls -l /dev/ttyS* `` Si los puertos no aparecen, instale los controladores específicos de BIOSTAR para el chipset serie.
- Identificación de Puertos Serie
Por defecto, solo root puede acceder a los puertos serie. Añada su usuario al grupo dialout: ``bash sudo usermod -aG dialout $USER `` Cierre sesión y vuelva a iniciar para aplicar los cambios.
- Configuración de Permisos
Instale pyserial para manipular puertos serie en Python: ``bash sudo apt update sudo apt install python3-pip pip3 install pyserial ``
- Instalación de Bibliotecas de Comunicación
Cree un archivo send_data.py para enviar un comando a un dispositivo conectado a COM1 (/dev/ttyS0). Ejemplo para una pantalla o sensor simple: ```python import serial import time
- Script de Envío de Datos
# Configuración del puerto serie (RS232 estándar) ser = serial.Serial( port='/dev/ttyS0', baudrate=9600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1 )
if ser.is_open: print("Puerto serie abierto") # Enviar comando ASCII (ej. mostrar 'Hello Industrial') command = b"Hello Industrial\r\n" ser.write(command)
# Leer respuesta si el dispositivo envía datos time.sleep(0.5) if ser.in_waiting > 0: response = ser.read(ser.in_waiting) print(f"Respuesta: {response.decode('utf-8', errors='ignore')}")
ser.close() else: print("No se puede abrir el puerto") ```
Ejecute el script: ``bash python3 send_data.py `` Observe la comunicación. Para RS485, asegúrese de que el convertidor esté en modo Half-Duplex si es necesario.
- Ejecución y Prueba
Verificación
El script debe ejecutarse sin errores de permisos. Si el dispositivo responde, el mensaje "Respuesta:" aparece en la terminal. Si falla, verifique el cableado (TX/RX cruzados para RS232) y el baudrate coincidente con el dispositivo.
Para Ir Más Allá
Explore el protocolo Modbus RTU en puertos serie para comunicarse con Controladores Lógicos Programables (PLCs). Use la biblioteca pymodbus para leer registros de sensores. Tenga en cuenta que la ausencia de GPIO nativo obliga a usar módulos de E/S conectados vía USB o puertos serie para el control de relés o LEDs.
Otros tutoriales para esta placa
- Configurar E/S serie en EdgeComp MS-U320
- Configurar la red dual 2.5GbE en EdgeComp MS-U320
- Primer arranque del BIOSTAR EdgeComp MS-U320
- Configuración de E/S serie y GPIO en EdgeComp MS-U320
- Configurar un Router Industrial con EdgeComp MS-U320
- Configuración inicial y diagnósticos del BIOSTAR EdgeComp MS-U320