🛠 Interfacer des périphériques industriels sur le MS-U320
Objectifs
Ce tutoriel avancé vise à maîtriser les interfaces d'entrée/sortie du BIOSTAR EdgeComp MS-U320. Contrairement aux cartes de développement classiques, ce mini PC industriel ne dispose pas de broches GPIO physiques exposées directement sur le PCB. L'objectif est donc d'exploiter les quatre ports série COM (RS232/422/485) pour communiquer avec des automates, des capteurs industriels ou des afficheurs séquentiels. Nous apprendrons à configurer les paramètres de la ligne série (baudrate, parité) et à envoyer des commandes via des scripts Python sous Ubuntu 24.04.
Matériel nécessaire
- Un BIOSTAR EdgeComp MS-U320 (Core 3 ou Core 5) avec Ubuntu 24.04 installé.
- Un convertisseur USB-Série ou un module industriel compatible RS232/485.
- Un capteur ou afficheur compatible série (ex : afficheur LCD série ou capteur Modbus).
- Câbles de liaison adaptés (RJ45 vers borniers ou DB9).
- Un PC hôte pour l'accès SSH au MS-U320.
Étapes
Connectez-vous en SSH. Les ports COM physiques sont généralement mappés sur /dev/ttyS0 à /dev/ttyS3. Vérifiez leur présence : ``bash ls -l /dev/ttyS* `` Si les ports n'apparaissent pas, installez les pilotes spécifiques BIOSTAR pour le chipset série virtuel ou physique.
- Identification des ports série
Par défaut, seul root peut accéder aux ports série. Ajoutez votre utilisateur au groupe dialout : ``bash sudo usermod -aG dialout $USER `` Déconnectez-vous et reconnectez-vous pour appliquer les changements.
- Configuration des permissions
Installez pyserial pour manipuler les ports série en Python : ``bash sudo apt update sudo apt install python3-pip pip3 install pyserial ``
- Installation des bibliothèques de communication
Créez un fichier send_data.py pour envoyer une commande à un périphérique connecté sur COM1 (/dev/ttyS0). Exemple pour un afficheur ou un capteur simple : ```python import serial import time
- Script d'envoi de données
# Configuration du port série (RS232 standard) 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("Port série ouvert") # Envoyer une commande ASCII (ex: afficher 'Hello Industrial') command = b"Hello Industrial\r\n" ser.write(command)
# Lire une réponse si le périphérique envoie des données time.sleep(0.5) if ser.in_waiting > 0: response = ser.read(ser.in_waiting) print(f"Réponse: {response.decode('utf-8', errors='ignore')}")
ser.close() else: print("Impossible d'ouvrir le port") ```
Lancez le script : ``bash python3 send_data.py `` Observez la communication. Pour le RS485, assurez-vous que le convertisseur est en mode Half-Duplex si nécessaire.
- Exécution et test
Vérification
Le script doit s'exécuter sans erreur de permission. Si le périphérique répond, le message "Réponse:" s'affiche dans le terminal. En cas d'échec, vérifiez le câblage (TX/RX croisés pour RS232) et le baudrate correspondant à celui du périphérique.
Pour aller plus loin
Explorez le protocole Modbus RTU sur les ports série pour dialoguer avec des automates programmables industriels (API). Utilisez la bibliothèque pymodbus pour lire des registres de capteurs. Notez que l'absence de GPIO natif oblige à utiliser des modules d'E/S connectés via USB ou les ports série pour le contrôle de relais ou de LEDs.
Autres tutoriels pour cette carte
- Configurer les entrées-sorties série sur EdgeComp MS-U320
- Configurer le réseau dual 2.5GbE sur EdgeComp MS-U320
- Première mise en route du BIOSTAR EdgeComp MS-U320
- Configurer les entrées-sorties série et GPIO sur EdgeComp MS-U320
- Configurer un routeur industriel avec EdgeComp MS-U320
- Mise en route et diagnostics initiaux du BIOSTAR EdgeComp MS-U320