[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