Pyserial

Esta semana estuve jugando con python para interrogar mediante puerto serie dispositivos.

La verdad es que resultó mucho más sencillo de lo que pensaba, algo de complicación a la hora de interpretar las constantes de ASCII para el group separator (GS).

La interrogación es tan sencilla como hacer:

import sys
import serial

try:
    ser = serial.Serial(
        port="/dev/ttyS0",
        baudrate=9600,
        bytesize=serial.EIGHTBITS,
        timeout=1,
        parity=serial.PARITY_NONE,
        stopbits=serial.STOPBITS_ONE,
        xonxoff=1,
        rtscts=0,
    )
except:
    print("Fallo al abrir el dispositivo")
    sys.exit(-1)


ser.write("Hola")
respuesta = ser.readline()
string = "%s" % (chr(26))
ser.write(string)
ser.close()

Jugando un poco con los requisitos, podemos hablar el lenguaje del dispositivo que tengamos conectado o empezar con los ejemplos de terminal, etc que acompañan a pyserial (terminales, etc)

A partir de aquí, es cuestión de coger la referencia técnica del dispositivo a interrogar y ponernos a ello.

Nota: Si quieres cambiar la velocidad, lo puedes hacer de forma dinámica haciendo:

ser.baudrate = 19200

Disfruta! (y si lo haces, puedes Invitarme a un café )