Diferencia entre revisiones de «Robótica con Vitalinux»
(→Lego WeDo) |
(→Introducción) |
||
Línea 8: | Línea 8: | ||
Además dichos robots se pueden probar antes de su adquisición a través de los CIFE's, y como son los que más aceptación están teniendo en el entorno educativo, son varios los centros que nos han pedido una solución para poder trabajar con ellos desde Vitalinux | Además dichos robots se pueden probar antes de su adquisición a través de los CIFE's, y como son los que más aceptación están teniendo en el entorno educativo, son varios los centros que nos han pedido una solución para poder trabajar con ellos desde Vitalinux | ||
− | Increíblemente, ninguno de los dos tienen soporte/aplicación nativa para Linux. Los fabircantes no han liberado el software para Linux, pero hemos encontrado la solución para poder trabajar con ellos | + | Increíblemente, ninguno de los dos tienen soporte/aplicación nativa para Linux. Los fabircantes no han liberado el software para Linux, pero hemos encontrado la solución para poder trabajar con ellos usando la tecnología de App's para Google Chrome. Eso si, siempre a través de Scratch. Ésto quiere decir por ejemplo, que la aplicación de Lego WeDo específica (más sencilla) no funcionará en Linux hasta que Lego libere dicho software, pero por contra, podremos hacer cosas más complejas con el robot de Lego (al estar integrado en scratch) |
− | Iremos actualizando la información en ésta página a medida que tengamos nuevas noticias....vamos pues a ello | + | Iremos actualizando la información en ésta página a medida que tengamos nuevas noticias....vamos pues a ello!! |
== Preliminares - Vitalinux te ayuda... == | == Preliminares - Vitalinux te ayuda... == |
Revisión del 13:04 24 feb 2016
Sumario
Introducción
Se puede hacer robótica con Vitalinux (Linux)?
A día de hoy, hemos probado con dos de los robots que pudimos ver y probar en las I Jornadas de Robotica Educativa y Progmación:
- Lego WeDo
- mBot
Además dichos robots se pueden probar antes de su adquisición a través de los CIFE's, y como son los que más aceptación están teniendo en el entorno educativo, son varios los centros que nos han pedido una solución para poder trabajar con ellos desde Vitalinux
Increíblemente, ninguno de los dos tienen soporte/aplicación nativa para Linux. Los fabircantes no han liberado el software para Linux, pero hemos encontrado la solución para poder trabajar con ellos usando la tecnología de App's para Google Chrome. Eso si, siempre a través de Scratch. Ésto quiere decir por ejemplo, que la aplicación de Lego WeDo específica (más sencilla) no funcionará en Linux hasta que Lego libere dicho software, pero por contra, podremos hacer cosas más complejas con el robot de Lego (al estar integrado en scratch)
Iremos actualizando la información en ésta página a medida que tengamos nuevas noticias....vamos pues a ello!!
Preliminares - Vitalinux te ayuda...
Importante: Puedes saltarte éste paso si usas Vitalinux, migasfree lo hará por ti de forma transparente...
En ambos robots, la comunicación con el mismo se hace a través de un dispositivo de interfaz humana (también llamado HID). Por ejemplo en el caso de Lego WeDo con un cable usb y en el caso de mBot con un emisor inhalámbrico (también usb).
Podemos ver los usb conectados con:
lsusb # lsusb -t para mas detalle
En la siguiente captura podemos observar la salida de los comandos indicados antes y después de insertar el cable del robot lego.
Para poder leer y escribir en dicho dispositivo (mandar órdenes al robot o leer datos del mismo), Linux crea un archivo de tipo carácter en /dev, pero podemos observar que sólo tiene permisos root:
Para ello, simplemente tenemos que indicarle a udev que nos cree dicho dispositivo con los permisos necesarios:
Editar un archivo nuevo:
sudo nano /lib/udev/rules.d/99-hidraw.rules
Con las siguientes lineas
# Solucion generica: para todos los dispositivos de interfaz humana # KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev" # Lego Wedo ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0003", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev" # mBot ATTRS{idVendor}=="0416", ATTRS{idProduct}=="ffff", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
Por último quedaría reiniciar el servicio udev
sudo service udev restart
Si antes de realizar el proceso estaba conectado el robot, tendremos que desconectarlo y volverlo a conectar para que los cambios surtan efecto, quedando algo parecido a ésto:
Lego WeDo
Lego WeDo no tiene el software desarrollado para funcionar en Linux, por lo que podremos usar el software específico desarrollado por Lego para funcionar con sus actividades. Sin embargo puede funcionar sin problemas con Scratch, pudiendo realizar todas las actividades propuestas por Lego, y muchas otras, ya que contamos con la funcionalidad que ofrece este entorno de programación (en el caso del software de Lego, las funcionalidades pueden llegar a quedarse limitadas).
Si se quiere usar el material para montar los diferentes escenarios propuestos por Lego, podemos descargarnos los ejercicios del propio CD de Lego o de la siguiente URL
Lego WeDo puede funcionar tanto en Scratch 1 como Scratch 2 (en su versión online y offline). Ya sabéis que con Vitalinux podemos tener disponibles todas las opciones, para gustos los colores. Sin embargo, para que Scratch pueda hablar y escuchar del controlador del robot, necesita un plug-in y de nuevo nos encontramos con un problema: no hay plugins de Scratch para la versión Linux.
Solución: La gente de Pixcase ha desarrollado una extensión para Chrome que nos va a hacer de puente entre Scratch y Lego. Para ello, deberemos tener Google Chrome (ya disponible en Vitalinux) e instalar la app (extensión) S2Bot 4 Scratch....vamos a ello:
- Abrimos Chrome y vamos a Herrmientas -> Extensiones (o bien ponemos en la URL: chrome://extensions). Una vez allí, nos vamos a la parte de abajo, y le damos donde dice "Obtener más extensiones", y buscamos la extensión en cuestión por wedo:
- Le diremos a añadir a Google Chrome y ya tendremos disponible la App para su uso
Para hacer uso de la misma, o bien podemos abrir una nueva pestaña y desde el marcador que pone Aplicaciones lanzarla, o usar la entrada creada en el menú de Vitalinux:Sobre las Apps de Google. Si hemos inciado sesión en Google Chrome, o iniciamos sesión con la App instalada, automáticamente la tendremos disponible en todos los navegadores/equipos donde tenga iniciada la sesión con Google
- Como podemos observar, la app nos indica que ni el robot ni scratch están conectados. Si conectamos el robot, veremos como nos lo indica la aplicación, y nos da indicaciones de los sensores conectados en ése momento...vamos por buen camino:
- Ahora debemos "conectar" nuestro scratch. Éste proceso se realiza usando un template que nos genera la propia app (New Scratch Template):
- Que guardaremos donde queramos. Dicha template la podremos usar en diferentes proyectos que usemos, sin problemas. Puede funcionar en la versión de Scratch 2 offline y online. Para ello, solo tenemos que abrir el scratch que más nos guste y abrir la template guardada en el paso anterior:
- Si nos fijamos ahora en Scratch, tendremos en el apartado "Más Bloques" los bloques de nuestro WeDo y podremos ver en la App que tenemos Scratch también conectado:
- Ya podemos crear nuestro programa y hacerlo funcionar:
<HTML5video width="640" height="480" autoplay="false">lego_vita</HTML5video>
Nota: Podremos usar la misma plantilla generada e ir guardando los dferentes proyectos con diferentes nombres, pero para que funcione la comunicación (y el robot haga cosas) deberá estar la app (s2Bot 4 Scratch) corriendo (sino, nos saldrá en rojo el Wedo en la opción de Mas Bloques de Scratch)
mBot
De nuevo, éste robot viene con un software que no dispone de versión para Linux en el CD de instalación. Sin embargo, si que se puede usar con Scratch (al fin y al cabo, el software que tiene mBot es un Scratch tuneado).
El procedimiento para poder usar mBot con Vitalinux (Linux en general) será muy similar al descrito para LegoWedo. Sin embargo, tiene algunas diferencias:
- Lógicamente, usaremos otra App diferente: Makeblock mBot for Scratch X
- No podremos usar el Scratch instalado en la máquina, ni el Scratch 2 offline oficial. Deberemos usar Scratch X (Proyecto no oifical de Scratch, que permite incorporar extensiones experimentales para conectar con múltiples dispositivos)
Vamos pues a ello:
- Lo primero, instalaremos la app Makeblock mBot for Scratch X. Buscaremos igual que hicimos para Lego, la extensión correspondiente y la añadiremos a nuestro google Chrome:
- Arrancaremos la aplicación y nos permitirá selecionar el tipo de conexión con nuestro mbot:
- Sólo queda lanzar Scratch X, lo cual abrirá una página usando Chrome, directamente en Scratch X.
- Y a programar nuestro mbot y verlo funcionar:
<HTML5video width="640" height="480" autoplay="false">mbot_vita</HTML5video>
Nota Final
Se ha tomado la decisión de que la instalación de las dos app's (extensiones) comentadas no se lleve a cabo de forma desatendida por migasfree, ya que depende mucho del entorno donde se quieran usar (puede ser que incluso el usuario ya las tenga instaladas) y además ya habéis visto que la instalación de una extensión en Chrome resulta trivial
Referencias
http://www.appnearme.com/blog/2014/7/21/chrome-usb-hid-controlling-your-usb-device-javascr/
http://www.picaxe.com/Teaching/Other-Software/Scratch-Helper-Apps/
http://www.instructables.com/id/Programming-With-Scratch-X-for-Makeblock-MBot/