Cita:
Iniciado por razpeitia Probablemente no le estas dando suficiente tiempo para que haga la lectura, ademas que el buffer de lectura que le das es muy grande, para que se llene en una sola lectura. Prueba con lo siguiente.
Código Python:
Ver originalimport serial
port = "/dev/ttyS0"
ser = serial.Serial(port, 19200, timeout=1, bytesize=8, stopbits=1) #Time out 1 segundo
ser.parity=serial.PARITY_NONE
try:
data = ser.read(1)
except serial.SerialTimeoutException:
data = ""
if len(data) > 0:
print 'Datos Recibidos:', data
else:
print 'Datos no recibidos'
ser.close()
Ademas te recomiendo usar popen en php para que puedas leer la salida del script de python.
[URL="http://stackoverflow.com/a/167200/371342"]Fuente: Stackoverflow[/URL]
Muchas gracias nuevamente por tu tiempo, te cuento que justo antes de que me dieras este codigo habia probado lo mismo, pero de la siguiente manera:
Código Python:
Ver originalimport serial
import time
port = "/dev/ttyS0"
ser = serial.Serial(port, 19200, timeout=0, bytesize=8, stopbits=1)
ser.parity=serial.PARITY_NONE
time.sleep(1)
data = ser.readline(9999)
if len(data) > 0:
print 'Datos Recibidos:', data
else:
print 'Datos no recibidos'
ser.close()
Dandole un time.sleep de 1 segundo, el problema es que ademas del numero me agrega unos caracteres raros, te muestro:
Y con el codigo que tu me indicas, me lo muestra de esta manera:
Con el time.sleep me he acercado mas a lo que busco, pero sin embargo no me da el valor solo, sino con simbolos extraños.
Alguna idea de lo que pueda ser?
Saludos y muchas gracias.