Llevaba tiempo oyendo acerca de la simplicidad de las WiiMoteLib, pero dado que no habia pasado la Wii por mis manos no habia podido tocarlas, por fin tengo el WiiMote en casa, y como es obvio habia que empezar a trastear. Este es un codigo simple de como conectar y hacer unas lecturas del acelerometro, ideal para adentrarse en el manejo de este dispositivo.
Primero conectamos con cualquier programa gestor de dispositivos bluetooth, al WiiMote presionado los botones 1 y 2 a la vez, y lo conectamos como raton, interfaz humana, HID, ... o como tu gestor lo denomine.
Ahora toca agregar como referencia a nuestro proyecto la libreria WiimoteLib.dll y empezamos a picar codigo, se declaran variables globales en la clase que estamos programando:
private Wiimote mWiimote;
WiimoteCollection mWC;
private delegate void UpdateWiimoteStateDelegate(WiimoteChangedEventArgs args);
Una vez declarados los objetos con los que trabajaremos declaramos las funciones encargadas de la gestion:
private void ManejaWiiMote()
{
int index = 1;
mWC = new WiimoteCollection();
try
{
//Buscamos todos los WiiMotes existentes
mWC.FindAllWiimotes();
}
catch (Exception ex)
{
//Aplicamos nuestro protocolo de errores (por ejemplo log4net)
}
//Se tratan todos los WiiMote
foreach (Wiimote wm in mWC)
{
// Conectamos con el WiiMote
wm.WiimoteChanged += wm_WiimoteChanged;
wm.Connect();
if (wm.WiimoteState.ExtensionType != ExtensionType.BalanceBoard)
wm.SetReportType(InputReport.IRExtensionAccel, IRSensitivity.Maximum, true);
//Asignamos el numero de led a encender en WiiMote
wm.SetLEDs(index++);
}
}
void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs e)
{
UpdateState(e);
}
public void UpdateState(WiimoteChangedEventArgs args)
{
WiimoteState ws = args.WiimoteState;
//Con el mando como si jugaras al MarioKart
//Y = -0,9 Izquierda -0,0 | 0 | 0,1 Derecha 0,9
//Z = -0,9 Decelera -0,0 | 0 | 0,1 Acelera 0,9
if (ws.AccelState.Values.Y > 0.5)
{
//Has girado el mando a la derecha, puedes llamar las funciones pertinentes a esta accion.
}
if (ws.AccelState.Values.Y < -0.5)
{
//Has girado el mando a la izquierda, puedes llamar las funciones pertinentes a esta accion.
}
if (ws.AccelState.Values.Z > 0.5)
{
//Has girado el mando hacia delante, puedes llamar las funciones pertinentes a esta accion.
}
if (ws.AccelState.Values.Z < -0.5)
{
//Has girado el mando hacia atras, puedes llamar las funciones pertinentes a esta accion.
}
}
Desde aqui podeis seguir trabajando con el resto de la informacion que proporciona estas librerias.
Despues de mi último libro escrito, vuelvo a la carga con un nuevo exito que todo iniciado en la administración de sistemas deberia tener (que no es por que sea mio, ;) ). Este libro está dirigido tanto a usuarios con experiencia de trabajo con entornos de servidores, como a los que desean iniciarse en el campo de la administración de sistemas gestionando diversos tipos de servicios.
Los capítulos han sido estructurados para facilitar el estudio y en base a los pasos necesarios que se acostumbran a dar en el montaje de todos los servicios a una empresa desde su inicio. Espero que os guste, por cierto, prometo una cerveza a todo aquel que me demuestre su compra !! que está baratito !!

