Diferencia entre revisiones de «Robótica con Vitalinux»

De Vitalinux
Saltar a: navegación, buscar
(mBot)
(Etiqueta: visualeditor)
Línea 61: Línea 61:
  
 
El procedimiento para poder usar mBot con Vitalinux (Linux en general) será muy similar al descrito para LegoWedo. Sin embargo, tiene algunas diferencias:
 
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
+
* 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)
+
* 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:[[Archivo:Legowedo 037.png|centre|thumb]]
 
# 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:[[Archivo:Legowedo 037.png|centre|thumb]]
 
# Arrancaremos la aplicación y nos permitirá selecionar el tipo de conexión con nuestro mbot:[[Archivo:Mbot 2.png|centre|thumb]][[Archivo:Mbot 3.png|centre|thumb|Si hemos conectado el pincho inhalámbrico...]]
 
# Arrancaremos la aplicación y nos permitirá selecionar el tipo de conexión con nuestro mbot:[[Archivo:Mbot 2.png|centre|thumb]][[Archivo:Mbot 3.png|centre|thumb|Si hemos conectado el pincho inhalámbrico...]]
 
# Sólo queda lanzar Scratch X, lo cual abrirá una página usando Chrome, directamente en Scratch X.[[Archivo:Mbot 5.png|centre|thumb|Aceptar el Warning que nos indica que no se resposabilizan del uso del software al estar en fase experimental]]
 
# Sólo queda lanzar Scratch X, lo cual abrirá una página usando Chrome, directamente en Scratch X.[[Archivo:Mbot 5.png|centre|thumb|Aceptar el Warning que nos indica que no se resposabilizan del uso del software al estar en fase experimental]]
 
# Y a programar nuestro mbot y verlo funcionar:[[Archivo:Mbot 7.png|centre|thumb]]
 
# Y a programar nuestro mbot y verlo funcionar:[[Archivo:Mbot 7.png|centre|thumb]]

Revisión del 00:07 24 feb 2016

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 a usando la tecnología de App's para Google Chrome. Eso si, siempre a través de Scratch. Ésto quiere decir 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
Usb robot 022.png

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:

Vemos dos dispositivos, uno el teclado/ratón y otro que corresponde a la conexión con el robot

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

Y desconectar y conectar el robot si lo teníamos conectado para que los cambios surtan efecto, quedando algo parecido a ésto:

Usb robot 027.png

Lego WeDo

Lego WeDo no tiene el software desarrollado para funcionar en Linux, por lo que no tendremos acceso al 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 de Scratch (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 plugin. De nuevo nos encontramos con un problema: no hay plugins de Scratch para la versión Linux.

Solución: La gende 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:

  1. 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:
    Legowedo 037.png
  2. Le diremos a añadir a Google Chrome y ya tendremos disponible la App para su uso

    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

    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:
    Legowedo 024.png
    Legowedo 025.png
  3. 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:
    Legowedo 028.png
  4. Ahora debemos "conectar" nuestro scratch. Éste proceso se realiza usando un template que nos genera la propia app (New Scratch Template):
    Legowedo 029.png
  5. 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:
    Legowedo 032.png
  6. 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:
    Legowedo 033.png
  7. Ya podemos crear nuestro programa y hacerlo funcionar:
    Legowedo 034.png

mBot

De nuevo, éste robot viene con un software que no dispone de versión para Linux (hardware abierto para plataformas cerradas?). Sin embargo, como usaremos Scratch (y el software que tiene mBot es un Scratch tuneado), no supondrá ningún problema

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:

  1. 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:
    Legowedo 037.png
  2. Arrancaremos la aplicación y nos permitirá selecionar el tipo de conexión con nuestro mbot:
    Mbot 2.png
    Si hemos conectado el pincho inhalámbrico...
  3. Sólo queda lanzar Scratch X, lo cual abrirá una página usando Chrome, directamente en Scratch X.
    Aceptar el Warning que nos indica que no se resposabilizan del uso del software al estar en fase experimental
  4. Y a programar nuestro mbot y verlo funcionar:
    Mbot 7.png