🛠 Interfacing de Periféricos Industriales en el MS-U320

BIOSTAR EdgeComp MS-U320: Mini PC industrial sin ventilador Intel Wildcat Lake · avance · Configurez les ports série et GPIO pour connecter des capteurs et afficheurs via Linux sur le EdgeComp 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

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.

  1. 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.

  1. Configuración de Permisos

Instale pyserial para manipular puertos serie en Python: ``bash sudo apt update sudo apt install python3-pip pip3 install pyserial ``

  1. 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

  1. 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.

  1. 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

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales