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.
Fuente: Stackoverflow