Introducción
Cómo usar este libro
1.Introducción a Windows Server 2008
1.1. ¿Qué es un servidor?
1.2. Versiones de Windows 2008
1.3. Requisitos del sistema
1.4. Novedades Generales
2.Active Directory
2.1. Compactando tu empresa
2.2. El DCPromo y tú
2.3. Políticas de seguridad
2.4. Configuracion de usuarios
2.5. Cambiar el ámbito de un grupo
2.6. Configurando DNS
3.Arquitectura de IIS7
3.1. Nueva administración
3.2. Creación de una aplicación Web .NET
3.3. Configuración IIS
3.4. Configuración ASP.NET
4.Comandos Windows Server 2008: PowerShell
4.1. ¿Por qué la PowerShell?
4.2. Introducción a PowerShell
4.2.1. Conceptos
4.3. Comandos
4.3.1. Alias
4.4. Funciones
4.5. Tuberías (Pipelines)
4.6. Scripts (secuencias de comandos)
4.6.1. Comparadores
4.7. Políticas de ejecución
4.7.1. Ejemplos de secuencias de comandos
4.8. Otros lenguajes y PowerShell
4.9. Novedades PowerShell 2.0
4.9.1. Nuevos Operadores
4.9.2. Nuevas variables
4.9.3. Nuevos Cmdlets
5.Instalación de Windows Server 2008
5.1. Características de la instalación de Windows Server 2008
5.2. Instalación
5.3. Primeros Pasos
5.4. Configuración básica
5.4.1. Configuración del Firewall
5.4.2. Actualización automática
5.4.3. Otros comandos útiles
5.4.4. Gestión remota de Server Core
5.5. Configuración de un dominio
5.5.1. Configuración de los clientes
5.5.2. Configuración del servidor
5.6. Instalación de aplicaciones.
5.6.1. OCList
5.6.2. OCSetup
5.7. Nuevo hardware
6.Seguridad de los servidores Windows Server 2008
6.1. La importancia de la seguridad
6.2. Asistente de configuración de la seguridad
6.2.1. Configuración de servicio basado en funciones
6.2.2. Seguridad de red
6.2.3. Configuración del Registro
6.2.4. Directiva de auditoria
6.2.5. Guardar directiva de seguridad
6.3. Network Policy Server
6.3.1. Instalación
6.3.2. Configuración NPS
6.3.3. Network Acces Protection
6.3.4. Interoperabilidad
7.Pasarela de Terminal Server (Terminal Server Gateway)
7.1.¿Qué es Terminal Server Gateway?
7.2. ¿Por qué un acceso externo?
7.3. Instalación
7.4. Configuración
7.4.1. Conexiones
7.4.2. HTTPS con TS Gateway
7.4.3. Granja de servidores
7.4.4. Almacén de CAP
7.4.5. Monitorización y registro
7.4.6 Importar y exportar configuración
7.4.7. Conectar
7.5. Licencias
7.5.1. Licencia Windows Server
7.5.2. Licencia de Acceso de Cliente de Windows Server
7.5.3. CAL de Terminal Services por Equipo o Usuario
7.5.4. Modalidades de Licencias de Acceso de Cliente de Terminal Services
8.Clúster de servidores tolerante a fallos (Failover clustering)
8.1. Cuando caen los servidores…
8.2. Requisitos
8.3. Instalación
8.4. Administración
8.4.1. Validar configuración
8.4.2. Agregar Nodos nuevos
8.4.3. Agregar Servicios
8.5. Modelos de Despliegue (Quorum)
8.5.1. ¿Qué es el quórum?
8.5.2. Configuración del quórum
8.6. Copias de seguridad
8.7. Registros e informes
9.Virtualización
9.1. Introducción
9.2. Emulación, Virtualización y Paravirtualización
9.2.1. Emulación
9.2.2. Virtualización
9.2.3. Paravirtualización
9.3. Hyper-V
9.3.1. El hypervisor
9.3.2. Discos VHD
9.4. Instalación de Hyper-V
9.5. Creación de una máquina virtual
9.6. Configuración de una máquina virtual
9.7. Virtual Server
9.7.1. Virtual Machine Additions
9.7.2. Virtual Machine Additions para Linux
9.7.3. VMRC Plus
9.8. SoftGrid
9.9. La competencia
9.9.1. Wine
9.9.2. PearPC
9.9.3. Bochs
9.9.4. Qemu
9.9.5. KVM
9.9.6. VirtualBox
9.9.7. VMWare
9.9.8. Xen
9.10. Microsoft Hyper-V Server 2008
10. Monitorización
10.1.¿Por qué monitorizar?
10.2. Monitor de confiabilidad y rendimiento
10.2.1. Supervisión de actividades
10.2.2. Monitor de confiabilidad
10.2.3. Monitor de rendimiento
10.2.4. Recopilación de datos
10.2.5. Informes de diagnóstico fáciles de usar
10.3. Sysinternals Suite
10.3.1. Monitor de procesos
10.3.2. BgInfo
10.4. Monitor de red
10.4.1. Estadísticas con AWStats
11. Copias de seguridad
11.1. Dispositivos
11.1.1. Cinta magnética
11.1.2. RAID
11.1.3. NAS
11.1.4. SAN
11.2. Política de copias de seguridad
11.3. Copias de seguridad de Windows
11.3.1. Instalación y configuración
11.3.2. Copia de seguridad programada
11.3.3. Copia de seguridad inmediata
11.3.4. Recuperación
11.3.5. Administración en línea de comandos
12. Interoperabilidad con Unix
12.1. Interoperabilidad
12.1.1. SUA
12.2. Instalación
12.2.1. Subsistema de aplicaciones UNIX
12.2.2. Utilidades y SDK para aplicaciones basadas en Unix
12.3. Primeros comandos
12.4. SUA Community
Índice alfabético
Mas informacion en:
http://www.anayamultimedia.es/cgi-bin/monta_ficha.pl?obrcod=2066711&codigo_comercial=2335514&id_sello_editorial_web=23