Prueba en Python - Puerto Paralelo

425 views
Skip to first unread message

Jesse

unread,
Aug 31, 2007, 1:01:35 PM8/31/07
to eSSuX - Grupo de Software Libre Unal Mzl

Bueno esta prueba del puerto paralelo se hizo en Windows.


No se si todos saben pero en Windows XP el puerto paralelo esta bloqueado por lo cual para poder trabajar con el debemos instalar el driver para poder acceder a este puerto.

La opción mas viable que encontré para realizar esta prueba fue UserPort. Por lo cual agrego el enlace http://olmo.pntic.mec.es/jmarti50/puerto_xp/userport.htm
si alguno desea probarlo. La instalación es muy sencilla lo único que se debe hacer es descomprimir la carpeta y copiar el archivo UserPort.sys en la carpeta C:\Windows\System32\Drivers, luego abrimos el programa UserPort.exe y presionamos el botón Start para correr el driver (Imagen Adjunta) y podemos cerrar la aplicación y empezar con la programación.

Nota: El driver queda en ejecución si deseamos detenerlo tendremos que correr de nuevo la aplicación UserPort.exe y presionar el botón Stop.

La prueba que realice la hice con Python (Un lenguaje de programación orientado a objetos, multiplataforma, a lo Java y .Net), adjunto el código con el que probé la librería pyparallel, el enlace es http://pyserial.sourceforge.net/pyparallel.html  para los que quieran realizar la prueba, lo único que tienen que hacer es descargar el python 2.5 en www.python.org y correr luego mi aplicación no tienen que montar el circuito para hacer la prueba, pueden usar la aplicación parmon la cual me muestra el estado del puerto paralelo http://www.geekhideout.com/parmon.shtml


La pequeña aplicación que monte en python escribe un dato en el bus de datos del puerto paralelo, y trata de leerlo sin éxito esta parte, francamente desconozco la función que me permite hacer esto de manera correcta y la documentación que hay es mínima, por los invito a mirar si encuentran la función que realiza esta operación y que nos la comenten o si encuentran una solución alternativa a esta bienvenida sea, también realice esta prueba en Debian si éxito alguno debido a que no tengo los permisos suficientes para acceder al puerto paralelo, caso que no fue así con lo librería pyserial la cual trabajo aparentemente muy bien en ambos sistemas los invito a que la descarguen y prueben los ejemplos http://pyserial.sourceforge.net/ , hay uno bastante interesante es básicamente el mismo hyperterminal de Windows o el mismo minicom de Unix/Linux, seria interesante hacer una prueba de esta aplicación con un router.


Bueno si en la libreria pyparallel no tiene la funcion para leer el puerto paralelo, creo q la debemos descartar ya que creo q no seria util para nuestro caso, y buscar otra solucion, como pensar en hacer la aplicacion en C/C++, no se que tanto se complique la cosa si deseamos que la aplicacion sea multiplataforma o empezar a pensar en trabajar directamente con el puerto serial ya que lo que he visto trabaja bien en los dos sistemas lo que nos reduce el trabajo y nos permitiria hacer una aplicacion portable a otros sistemas
--
Jesse Padilla Agudelo
Linux Registered User #417817
http://counter.li.org/
Asterisk User Number: 614
http://www.sinologic.net/astcounter/
Blog : http://malak9.blogspot.com/
eSSuX - Usuarios y Desarrolladores GNU/Linux UNAL Manizales
prueba-paralelo.py
imagenes.zip

Manuel Felipe

unread,
Aug 31, 2007, 2:57:51 PM8/31/07
to es...@googlegroups.com
Jesse y grupo..

les cuento, hace cerca de un año probe tanto pyparallel como pyserial,
los dos funcionaron con exito, pyparallel en linux y pyserial tanto el
linux como en windows,

el programa lo unico que hacia era capturar una señal enviada por el
puerto paralelo por un conversor analogo/digital, dibujar la señal y
luego la parte del serial lo unico que hacia era restrasmitirla por un
puerto serial hacia otro computador donde la misma señal debia ser
dibujada, cuando este en mi caso busco el proyecto y se los envio para
que le peguen una mirada.

eso si, les cuento que me desiluciono un poco, pues la captura de
datos y dibujada tenia un retraso bien signficativo, no se si se por
la libreria para graficar o por la captura de los datos.

en fin, espero enviarles pronto eso.

Manuel Felipe Lopez

El 31/08/07, Jesse <jpad...@gmail.com> escribió:

> #Prueba Puerto Paralelo - Usando Pyparallel'
> #Jesse Padilla Agudelo - eSSuX'
> # Aplicacion que lee o escribe un dato en el puerto paralelo
>
> import parallel #Importamos la libreria para manejo de puerto
> paralelo
> p = parallel.Parallel() #open LPT1
>
> op = 0
> rd = 0
> wd = 0
>
> print '*******************Menu***********************'
> print 'Leer Dato del Puerto Paralelo .............. 1'
> print 'Mandar Dato al Puerto Paralelo ............. 2'
> print '**********************************************'
>
> op = int(raw_input('Ingrese su Opcion: '))
>
> if op == 1:
> rd = p.getData()
> print rd
>
> else:
> wd = int(raw_input('Ingrese el dato a enviar al puerto: '))
> p.setData(wd) # Se escribe el dato el el puerto
>
>
>
>

Reply all
Reply to author
Forward
0 new messages