LibStargate
Contenido
[ocultar]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