linux-serial-modbus-master.py
Configure un port série Linux pour la communication Modbus RTU sur les ports COM intégrés.
Utilise les bibliothèques 'pyserial' et 'minimalmodbus'. Les ports physiques RS232/422/485 sont exposés sous Linux comme /dev/ttyS0 à /dev/ttyS3. Vérifiez les permissions d'accès au port (/dev/ttyS1). Ce script suppose une configuration de parité N, 8 bits de données, 1 bit d'arrêt.
linux-serial-modbus-master.py
import serial
import minimalmodbus
# Configuration du port série pour le port COM2 (RS485)
# Baudrate 9600, Parité 'N', Bits de données 8, Bits d'arrêt 1
instrument = minimalmodbus.Instrument('/dev/ttyS1', 1) # 1 est l'adresse slave
instrument.serial.port = '/dev/ttyS1'
instrument.serial.baudrate = 9600
instrument.serial.bytesize = 8
instrument.serial.parity = serial.PARITY_NONE
instrument.serial.stopbits = 1
instrument.serial.timeout = 1
try:
# Lire une valeur de registre (ex: température)
temperature = instrument.read_register(0, 1) # Adresse 0, décimales 1
print(f"Température lue : {temperature} °C")
except minimalmodbus.ModbusException as e:
print(f"Erreur Modbus : {e}")