Diferencia entre revisiones de «Robótica con Vitalinux»

De Vitalinux
Saltar a: navegación, buscar
(mBot)
(Etiqueta: visualeditor)
(BitBloq (Zumbox y mas...))
(No se muestran 30 ediciones intermedias de 2 usuarios)
Línea 3: Línea 3:
 
Se puede hacer robótica con Vitalinux (Linux)?
 
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 [http://jornadasroboticaeducativa.blogspot.com.es/ I Jornadas de Robotica Educativa y Progmación]:  
+
Inicialmente tuvimos ocasión de probar con dos de los robots que pudimos ver en las [http://jornadasroboticaeducativa.blogspot.com.es/ I Jornadas de Robotica Educativa y Progmación]:  
 
* Lego WeDo
 
* Lego WeDo
 
* mBot
 
* 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
 
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)
+
Desde Marzo de 2017 MakeBlock ha desarrollado una solución nativa "para Linux ":https://github.com/Makeblock-official/mBlock/releases. Disponible solo para 64 bits, la hemos probado y funciona, por lo que se ha dado solución para poder instalarlo de forma sencilla en nuestros Vitalinux
  
Iremos actualizando la información en ésta página a medida que tengamos nuevas noticias....vamos pues a ello
+
: En cualquier caso (para Lego WeDo de momento no queda otra) tenemos 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...
 +
 
 +
Además, durante el curso 2016-2017 y gracias a la incorporación de nuevos centros, nos llegaron a nuestras manos unas placas '''Zumbox''' y la inquietud de si podrían funcionar en Vitalinux. Tras varias pruebas y excelentes comunicaciones con el equipo de BQ España funcionaban muy bien usando "BitBloq":http://bitbloq.bq.com hasta éste curso que se actualizó web2board y no era posible dicha actualización. Tras estudiar las opciones se le ha dado solución mediante app de Chrome. Más información en el apartado [[#BitBloq_(Zumbox_y_mas...)|correspondiente de ésta página]].
 +
 
 +
''' Impresoras 3D Witbox Go! de BQ'''. Hemos paquetizado el software ('''Zetup''') para trabajar con la impresora, de tal forma que se puede instalar el mismo en los equipos que lo requieran sin tener que hacerlo a mano....
 +
 
 +
''' Nuevo: Makeblock para Linux nativo incorporado como solución en nuestros Vitalinux.''' Más información en el apartado [[#mBot|correspondiente de ésta página]].
 +
 
 +
''' Nuevas placas Arduino. Se puede actualizar al IDE Arduino 1.8.8 y se añade soporte por defecto para la placa Intel Curie Boards''' (hay que añadirla a mano posteriormente ya que requiere de una instalación manual)
  
 
== Preliminares - Vitalinux te ayuda... ==
 
== Preliminares - Vitalinux te ayuda... ==
  Importante: Puedes saltarte éste paso si usas Vitalinux, migasfree lo hará por ti de forma transparente...
+
  <span style="color:#FFFFFF; background:#FF0000"> Importante: Puedes saltarte éste paso preliminar si usas Vitalinux, migasfree lo hará por ti... </span>
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).
+
En Lego y mbot, 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:  
 
Podemos ver los usb conectados con:  
Línea 31: Línea 41:
 
Con las siguientes lineas   
 
Con las siguientes lineas   
 
  # Solucion generica: para todos los dispositivos de interfaz humana
 
  # Solucion generica: para todos los dispositivos de interfaz humana
  # KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"
+
  <nowiki>#</nowiki> KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"
  # Lego Wedo
+
  <nowiki>#</nowiki> Lego Wedo
 
  ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0003", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
 
  ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0003", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
  # mBot
+
  <nowiki>#</nowiki> mBot
 
  ATTRS{idVendor}=="0416", ATTRS{idProduct}=="ffff", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
 
  ATTRS{idVendor}=="0416", ATTRS{idProduct}=="ffff", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
 
Por último quedaría reiniciar el servicio udev
 
Por último quedaría reiniciar el servicio udev
 
  sudo service udev restart
 
  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:
+
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:
 
[[Archivo:Usb robot 027.png|centre|thumb]]
 
[[Archivo:Usb robot 027.png|centre|thumb]]
  
 
== Lego WeDo ==
 
== 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).
+
Lego WeDo no tiene el software desarrollado para funcionar en Linux, por lo que '''no podremos usar el software específico desarrollado por Lego para funcionar con sus actividades'''. Sin embargo '''puede funcionar sin problemas con Scratch bajo Linux''', 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 [http://ro-botica.com/tienda/LEGO-Education/LEGO-WeDo/ siguiente URL]  
 
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 [http://ro-botica.com/tienda/LEGO-Education/LEGO-WeDo/ 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.
+
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 gende de [http://www.picaxe.com/ 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:
+
'''Solución''': La gente de [http://www.picaxe.com/ 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:[[Archivo:Legowedo 037.png|centre|thumb]]
 
# 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:[[Archivo:Legowedo 037.png|centre|thumb]]
 
# Le diremos a añadir a Google Chrome y ya tendremos disponible la App para su uso<blockquote>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</blockquote>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:[[Archivo:Legowedo 024.png|centre|thumb]][[Archivo:Legowedo 025.png|centre|thumb]]
 
# Le diremos a añadir a Google Chrome y ya tendremos disponible la App para su uso<blockquote>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</blockquote>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:[[Archivo:Legowedo 024.png|centre|thumb]][[Archivo:Legowedo 025.png|centre|thumb]]
Línea 55: Línea 65:
 
# 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:[[Archivo:Legowedo 032.png|centre|thumb]]
 
# 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:[[Archivo:Legowedo 032.png|centre|thumb]]
 
# 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:[[Archivo:Legowedo 033.png|centre|thumb]]
 
# 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:[[Archivo:Legowedo 033.png|centre|thumb]]
# Ya podemos crear nuestro programa y hacerlo funcionar:[[Archivo:Legowedo 034.png|centre|thumb]]
+
# Ya podemos crear nuestro programa y hacerlo funcionar:[[Archivo:Legowedo 034.png|right|thumb]]
 +
<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 ==
 
== 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
+
'''mLink''' Además de la opción para trabajar con Scratch 2.0 y mblock clásico (siguiente apartado), podemos usar la nueva forma: con "mLink y scratch 3.0":https://www.mblock.cc/en-us/download. Ojo, ésta forma es para trabajar con scratch online y solo válida para equipos con arquitectura de 64 bits!
 +
 
 +
'''Actualización Febrero 2018''': Se ha actualizado el software a la "versión 4.0.4 de mblock":http://www.mblock.cc/previous-versions (disponible en vitalinux como vx-dga-l-mblock-last), de forma que ahora si podemos instalar el software en dispositivos de 32 bits. Parece que ésta versión (la 4.0.4) presenta algún problema para cargar el programa en una placa arduino por cable (para resolver éste problema, se puede instalar la versión anterior 4.0.0) que la podemos encontrar en el paquete vx-dga-l-mblock-1.0-2) La conexión a mBot funciona sin problema.
 +
 
 +
Desde Marzo de 2017, además de la solución disponible hasta ahora de usar ScratchX, podemos usar la aplicación nativa desarrollada para Linux. Así pues tendremos dos opciones, recomendando por funcionalidad la primera:
 +
 
 +
# Si optamos por usar MakeBlock (aplicación nativa), no tendremos mas que instalar el paquete <s>vx-dga-l-mblock</s> '''ideservice''' o mejor aún el '''vx-dga-l-mblock-last''' que nos configurará un acceso directo y alguna cosita más...o como siempre indicar por soporte su instalación desatendida. Algunas particularidades sobre ésta solución:
 +
#* <s>Solo disponible para equipos de 64 bits</s>
 +
#* Podemos hacer uso de la interfaz Wireless de 2.4Ghz (el pincho) para poder integrar y comunicarnos con el robot sin cables (ojo, si queremos actualizar el firmware del mbot deberemos usar el cable...como pasa para otros sistemas<br />[[Archivo:MakeBlockVitalinux.jpg|centre|thumb|MakeBlockVitalinux]]
 +
#* Si no sabes como conectar el mbot con la nueva versión 4.0.4: <center><youtube width="400" height="300">TDoCX81WY_o</youtube></center>
 +
# Usar una aplicación para Google Chrome como hemos hecho 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)<br />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]]
 +
## 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]]
 +
## Y a programar nuestro mbot y verlo funcionar:[[Archivo:Mbot 7.png|right|thumb]]<br /><HTML5video width="640" height="480" autoplay="false">mbot_vita</HTML5video>
 +
#Tal como indicamos en el siguiente apartado sobre Bitbloq, es posible que dentro de poco se pueda también programar el robot usando dicha aplicación!
 +
 
 +
== Nota Sobre las Apps ==
 +
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
 +
 
 +
== BitBloq - Web2Board (Zumbox y mas...) ==
 +
'''Vitalinux 18.04:''' Web2board se puede instalar ahora en 18.04 (distro base de Vitalinux 18.04), mediante el paquete qssweb2board, con lo que podríamos hacerlo funcionar sin problemas. '''SOLO PARA 64 bits'''. Recuerda que para que funcione la carga (una vez instalado y reiniciado el equipo la primera vez), debes '''lanzar el Launcher de Web2board''' que se encargará de comunicar con la placa. El lanzador lo encontrarás en Menú->Accesorios, o mejor aún, con ctrl+espacio y escribiendo qssweb2board
 +
<br>
 +
<s>Evidentemente, también quedaría la opción (como para 14.04) de añadir la app correspondiente al navegador y activar la compilación online en la cuenta de bitbloq, pero no tendría sentido</s>
 +
 
 +
'''Vitalinux 14.04:''' Como ya hemos comentado la placa Zumbox y otras funcionaban sin problemas en Vitalinux hasta la útlima actualización de web2board. Sin embargo se puede seguir usando (confirmado su correcto funcionamiento), con las siguientes configuraciones:
 +
# Instalar la "app de Chrome correspondiente":https://chrome.google.com/webstore/detail/bitbloq/ddpdpmibfdhifigignfdiggfbcmfblfj?hl=es
 +
# Activar la compilación online en la cuenta de bitbloq
 +
El primer punto lo podemos automatizar nosotros....la activación de la compilación se tiene que hacer en la cuenta de bitbloq
 +
 
 +
Se usará el programa web "BitBloq":http://bitbloq.bq.com (Recordar que es necesario lo anterior)
 +
 
 +
=== BitBloq Offline ===
 +
También es posible instalar la versión Offline de Bitbloq. Desde BQ nos recomiendan siempre usar la versión online (la offline ya está sin continuidad) más actualizada y con más funcionalidades, pero puede ser interesante en el caso de equipos que no vayan a disponer de red mientras se programa.
 +
Para tenerlo disponible, simplemente debemos instalarlo (de forma manual o desatendida) usando el paquete que hemos preparado con el nombre de '''vx-dga-l-bitbloq-offline'''
 +
Para que podamos cargar el programa desarrollado en nuestra placa, simplemente necesitamos instalar el paquete web2board (necesario para comunicar el software Bitbloq con la placa) y configurarlo adecuadamente...
 +
* En el caso de '''Vitalinux 18.04''', usaremos el web2board nuevo (qssweb2board), que nos debería valer para offline y online
 +
* En el caso de '''Vitalinux 14.04''', usaremos el web2board antiguo. Ojo, ésto solo para hacer uso de bitbloq offline, el online requiere el nuevo (ver más arriba).Podemos hacerlo todo simplemente instalando el paquete '''vx-dga-l-web2board-bq''', que nos instalará web2board antiguo y el lanzador correspondiente (RECUERDA, SOLO PARA OFFLINE!)
 +
# Avisarnos a través de soporte para instalarlo en todos los equipos que queráis de forma desatendida, como hacemos con cualquier otro software.
 +
[[Archivo:Bitbloq zumbox vitalinux.jpg|| centre|thumb|Bitbloq zumbox vitalinux]]
 +
 
 +
'''Nota Final:''' Indicar que parece que se podrá programar los robots mBot con Bitbloq...no sabemos aún de experiencias.
 +
 
 +
== Impresoras 3D Witbox Go! de BQ ==
 +
BQ proporciona el software Zetup para trabajar con dichas impresoras. Como dicho software se debe descargar e instalar a mano desde la web del fabricante, hemos paquetizado el mismo para poder instalarlo directamente desde Synaptic (o el gestor de paquetes que uses), pero sobre todo para poder instalarlo de forma desatendida en aquellos equipos que nos indiqueis. El paquete se llama: vx-dga-l-zetup-bq
 +
 
 +
== 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/
  
El procedimiento para poder usar mBot con Vitalinux (Linux en general) será muy similar al descrito para LegoWedo. Sin embargo, tiene algunas diferencias:
+
http://www.instructables.com/id/Programming-With-Scratch-X-for-Makeblock-MBot/
* 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:[[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...]]
 
# 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]]
 

Revisión del 12:27 21 ene 2021

Introducción

Se puede hacer robótica con Vitalinux (Linux)?

Inicialmente tuvimos ocasión de probar con dos de los robots que pudimos ver 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

Desde Marzo de 2017 MakeBlock ha desarrollado una solución nativa "para Linux ":https://github.com/Makeblock-official/mBlock/releases. Disponible solo para 64 bits, la hemos probado y funciona, por lo que se ha dado solución para poder instalarlo de forma sencilla en nuestros Vitalinux

En cualquier caso (para Lego WeDo de momento no queda otra) tenemos 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...

Además, durante el curso 2016-2017 y gracias a la incorporación de nuevos centros, nos llegaron a nuestras manos unas placas Zumbox y la inquietud de si podrían funcionar en Vitalinux. Tras varias pruebas y excelentes comunicaciones con el equipo de BQ España funcionaban muy bien usando "BitBloq":http://bitbloq.bq.com hasta éste curso que se actualizó web2board y no era posible dicha actualización. Tras estudiar las opciones se le ha dado solución mediante app de Chrome. Más información en el apartado correspondiente de ésta página.

Impresoras 3D Witbox Go! de BQ. Hemos paquetizado el software (Zetup) para trabajar con la impresora, de tal forma que se puede instalar el mismo en los equipos que lo requieran sin tener que hacerlo a mano....

Nuevo: Makeblock para Linux nativo incorporado como solución en nuestros Vitalinux. Más información en el apartado correspondiente de ésta página.

Nuevas placas Arduino. Se puede actualizar al IDE Arduino 1.8.8 y se añade soporte por defecto para la placa Intel Curie Boards (hay que añadirla a mano posteriormente ya que requiere de una instalación manual)

Preliminares - Vitalinux te ayuda...

 Importante: Puedes saltarte éste paso preliminar si usas Vitalinux, migasfree lo hará por ti... 

En Lego y mbot, 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

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:

Usb robot 027.png

Lego WeDo

Lego WeDo no tiene el software desarrollado para funcionar en Linux, por lo que no podremos usar el software específico desarrollado por Lego para funcionar con sus actividades. Sin embargo puede funcionar sin problemas con Scratch bajo Linux, 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:

  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

<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

mLink Además de la opción para trabajar con Scratch 2.0 y mblock clásico (siguiente apartado), podemos usar la nueva forma: con "mLink y scratch 3.0":https://www.mblock.cc/en-us/download. Ojo, ésta forma es para trabajar con scratch online y solo válida para equipos con arquitectura de 64 bits!

Actualización Febrero 2018: Se ha actualizado el software a la "versión 4.0.4 de mblock":http://www.mblock.cc/previous-versions (disponible en vitalinux como vx-dga-l-mblock-last), de forma que ahora si podemos instalar el software en dispositivos de 32 bits. Parece que ésta versión (la 4.0.4) presenta algún problema para cargar el programa en una placa arduino por cable (para resolver éste problema, se puede instalar la versión anterior 4.0.0) que la podemos encontrar en el paquete vx-dga-l-mblock-1.0-2) La conexión a mBot funciona sin problema.

Desde Marzo de 2017, además de la solución disponible hasta ahora de usar ScratchX, podemos usar la aplicación nativa desarrollada para Linux. Así pues tendremos dos opciones, recomendando por funcionalidad la primera:

  1. Si optamos por usar MakeBlock (aplicación nativa), no tendremos mas que instalar el paquete vx-dga-l-mblock ideservice o mejor aún el vx-dga-l-mblock-last que nos configurará un acceso directo y alguna cosita más...o como siempre indicar por soporte su instalación desatendida. Algunas particularidades sobre ésta solución:
    • Solo disponible para equipos de 64 bits
    • Podemos hacer uso de la interfaz Wireless de 2.4Ghz (el pincho) para poder integrar y comunicarnos con el robot sin cables (ojo, si queremos actualizar el firmware del mbot deberemos usar el cable...como pasa para otros sistemas
      MakeBlockVitalinux
    • Si no sabes como conectar el mbot con la nueva versión 4.0.4:
  2. Usar una aplicación para Google Chrome como hemos hecho 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

      <HTML5video width="640" height="480" autoplay="false">mbot_vita</HTML5video>
  3. Tal como indicamos en el siguiente apartado sobre Bitbloq, es posible que dentro de poco se pueda también programar el robot usando dicha aplicación!

Nota Sobre las Apps

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

BitBloq - Web2Board (Zumbox y mas...)

Vitalinux 18.04: Web2board se puede instalar ahora en 18.04 (distro base de Vitalinux 18.04), mediante el paquete qssweb2board, con lo que podríamos hacerlo funcionar sin problemas. SOLO PARA 64 bits. Recuerda que para que funcione la carga (una vez instalado y reiniciado el equipo la primera vez), debes lanzar el Launcher de Web2board que se encargará de comunicar con la placa. El lanzador lo encontrarás en Menú->Accesorios, o mejor aún, con ctrl+espacio y escribiendo qssweb2board
Evidentemente, también quedaría la opción (como para 14.04) de añadir la app correspondiente al navegador y activar la compilación online en la cuenta de bitbloq, pero no tendría sentido

Vitalinux 14.04: Como ya hemos comentado la placa Zumbox y otras funcionaban sin problemas en Vitalinux hasta la útlima actualización de web2board. Sin embargo se puede seguir usando (confirmado su correcto funcionamiento), con las siguientes configuraciones:

  1. Instalar la "app de Chrome correspondiente":https://chrome.google.com/webstore/detail/bitbloq/ddpdpmibfdhifigignfdiggfbcmfblfj?hl=es
  2. Activar la compilación online en la cuenta de bitbloq

El primer punto lo podemos automatizar nosotros....la activación de la compilación se tiene que hacer en la cuenta de bitbloq

Se usará el programa web "BitBloq":http://bitbloq.bq.com (Recordar que es necesario lo anterior)

BitBloq Offline

También es posible instalar la versión Offline de Bitbloq. Desde BQ nos recomiendan siempre usar la versión online (la offline ya está sin continuidad) más actualizada y con más funcionalidades, pero puede ser interesante en el caso de equipos que no vayan a disponer de red mientras se programa. Para tenerlo disponible, simplemente debemos instalarlo (de forma manual o desatendida) usando el paquete que hemos preparado con el nombre de vx-dga-l-bitbloq-offline Para que podamos cargar el programa desarrollado en nuestra placa, simplemente necesitamos instalar el paquete web2board (necesario para comunicar el software Bitbloq con la placa) y configurarlo adecuadamente...

  • En el caso de Vitalinux 18.04, usaremos el web2board nuevo (qssweb2board), que nos debería valer para offline y online
  • En el caso de Vitalinux 14.04, usaremos el web2board antiguo. Ojo, ésto solo para hacer uso de bitbloq offline, el online requiere el nuevo (ver más arriba).Podemos hacerlo todo simplemente instalando el paquete vx-dga-l-web2board-bq, que nos instalará web2board antiguo y el lanzador correspondiente (RECUERDA, SOLO PARA OFFLINE!)
  1. Avisarnos a través de soporte para instalarlo en todos los equipos que queráis de forma desatendida, como hacemos con cualquier otro software.
Bitbloq zumbox vitalinux

Nota Final: Indicar que parece que se podrá programar los robots mBot con Bitbloq...no sabemos aún de experiencias.

Impresoras 3D Witbox Go! de BQ

BQ proporciona el software Zetup para trabajar con dichas impresoras. Como dicho software se debe descargar e instalar a mano desde la web del fabricante, hemos paquetizado el mismo para poder instalarlo directamente desde Synaptic (o el gestor de paquetes que uses), pero sobre todo para poder instalarlo de forma desatendida en aquellos equipos que nos indiqueis. El paquete se llama: vx-dga-l-zetup-bq

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/