martes, 23 de febrero de 2010

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