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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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:

1
ser.baudrate = 19200

Like this post? Share on: TwitterFacebookEmail


Pablo Iranzo Gómez Avatar Pablo Iranzo Gómez opensource enthusiast and Lego fan doing some python simple programs like @redken_bot in telegram, etc
Comments

comments powered by Disqus

Keep Reading


Published

Category

tech

Tags

Stay in Touch