Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Python y puerto serie

Estas en el tema de Python y puerto serie en el foro de Python en Foros del Web. Hola. Hace poco que he empezado con este lenguaje para unos temas entre arduino y raspberry y algun que otro proyecto web :D Tengo el ...
  #1 (permalink)  
Antiguo 21/05/2015, 06:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 115
Antigüedad: 16 años, 2 meses
Puntos: 4
Python y puerto serie

Hola. Hace poco que he empezado con este lenguaje para unos temas entre arduino y raspberry y algun que otro proyecto web :D

Tengo el siguiente problema y es que necesito obtener el resultado devuelto por puerto serie del arduino, si utilizo este codigo y cuando me pregunta

Código:
#!/usr/bin/python
import serial
import time
 
arduino=serial.Serial('/dev/ttyACM0',baudrate=9600, timeout = 3.0)
arduino.open()


var = raw_input("Introducir un Comando: ")
arduino.write(var)

sArduino = arduino.readline()



print "Valor Arduino: " + sArduino
arduino.close()
Pero si en lugar de tener que escribir manualmente el comando en
Código:
var = raw_input("Introducir un Comando: ")
lo sustituyo por lo que le tengo que enviar:
Código:
var = "r01"
No funciona, no me devuelve nada

¿Hay algo que estoy haciendo mal?

Gracias

P.D: Todo esto lo estoy haciuendo desde linux (Raspbian)
  #2 (permalink)  
Antiguo 21/05/2015, 07:15
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Python y puerto serie

Ciertamente no parece haber ninguna diferencia, en principio. ¿podrías mostrar el código completo en ambos casos? Quizás haya alguna diferencia sutil entre ellos
  #3 (permalink)  
Antiguo 21/05/2015, 08:13
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Python y puerto serie

Posiblemente tu mensaje se queda en el buffer y nunca se envía.

Intenta con:
Código Python:
Ver original
  1. var = "r01"
  2. arduino.write(var)
  3. arduino.flush()
  #4 (permalink)  
Antiguo 22/05/2015, 10:15
 
Fecha de Ingreso: febrero-2008
Mensajes: 115
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: Python y puerto serie

Ese es el código completo.

Razpeitia, he probado con lo que me has indicado pero sigue sin recibir nada.
  #5 (permalink)  
Antiguo 22/05/2015, 11:08
 
Fecha de Ingreso: febrero-2008
Mensajes: 115
Antigüedad: 16 años, 2 meses
Puntos: 4
Respuesta: Python y puerto serie

Finalmente he encontrado la solcuión:

He añadido 1 segundo de espera

Código:
time.sleep(1)
arduino.write(var)

Etiquetas: puerto, serie
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:03.