[LUG.ro] Comunicacion puerto Serie Telescopio 縃OW TO?
Nicolas D R
nicolasdr en live.com
Dom Nov 11 14:01:51 ART 2012
Hola. Yo estuve haciendo un curso de Electr髇ica y Linux donde conect醔amos una plaqueta con un micro PIC y puerto RS232 con la PC mediante un conversor USB/RS232. La programaci髇 de lectura/escritura se hizo con Python, de un modo simple: Python -> Import Serial, creamos un objeto de conexi髇 serial y utiliz醔amos Write y Read.
Te paso un pedazo del c骴igo:
>>>>>>>>>>>>>>>>>>>>>>>>>>>
#! /usr/bin/python
# -*- coding: iso-8859-15 -*-n
#----------------------------------------------------------------------------
# leds_serial.py
# Enciende o apaga los leds con par谩metros -c o -t
#
#
# Pr谩ctica Python:
# Implementaci贸n de pasaje de par谩metros. Uso de funciones. M贸dulo logging.
# Configuraci贸n de un log. Determinaci贸n del sistema operativo.
# Manejo del puerto serie para actuar sobre los leds.
#
# (C)2012 Ing. Marcelo Carlos Castello
#
#
# 23/10/12 LICENCIA GPL
#----------------------------------------------------------------------------
#-- Abre el puerto serie --
try:
s=serial.Serial('/dev/ttyUSB0',9600,timeout=.1)
s.flushInput()
s.flushOutput()
s.read(100) #artilugio para limpiar el puerto
#print 'abro serial'
except serial.SerialException:
#-- Error al abrir el puerto serie
print 'Error al abrir el puerto serie'
logger.info('No se puede abrir puerto serie')
sys.exit(1)
#----------
#-- MAIN --
#----------
delay=.3
com,tc=Analizar_argumentos()
if com=='':
print 'Error en argumentos'
s.close()
sys.exit(1)
s.flushInput()
str_out= com
s.write(str_out)
time.sleep(delay)
rta=s.read(50)
if rta=='':
logger.info('El actuador dio respuesta vacia')
print 'El actuador dio respuesta vacia'
else:
logger.info('El actuador respondio: %s',rta)
print 'El actuador respondio:',rta
if (tc!=''):
time.sleep(int(tc))
s.write(str_out)
time.sleep(.1)
rta=s.read(50)
print 'Actuaci贸n por tiempo. El actuador respondio:',rta
logger.info('Actuaci贸n por tiempo. El actuador respondio: %s',rta)
s.close()
>>>>>>>>>>>>>>>>>>>>>>>>>>>
Saludos.
Nicol醩 Di Ruscio.
nicolasdiruscio.com.ar
climalocal.com.ar
coronelbogado.com.ar
oesutnrosario.com.ar
pagojusto.com
Skype: nicolasdiruscio
Tel. Cel.: (0341) 156 187 057
> Date: Sun, 11 Nov 2012 13:34:27 -0300
> From: guilleip en yahoo.com.ar
> To: lugro en lugro.org.ar
> Subject: [LUG.ro] Comunicacion puerto Serie Telescopio 縃OW TO?
>
> Estimados, necesito comunicarme con un dispositivo (telescopio) por un
> puerto serie (un conversor USB/RS232 que se conecta al telescopio).
>
> La idea es que el telescopio tiene un PLC, le mando texto y 閘 me
> devuelve texto.
>
> 緾u醠 ser韆 la forma mas pr醕tica de hacerlo? (que no sea usando
> programas de astronom韆)
>
> Pens� en Telnet, pero da la impresi髇 de estar pensado para redes.
>
> Tambi閚 pens� en hacer directamente un "echo" al puerto, pero 緾髆o
> direcciono la respuesta a la stdout?
>
> La verdad, me siento como un burro 縨e ayudan a desburrarme? Linux debe
> tener una opci髇 nativa para 閟to.
>
> Ya veo que la soluci髇 final ser� con un programita en c, pero antes de
> llegar a eso me gustar韆 experimentar un poco con los comandos y por eso
> necesito de vuestra ayuda.
>
> Gracias.
> _______________________________________________
> Lugro mailing list
> Lugro en lugro.org.ar
> http://lugro.org.ar/mailman/listinfo/lugro
M醩 informaci髇 sobre la lista de distribuci髇 Lugro