OpenCores
URL https://opencores.org/ocsvn/usb_dongle_fpga/usb_dongle_fpga/trunk

Subversion Repositories usb_dongle_fpga

[/] [usb_dongle_fpga/] [tags/] [version_1_4/] [sw/] [Uspp/] [Readme_es] - Blame information for rev 53

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 nuubik
                            USPP Library
2
 
3
                 Universal Serial Port Python Library
4
        (Librería en Python para el acceso universal al puerto serie)
5
 
6
              Copyright 2006 Isaac Barona 
7
 
8
 
9
Contenidos
10
----------
11
 1. Introducción
12
 2. Motivación
13
 3. Dónde encontrar la librería
14
 4. Características
15
 5. Pre-requisitos
16
 6. Utilización y documentación
17
 7. Dónde funciona
18
 8. Problemas pendientes
19
 9. Tareas pendientes
20
10. Portado a otras plataformas
21
11. Licencia
22
12. Autor
23
13. Versión
24
 
25
 
26
1. Introducción
27
---------------
28
 
29
La librería USPP es un módulo desarrollado en Python para el acceso
30
multiplataforma al puerto serie. En el momento, sólo funciona en Linux
31
Windows y MacOS, pero como está escrita completamente en Python
32
(no es únicamente un recubrimiento en Python de una librería desarrollada
33
en C/C++) espero que pueda ser ampliada para que soporte otras plataformas.
34
 
35
 
36
2. Motivación
37
-------------
38
 
39
A mí me gusta mucho hacer pequeños cacharros electrónicos con
40
microcontroladores, especialmente aquellos que pueden ser conectados a
41
un ordenador para enviar y recibir datos.
42
Hace un par de meses descubrí Python y realmente me encantó.
43
Empezé a jugar con él y ví que podía utilizarlo para hacer prototipos
44
de protocolos de comunicación entre el ordenador y los microcontroladores
45
de manera mucho más fácil y rápida que utilizando C (que era el lenguaje
46
que solía utilizar). Al mismo tiempo, estaba interesado en poder utilizar
47
los desarrollos bajo diferentes arquitecturas.
48
Empezé a buscar en la red módulos de Python que accedieran al puerto serie
49
y encontré los siguientes:
50
 
51
        * win32comport_demo que viene junto a la extensión win32.
52
        * Módulo win32comm de wheineman@uconect.net.
53
        * Sio Module de Roger Rurnham (rburnham@cri-inc.com)
54
        * pyxal (Python X10 Abstraction Layer) de Les Smithson
55
          (lsmithson@open-networks.co.uk)
56
 
57
pero no eran multiplataforma, eran únicamente un recubrimiento de una librería
58
propietaria o eran simples ejemplos de acceso al puerto serie bajo una
59
determinada plataforma.
60
Por estas razones, y también por supuesto, por aprender más Python, decidí
61
empezar este proyecto. Por supuesto, he utilizado los módulos indicados
62
anteriormente como referencia para realizar mi librería y por tanto, me
63
creo en la obligación de felicitar a sus autores por su excelente trabajo y
64
por haberlo compartido con los demás.
65
 
66
Espero que disfrutes utilizándo el módulo uspp tanto como yo lo
67
he hecho haciéndolo.
68
 
69
 
70
3. Dónde encontrar la librería
71
------------------------------
72
 
73
Puedes encontrarla en:
74
 * http://ibarona.googlepages.com/uspp
75
 * http://www.telefonica.net/web/babur
76
 
77
como un fichero tar.gz o como un fichero .zip.
78
 
79
 
80
4. Características
81
------------------
82
 
83
Este módulo tiene las siguientes características destacadas:
84
 
85
        - acceso de alto nivel al puerto serie bajo diversas plataformas.
86
        - autodetecta la plataforma en la que se está ejecutando y
87
          carga las clases adecuadas para esa plataforma.
