Para el que, como yo, no conozca nada de Python, la página de wikipedia en español tiene muchísima información que permite al menos soltarte las manos y tontear un poco antes de ponerte con algo "serio". Información con más profundidad se puede encontrar en su manual de referencia.
Para conseguir mi objetivo he usado la librería pySerial. En este enlace se encuentra toda su documentación. Muy detallada y con ejemplos útiles.
En primer lugar y por probar he hecho un script que escanea la disponibilidad de los puertos del sistema. No tiene mucha historia, por lo que se entiende fácilmente.
import serial
disponibles = []
for i in range(10):
try:
s = serial.Serial(i)
disponibles.append((i, s.portstr))
s.close()
except:
pass
print "Puertos disponibles: "
for numpuerto,nombre in disponibles:
print "%d -> %s" % (numpuerto, nombre)Veamos el resultado:
En mi sistema se han encontrado cuatro puertos serie disponibles. Con el siguiente script se consigue enviar una cadena de texto por un puerto elegido y recibir una respuesta... si es que la hay.
import serial
import sys
#-- Se abre el puerto elegido y se establece el tiempo de espera máximo
try:
s = serial.Serial(1)
s.timeout=2;
except serial.SerialException:
print "Error al abrir el puerto."
sys.exit()
# Se envía el texto
texto = "Texto a enviar"
s.write(texto)
# Se recibe la respuesta del dispositivo # 10 son los bytes máximos que se esperan respuesta=s.read(10);
if len(respuesta)>0 :
print "Respuesta: " + respuesta
else:
print "Tiempo de espera agotado."Sí. Habría sido más interesante tener algún dispositivo que respondiera y así poder tratar su respuesta o configurar parámetros del puerto con más detalle, o que al menos hiciera eco. La próxima vez será :)


Tío, te quiero, vale (Voz del gordo de Lost), pero no me entero de una puta mierda.
ResponderEliminar:D
Ojalá pudieras acompañarme en estos trapicheos :P
ResponderEliminarSiempre me dio bastante coraje no entender más de estas cosas. Parecen entretenías, U know.
ResponderEliminarTuviste oportunidad de conectar el puerto serial a un dispositivo?
ResponderEliminarSaludos
Hola, funciona el script, sin embargo no se si me puedas apoyar con esta duda, no se si tengo problemas con mi equipo ya que no me detecta los puertos seriales. De hecho tengo un esp32 corriendo y cuando lo verifico en putty si me detecta hasta la respuesta, pero aquí con el primer script no me detecta ninguno serie y eso que tengo conectado adicional mi mouse y teclado. Saludos.
ResponderEliminarUso windows.
ResponderEliminar