Diferencia entre revisiones de «LibStargate»
(→Versión 1.2) |
|||
(No se muestran 60 ediciones intermedias de 3 usuarios) | |||
Línea 1: | Línea 1: | ||
+ | [[Image:stargate_logo1.png|right|Logo del PICP]] | ||
+ | |||
== Introducción == | == Introducción == | ||
− | [[LibStargate]] es la librería de comunicación con los servidores | + | [[LibStargate]] es la librería de comunicación con los servidores del proyecto [[Stargate]] que se encuentran en un hardware externo y se comunican con el PC mediante el puerto serie, a una velocidad de 9600 bps. |
+ | |||
+ | == Características == | ||
+ | |||
+ | * '''Licencia''': GPL | ||
+ | * Lenguaje: Python | ||
+ | * '''Multiplataforma''': Linux y Windows | ||
− | * | + | == Autores == |
− | * | + | * [[Juan_Gonzalez:Main |Juan González]], (c) 2007 : Creación de la librería |
− | + | * [http://rafael.trevino.menendez.googlepages.com/ Rafael Treviño], (c) 2007 : Mejora y ampliación de la librería. | |
− | |||
− | + | == Agradecimientos == | |
+ | * A [http://www.iearobotics.com/personal/andres/ Andrés Prieto-Moreno] y [http://www.iearobotics.com/personal/ricardo Ricardo Gómez] por las pruebas en plataformas Windows | ||
− | == | + | == Ejemplos de Utilización == |
+ | |||
+ | Se muestran dos ejemplos utilizando la [[Skypic|tarjeta Skypic]]. Son muy sencillos y no realizan ninguna gestión de errores. Se utiliza el dispositivo serie '''/dev/ttyUSB0''' de una máquina linux. Para máquinas Windows habría que cambiarlo por el puerto '''COM''' corresponiente | ||
+ | |||
+ | === Accediendo al led de la Skypic === | ||
+ | Ejemplo de cómo acceder al '''puerto B''' de la [[Skypic|tarjeta Skypic]] para controlar el led que está conectado en el bit 1. En la tarjeta debe estar grabado el [http://www.iearobotics.com/proyectos/stargate/servidores/sg-generic/sg-generic.html servidor genérico]. | ||
+ | |||
+ | <span style="color: #804000;">import</span> time | ||
+ | <span style="color: #804000;">import</span> libStargate.Generic | ||
+ | <span style="color: #804000;">from</span> libStargate.pic16f876 <span style="color: #804000;">import</span> * | ||
+ | |||
+ | <span style="color: #800000;">#-- Abrir la conexion</span> | ||
+ | g=libStargate.Generic.Open_session("<span style="color: #006000;">/dev/ttyUSB0</span>") | ||
+ | |||
+ | <span style="color: #800000;">#-- Configurar bit 1 del puerto B como salida</span> | ||
+ | g[TRISB]=0xFD | ||
+ | |||
+ | <span style="color: #800000;">#-- Encender el led</span> | ||
+ | g[PORTB]=0x02 | ||
+ | |||
+ | <span style="color: #800000;">#-- Esperar 2 segundos</span> | ||
+ | time.sleep(2) | ||
+ | |||
+ | <span style="color: #800000;">#-- Apagar el led</span> | ||
+ | g[PORTB]=0x00 | ||
+ | |||
+ | '''Ejemplos del repositorio:''' | ||
+ | * [http://svn.iearobotics.com/libStargate/libstargate-1.2/test-generic/test-generic.py test-generic.py] Hacer parpadear el led de la Skypic. Se gestionan los errores | ||
+ | * [http://svn.iearobotics.com/libStargate/libstargate-1.2/test-generic/boton.py boton.py]. Lectura del pulsador de pruebas de la Skypic | ||
− | + | === Posicionamiento de un servo con la Skypic === | |
− | + | Ejemplo de cómo posicionar un servo del tipo '''Futaba 3003''' o compatible conectado a la [[Skypic]]. En la tarjeta debe estar grabado el [http://www.iearobotics.com/proyectos/stargate/servidores/sg-servos8/sg-servos8.html servidor servos8] | |
− | |||
− | |||
− | == | + | <span style="color: #804000;">import</span> time |
+ | <span style="color: #804000;">import</span> libStargate.Servos8 | ||
+ | |||
+ | <span style="color: #800000;">#-- Abrir la conexion y devolver el stargate generico</span> | ||
+ | s=libStargate.Servos8.Open_session("<span style="color: #006000;">/dev/ttyUSB0</span>") | ||
+ | |||
+ | <span style="color: #800000;">#-- Habilitar servo 1</span> | ||
+ | s.enable(0x01); | ||
+ | |||
+ | <span style="color: #800000;">#-- Mover servo 1 a un extreno</span> | ||
+ | s[1]=-90 | ||
+ | |||
+ | <span style="color: #800000;">#-- Esperar</span> | ||
+ | time.sleep(2) | ||
+ | |||
+ | <span style="color: #800000;">#-- Mover servo 1 al otro extremo</span> | ||
+ | s[1]=90 | ||
− | + | '''Ejemplos del repositorio''': | |
+ | * [http://svn.iearobotics.com/libStargate/libstargate-1.2/test-servos8/test-servos8.py test-servos8.py]. Posicionamiento de un servo | ||
== Descargas == | == Descargas == | ||
− | + | === Versión 1.2 === | |
+ | {|{{tablabonita}} | ||
+ | !Fichero!!Descripción | ||
+ | |-------------------- | ||
+ | | [http://www.iearobotics.com/wiki/images/f/f7/Libstargate-1.2.zip Libstargate-1.2.zip] | ||
+ | || Fuentes | ||
+ | |-------------------- | ||
+ | | [http://www.iearobotics.com/downloads/packages/python-libstargate_1.2-1_i386-ubuntu-10.04.deb python-libstargate_1.2-1_i386-ubuntu-10.04.deb] | ||
+ | || Paquete para '''Ubuntu 10.04''' | ||
+ | |------------------- | ||
+ | | [http://www.iearobotics.com/downloads/packages/python-libstargate_1.2-1_i386-ubuntu-9-04.deb python-libstargate_1.2-1_i386-ubuntu-9-04.deb] | ||
+ | || Paquete para '''Ubuntu 9.04 (Jaunty Jackalope)''' | ||
+ | |-------------------- | ||
+ | | [http://www.iearobotics.com/wiki/images/d/df/Python-libstargate_1.2-1_i386.deb Python-libstargate_1.2-1_i386.deb] | ||
+ | || Paquete para '''Debian/Etch''' y '''Ubuntu 7.10''' | ||
+ | |-------------------- | ||
+ | | [http://www.iearobotics.com/downloads/libstargate-1.2.win32.exe libstargate-1.2.win32.exe] | ||
+ | || '''Windows XP'''. Autoinstalable. | ||
+ | |} | ||
+ | |||
+ | == Acceso al repositorio == | ||
+ | * SVN del proyecto: [http://svn.iearobotics.com/libStargate/ http://svn.iearobotics.com/libStargate/] | ||
+ | * La última versión se puede obtener así: | ||
+ | svn co http://svn.iearobotics.com/libStargate/ | ||
+ | * La '''versión 1.2''' se puede bajar así: | ||
+ | svn co http://svn.iearobotics.com/libStargate/libstargate-1.2 | ||
+ | |||
+ | == Historia == | ||
+ | |||
+ | === Versión 1.2 === | ||
+ | La versión 1.2 es una reestructuración de la 1.1. Los cambios son: | ||
+ | * Modularización: un módulo por cada clase para cada servidor | ||
+ | * Programas de prueba para cada módulo | ||
+ | * Pruebas en Linux/Windows | ||
+ | * Paquetes para Linux/Windows | ||
+ | |||
+ | === Versión 1.1 === | ||
+ | La siguiente versión fue una migración al '''lenguaje python''' y el impulsor fue '''Rafael Treviño'''. Esta versión se utilizó de forma experimental para comprobar su viabilidad. No se llegó a hacer una release oficial, sino que evolucionó directamente a la versión 1.2. | ||
+ | |||
+ | Los '''cambios''' con respecto a la versión 1.0 son: | ||
+ | |||
+ | * Soporte para el servidor de movimiento de servos [http://www.iearobotics.com/proyectos/stargate/servidores/sg-servos8/sg-servos8.html SERVOS8] | ||
+ | * Soporte para el servidor de grabación de pics [[Stargate:PICP|PICP]] | ||
+ | * Diseño orientado a objetos | ||
+ | * Lenguaje python | ||
+ | |||
+ | === Versión 1.0 === | ||
+ | La primera [http://www.iearobotics.com/proyectos/stargate/clientes/libstargate/libstargate.html versión (1.0)] estaba implementada en '''lenguaje C'''. La última versión es de Julio de 2006. | ||
+ | |||
+ | |||
+ | == Noticias == | ||
+ | * '''13/Jun/2010''': Añadido paquete para Ubuntu 9.10 | ||
+ | * '''29/Jul/2009''': Añadido paquete para Ubuntu 9.04 | ||
+ | * '''13/Enero/2008''': Liberada version 1.2 | ||
+ | |||
+ | |||
+ | ---- | ||
+ | [[Categoría:Stargate]] | ||
[[Categoría:PIC]] | [[Categoría:PIC]] | ||
[[Categoría:Software]] | [[Categoría:Software]] | ||
[[Categoría:Python]] | [[Categoría:Python]] | ||
+ | [[Categoría:SVN]] | ||
+ | [[Categoría:Skypic]] |
Revisión actual del 01:25 13 jun 2010
Contenido
Introducción
LibStargate es la librería de comunicación con los servidores del proyecto Stargate que se encuentran en un hardware externo y se comunican con el PC mediante el puerto serie, a una velocidad de 9600 bps.
Características
- Licencia: GPL
- Lenguaje: Python
- Multiplataforma: Linux y Windows
Autores
- Juan González, (c) 2007 : Creación de la librería
- Rafael Treviño, (c) 2007 : Mejora y ampliación de la librería.
Agradecimientos
- A Andrés Prieto-Moreno y Ricardo Gómez por las pruebas en plataformas Windows
Ejemplos de Utilización
Se muestran dos ejemplos utilizando la tarjeta Skypic. Son muy sencillos y no realizan ninguna gestión de errores. Se utiliza el dispositivo serie /dev/ttyUSB0 de una máquina linux. Para máquinas Windows habría que cambiarlo por el puerto COM corresponiente
Accediendo al led de la Skypic
Ejemplo de cómo acceder al puerto B de la tarjeta Skypic para controlar el led que está conectado en el bit 1. En la tarjeta debe estar grabado el servidor genérico.
import time import libStargate.Generic from libStargate.pic16f876 import * #-- Abrir la conexion g=libStargate.Generic.Open_session("/dev/ttyUSB0") #-- Configurar bit 1 del puerto B como salida g[TRISB]=0xFD #-- Encender el led g[PORTB]=0x02 #-- Esperar 2 segundos time.sleep(2) #-- Apagar el led g[PORTB]=0x00
Ejemplos del repositorio:
- test-generic.py Hacer parpadear el led de la Skypic. Se gestionan los errores
- boton.py. Lectura del pulsador de pruebas de la Skypic
Posicionamiento de un servo con la Skypic
Ejemplo de cómo posicionar un servo del tipo Futaba 3003 o compatible conectado a la Skypic. En la tarjeta debe estar grabado el servidor servos8
import time import libStargate.Servos8 #-- Abrir la conexion y devolver el stargate generico s=libStargate.Servos8.Open_session("/dev/ttyUSB0") #-- Habilitar servo 1 s.enable(0x01); #-- Mover servo 1 a un extreno s[1]=-90 #-- Esperar time.sleep(2) #-- Mover servo 1 al otro extremo s[1]=90
Ejemplos del repositorio:
- test-servos8.py. Posicionamiento de un servo
Descargas
Versión 1.2
Fichero | Descripción |
---|---|
Libstargate-1.2.zip | Fuentes |
python-libstargate_1.2-1_i386-ubuntu-10.04.deb | Paquete para Ubuntu 10.04 |
python-libstargate_1.2-1_i386-ubuntu-9-04.deb | Paquete para Ubuntu 9.04 (Jaunty Jackalope) |
Python-libstargate_1.2-1_i386.deb | Paquete para Debian/Etch y Ubuntu 7.10 |
libstargate-1.2.win32.exe | Windows XP. Autoinstalable. |
Acceso al repositorio
- SVN del proyecto: http://svn.iearobotics.com/libStargate/
- La última versión se puede obtener así:
svn co http://svn.iearobotics.com/libStargate/
- La versión 1.2 se puede bajar así:
svn co http://svn.iearobotics.com/libStargate/libstargate-1.2
Historia
Versión 1.2
La versión 1.2 es una reestructuración de la 1.1. Los cambios son:
- Modularización: un módulo por cada clase para cada servidor
- Programas de prueba para cada módulo
- Pruebas en Linux/Windows
- Paquetes para Linux/Windows
Versión 1.1
La siguiente versión fue una migración al lenguaje python y el impulsor fue Rafael Treviño. Esta versión se utilizó de forma experimental para comprobar su viabilidad. No se llegó a hacer una release oficial, sino que evolucionó directamente a la versión 1.2.
Los cambios con respecto a la versión 1.0 son:
- Soporte para el servidor de movimiento de servos SERVOS8
- Soporte para el servidor de grabación de pics PICP
- Diseño orientado a objetos
- Lenguaje python
Versión 1.0
La primera versión (1.0) estaba implementada en lenguaje C. La última versión es de Julio de 2006.
Noticias
- 13/Jun/2010: Añadido paquete para Ubuntu 9.10
- 29/Jul/2009: Añadido paquete para Ubuntu 9.04
- 13/Enero/2008: Liberada version 1.2