88
        - Orientado a objetos.
89
        - Las operaciones sobre el puerto serie tienen la misma semántica
90
          que las operaciones sobre objetos de tipo fichero.
91
        - permite utilizar el puerto serie con diferentes velocidades y
92
          características.
93
        - permite la utilización del puerto bajo dos modos de funcionamiento:
94
          RS-232 y RS-485 (de momento, sólo RS-232). En modo 485 la
95
          comunicación es half-duplex y se utiliza la línea RTS para controlar
96
          la dirección de la transferencia.
97
        - lecturas en modo bloqueante, no bloqueante o con timeout.
98
 
99
 
100
5. Pre-requisitos
101
----------------
102
 
103
Se necesita los siguiente para utilizar la librería:
104
 
105
        - Python 2.1 o superior
106
        - En windows los módulos win32
107
 
108
 
109
6. Utilización y documentación
110
------------------------------
111
 
112
Únicamente tienes que importar en tu programa el módulo uspp y automáticamente
113
él se encarga de cargar las clases adecuadas para la plataforma en la que
114
se está ejecutando el programa.
115
 
116
Lo primero de todo, tendrás que crear un objeto de tipo SerialPort con las
117
características que desees. Si no se genera ninguna excepción del tipo
118
SerialPortException, puedes utilizar los métodos de lectura y escritura
119
del objeto para leer y escribir en el puerto serie.
120
 
121
Ejemplo:
122
 
123
>>> from uspp import *
124
>>> tty=SerialPort("COM2", 1000, 9600)
125
>>> # Abre el puerto serie COM2 a 9600 bps y con un timeout de 1 segundo.
126
>>> tty.write("a")  # Envía el carácter 'a' al puerto serie.
127
>>> # Ahora suponemos que recibimos el string 'abc'
128
>>> tty.inWaiting()
129
3
130
>>> tty.read()
131
'a'
132
>>> tty.inWaiting()
133
2
134
>>> tty.read(2)
135
'bc'
136
 
137
 
138
La documentación de las diferentes clases y métodos que componen el módulo
139
puede encontrarse en el string de documentación del módulo uspp.
140
 
141
 
142
7. Dónde funciona
143
-----------------
144
 
145
La librería ha sido probada en una máquina con Windows 95, Windows XP y
146
Windows 2000 con Python 2.1+ y en un Linux (con el kernel 2.0.34) con Python
147
2.1+.
148
 
149
 
150
8. Problemas pendientes
151
-----------------------
152
 
153
 
154
 
155
 
156
9. Tareas pendientes
157
--------------------
158
 
159
Esta es la lista de tareas pendientes:
160
 
161
        - implementar el modo RS-485.
162
        - portar la librería a otras plataformas de forma que sea
163
          realmente multiplataforma.
164
 
165
 
166
10. Portado a otras plataformas
167
-------------------------------
168
 
169
Si quieres portar la librería a otras plataformas sólo tienes que seguir
170
los siguientes pasos:
171
 
172
* Crear un nuevo fichero en python llamado SerialPort_XXX.py en el que
173
implementes las mismas clases y métodos públicos que aparecen en los
174
módulos SerialPort_win y SerialPort_linux.
175
* Añadir la nueva plataforma en el fichero uspp.py.
176
 
177
 
178
11. Licencia
179
------------
180
 
181
Este código se libera bajo la licencia "LGPL" que puedes encontrar en
182
http://www.gnu.org/copyleft/lesser.html o en el fichero lesser.txt que
183
acompaña a la librería.
184
Si utilizas este software estaría muy agradecido de saberlo.
185
 
186
 
187
12. Autor
188
---------
189
 
190
Esta librería ha sido creada por Isaac Barona Martínez .
191
 
192
 
193
13. Versión
194
----------
195
 
196
0.1 - 01/09/2001
197
0.2 - 13/05/2003
198
1.0 - 24/02/2006
199
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.