Pywii

De WikiRobotics
Revisión del 02:18 27 ago 2007 de Skasi (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Introducción

Pywii es la librería de comunicación con el mando de la Wii, el Wiimote. Con esta librería es sencillo el manejo del mando a través de scripts python que pueden controlar sistemas basados en Skypic mediante libStargate. Con los ejemplos de uso es sencillo ver como manejar la clase y modificarlos para los usos propios de cada uno.

La comunicación se hace a través de bluetooth por lo que deberías tener un dispositivo bluetooth.

La librería sólo funciona bajo Linux por problemas con la pila de protocolos bluetooth de Windows, pero todo se andará ;).

Características

  • Licencia: GPL
  • Autor:

Notas técnicas

La librería se basa en un pequeño servidor corriendo en otro hilo de ejecución que va recibiendo los eventos del mando por la conexión bluetooth y dejando los eventos 'procesados' en la cola de usuario. Se puede establecer otro servidor, en otro hilo, para que procese a más alto nivel los eventos del primer servidor y deje el resultado en la cola de usuario, pero actualmente el servidor de movimientos (cómo denomino a este último servidor) está en fase de desarrollo.

Utilización de pywii

La utilización es muy sencilla. Basta con instanciar una clase Wiimote, llamar al método 'start' (pasándole la dirección bluetooth a utilizar) y después ir recibiendo los eventos del mando a través de llamadas a 'getEvents'. Todo esto dentro de un bucle sin fin para estar continuamete recibiendo eventos.

Utilización de un cerebro Pyro/Pyrobotics con pywii

Dentro del entorno Pyro/Pyrobotics también se puede utilizar esta librería a modo de controlador básico. Dentro del paquete pywiiPyro.tgz está tanto la librería como el 'brain' que se debe utilizar para Pyro. Con este paquete podéis controlar cualquier robot de los controlados habitualmente con Pyro sin escribir ni una línea de código!

Icono aviso.png‎ Atención: Al cargar el 'brain' en Pyro/Pyrobot se produce un bloqueo debido a que está esperando conectar con el mando. Se deben pulsar los botones 1 y 2 del mando para que la librería lo capte y se desbloquee.

Wiiview

Es una aplicación de ventana utilizando pygame para ver como se leen los eventos. Básicamente es un ejemplo de uso de la librería para poder modificar y jugar con ella. PyGame se puede instalar mediante apt-get.

Uso: python wiiview.py <dirección del mando>

Para conocer la dirección del mando ejecuta: hcitool scan

Y pulsa los botones 1 y 2 (modo descubrimiento), así sabrás la dirección de tu mando y podrás pasárselo a wiiview!

Descargas

Versión 1.0

Fichero Descripción
Pywii-1.0.tgz] Librería pywii.
PywiiPyro-1.0.tgz] Paquete con la librería pywii y el 'brain' Pyro/Pyrobotics.

Acceso al repositorio

svn co http://svn.iearobotics.com/pywii/