viernes, 28 de noviembre de 2008

Adaptador Bluetooth

Me ha dado por utilizar la rwth toolbox para programar el nxt, y como ya he comentado tiene dos modos de funcionamiento: con un cable usb conectado siempre al equipo donde corra matlab o mediante bluetooth. Como tener el cable usb quita mucha libertdad de movimiento, me he decidio a comprar un adaptador bluetooth.

La cosa parece bastante sencilla; vamos a la tienda, cogemos el más bonito, enchufamos y listo. Pero en la realidad esto es un poco distinto. Empecemos con un poquito de documentación.

Bluetooth es un especificación de comunicación en redes inalámbricas de área personal. Estas con redes muy pequeñas, y para un uso específico: pasar una canción entre móviles o conectar el gps en el coche. Al ser una especificación, los fabricantes lo implementan luego como quieren apareciendo sutiles diferencias entre las distintas implementaciones. Cuando los dispositivos se construyen para una máxima conectividad o son dispositivos de uso general: móviles, pdas, equipos con windows, gps ... no se aprecian problemas en el uso de las distintas implementaciones. Pero cuando el dispositivo a conectar es algo especial, en mi caso nxt sobre matlab, la cosa cambia, ya que el protocolo debe tener en cuenta más cosas. La conclusión es, que no todos los dispositivos bluetooth nos servirán para controlar remotamente el nxt.

Un buen punto de partida es la documentación oficial de lego al respecto. Allí podemos ver una matriz de compatibilidad con cabezas lego que no todos los pares dispositivos/adaptador son soportados. No están todos los modelos del mercado ni mucho menos.

Como punto de partida está bien, pero necesito algo más, experiencia real, así que habrá que investigar por los foros. Desde aquí recomiendo los foros de nxtasy, que tienen un montón de cosas interesantes, además de experiencias de otros usuarios de nxt.

Tras mucha búsqueda y mucho leer, en este hilo se resumen mucho el tema del adaptador. A modo de resumen diré que los modelos recomendados son aquellos adaptadores cuyos drivers bluetooth sean de Widdcom, o que usen la implementación de Microsoft Windows XP SP2.

Ahora viene cuando la matan, porque a parte de querer un adaptador compatible con el nxt, necesito uno compatible con la toolbox. Asi que, mirando su matriz de compatibilidad y algún comentario que deja Linus, uno de los programadores de la toolbox en los foros de nxtasy, lo que funciona con uno ... no tiene que poder funcionar con el otro.

Desesperado porque era practicamente imposible concicilar un dispositivo que apareciera en las dos listas, que usara controladores Widdcom y que se vendiera en tiendas ... al final me decidí por el conceptronic cbt200u2a, animado por comentarios en un hilo del foro.

Que funcionara con el nxt-g fue muy sencillo, enchufar y listo (bendito plug & play), independientemente de los controladores que instalara. Otra cosa fue la toolbox.

Con los controladores de Microsoft y Widdcom, me fue imposible hacerlo funcionar. Creo que es porque estos dos controladores crean dos puertos serie para la comunicación, uno de entrada y otro de salida, y la toolbox requiere uno bidireccional. En uno de estos intentos desesperados actualicé el firmware del bloque a la última versión, la 1.05. Fué rápido e indoloro. Seguramente haga una entrada para contar como fué.

Al final ya un poco asqueado probé a instalar los controladores toshiba que venían con el adaptador. Según los foros ... esto no iba a funcionar ni de coña, pero ver que sólo creaba un puerto COM ... la esperanza volvió. Hice una prueba rápida y fuí capaz de mover un motor a distancia.

Me gustaría probarlo sobre gnu/linux, pero ahora mismo no tengo ninguna distribución instalada. Me imagino que no haya ningún problema porque la pila bluetooth la proporciona el propio kernel y si alguien ha conseguido hacerlo funcionar en una distribución, funcionará en todas al compartir el núcleo. Pero es sólo una suposición.

Conclusión: lo de los bluetooth es una lotería, hay que recorrerse muchos foros y ver opiniones de usuarios con el mismo dispositivo que quieras adquirir, y recorrer muchas tiendas hasta encontrar en la que vendan tu modelo. Y luego para ver como funcionan exactamente con lo que dice la gente que no va a funcionar. Lo bueno, que son baratos, me costó once euros y un céntimo.

Como era muy tarde, no hice más pruebas, aunque espero este fin de semana probarlo bien, ya que tengo en mente volver a hacer un seguidor de líneas. Ya sé que tengo uno hecho, pero ahora le intentaré hacer desde cero y con matlab, y por bluetooh !!!

No hay comentarios: