La soluzione migliore a mio avviso è di gestire la comunicazione Modbus direttamente da Python, utilizzando la libreria pymodbus. Tramite PIP ho installato sul router la versione 3.8.6 poi ho realizzato il semplice programma di test che riporto.
# ==============================================================================
# GESTIONE MODBUS
# ==============================================================================
# Gestione Modbus.
# ------------------------------------------------------------------------------
import serial
from pymodbus.client import ModbusSerialClient
def Modbus():
# --------------------------------------------------------------------------
# TEST MODBUS
# --------------------------------------------------------------------------
# Test Modbus.
client = ModbusSerialClient(
port="/dev/ttymxc1",
baudrate=115200,
parity='E',
stopbits=1,
bytesize=8,
timeout=1
)
client.connect()
result=client.read_holding_registers(address=10, count=2, slave=1)
print(result.registers)
client.close()
# ==============================================================================
# ESECUZIONE PROGRAMMA
# ==============================================================================
# Esecuzione programma.
# ------------------------------------------------------------------------------
if __name__=='__main__':
Modbus()
# [End of file]