# Robótica

Actualizado octubre 2025

# Introducción

¿Se puede hacer robótica con Vitalinux (Linux)? Por supuesto que sí. Normalmente lo que se utiliza es la aplicación online del fabricante, y dependiendo del robot hay que utilizar algún software interface entre la aplicación online y el hardware de la placa conectada por el puerto USB. También puede ser que haya que dar permisos para utilizar el puerto, tal y como se describe en si no tienes Vitalinux Migasfree. Si lo tienes Migasfree lo hará por tí.

# CUADRO RESUMEN ROBOTS LICITACIÓN ESCUELA 40

Se utiliza la misma nomenclatura que la licitación Escuela 4.0 oct25 (opens new window)

ID Robot Vitalinux Play Via web Observaciones
R1 Talebot
R2 Bluebot
R3 Vincibot
R6 Lego Spike
R7 Cutebot Se trata igual que la Micro:bit
R8 Micro:bit NO SI
R9 Echidna SI NO
R10 ESP32 StemMkr SI SI Necesita connector para funcionar el programa via web
R11 SmartHome Mcr Se trata igual que la Micro:bit
R12 mBot2 SI NO Necesita mLink para funcionar el programa via web
R13 Photon

# R6 LEGO Spike

Para programar este LEGO SPIKE entramos en la web https://spike.legoeducation.com/ (opens new window) y nos pide elegir Basic o Prime, dependiendo del paquete a usar, los dos usan el mismo HUB

Y una vez dentro del reto en la ventana de programación pide conectarse al HUB.

lsub

Seguimos las instrucciones utilizando la conexión por cable:

lsub

Y al dar a open nos pide permiso para conectarse al puerto:

lsub

Y ya podemos jugar !!! https://youtu.be/1yJ2oHeeq28 (opens new window)

# R8 Microbit

Las Placas Microbit se programan desde la página correspondiente https://makecode.microbit.org (opens new window). Hemos probado con Vitalinux que funciona perfectamente, en los dos modos, cargar diréctamente en la placa, como descargar el fichero .hex y copiarlo en la placa.

lsub

Imagen correspondiente al modo de cargar diréctamente en la placa.

La versión de firmware tiene que ser superior a la 0249. En la página https://makecode.microbit.org (opens new window) es muy fácil actualizar el firmware si tu versión es inferior. ¿Cómo puedo saber la versión de la placa? En el fichero DETAILS.TXT. En la figura se ve que esta placa necesita una actualización pues es la versión 0241.

lsub

# R9 Echidna

  1. Instalamos el software desde VitalinuxPlay

lsub

  1. Conectamos la placa Echidna en el puerto USB

  2. Ejecutamos EchidnaML (lo tienes en la carpeta "Educación"), el programa detecta la placa y funciona perfectamente

mBlock 5-0 y mLink puede utilizarse aparte de para programar mBot2, para muchas otras placas:

En SO Linux como Vitalinux es necesario :

  1. Instalar mLink Este programa está disponible en Vitalinux Play. Es un programa que tiene que estar funcionando para que el navegador se comunique con la placa
  2. Utilizar la versión online disponible en https://ide.mblock.cc/ (opens new window)

Luego lo primero instala mLink desde Vitalinux Play :

lsub

Una vez instalado, seguir estos sencillos pasos:

  1. Conecta la placa al ordenador
  2. Arranca el mLink instalado previamente y no lo cierres, minimízalo.
  3. Arranca un navegador compatible con Chrome y accede a la web https://ide.mblock.cc (opens new window) . Puede ser Chromium también.

En esta página web https://ide.mblock.cc (opens new window) le damos a conectar y elegir el puerto USB (suele ser el último, ver imagen)

lsub

Una vez conectado, ya proceder como normalmente.

Notas: Al ejecutar mLink, saldrá una ventana de comandos QUE NO TENEMOS QUE CERRAR dejarla minimizada. OJO PRIMERO MLINK Y LUEGO MBLOCK

Start mlink: Running...
Version: 1.2.0

** Notas mBot Con pincho Bluetooth **

Hemos probado inalámbricamente con el pincho Bluetooth (no lo inocorpora la licitación Escuela 40), y trabajar en vivo como cargar y funciona correctamente.

lsub

# R10 STEAMAKERS ESP32

STEAMAKERS BLOCKS es una aplicación online que lo apoya Innovadidactic y que nos permite conectarnos con diferentes placas:

  • Arduino
  • ESP32
  • Estas mismas placas con el escudo ImaginaSTEAM ...

Necesita la aplicación Connector. Podemos instalarlo desde Vitalinux Play. Sirve para comunicar la aplicación online con la placa que conectamos en nuestro equipo.

lsub

Se nos abrirá automáticamente el navegador con la página abierta de la aplicación online https://www.steamakersblocks.com (opens new window)

ArduinoBlocks register

Una vez dentro de la aplicación y registrados, solo habremos de seleccionar el puerto USB en el que tengamos conectada nuestra placa y a funcionar, creamos el programa en bloques y Subir.

ArduinoBlocks demo

# ROBOTS FUERA DE LA LICITACIÓN ESCUELA 40

# PICO BRICKS

  1. Entramos en la página http://rbt.ist/ide (opens new window)

  2. Descargamos el Firmware

  1. Ponemos PicoBricks en modo Boodloader
  • Apretamos el botón BOOTSEL
  • MIENTRAS LO TENEMOS APRETADO lo conectamos al USB
  • Aparecerá una nueva unidad, ya podemos soltar el botón Bootsel

4.- El fichero descargado en el paso 2 lo grabamos en la nueva unidad

lsub

  1. Pasado unos minutos, desconecta de USB y vuelve a conectar y ya puedes programar, al darle RUN te pedirá que te conectes con Pico bricks, elegir el puerto USB correspondiente (ver imagen)

lsub

# Arduino Cloud e Internet de las Cosas (IoT)

Arduino además de hardware, y el software Arduino IDE para PC, también pone a disposición de las personas que quieran registrarse una Aplicación web con los siguientes servicios:

  • Arduino Cloud
  • IoT Cloud: para trabajar IoT con placas de arduino.
  • Web Editor: igual que el Arduino IDE pero en versión web
  • Manager for Linux

Arduino World

Desde vitalinux siempre recomendamos usar la versión de Escritorio del Arduino IDE para evitar problemas de conectividad y para evitar registrar al alumnado. No obstante, por si alguien quiere trabajar en Arduino Cloud (por ejemplo en los proyectos de IoT es necesario utilizar la aplicación IoT Cloud, que solo está disponible desde la aplicación web) es necesario previamente descargar un software en el equipo llamado Arduino Create Agent.

Hemos habilitado en Vitalinux Play una forma sencilla de instalarlo en un equipo individual. Se instala de igual forma que cualquier otro programa desde el Vitalinux Play, en la flecha de arriba a la derecha.

Arduino Agent Play

Una vez instalado, hay que lanzar la aplicación. Se instala en el menú Sonido y Video, si bien es mucho más fácil usar Albert y empezar a escribir el nombre. Arduino Agent Run

En ese momento nos aparecerá un icono abajo a la derecha, junto al reloj. Desde allí podremos activarlo y pausarlo para cuando lo necesitemos en los proyectos.

Arduino Agent app

Como siempre, si queréis una instalación masiva de forma remota en varios equipos de vuestro centro, podéis canalizarla a través de soporte.

# Arduino con Snap4Arduino

Snap4Arduino es un programa libre, heredero del anterior Scratch For Arduino (S4A) que sirve para programar placas con un lenguaje de bloques de forma sencilla. Posee versión online y offline. La versión offline se puede descargar desde Vitalinux Play. Para poder controlar la placa simplemente tendremos que cargar previamente en ella el StandardFirmata, un firmware disponible en los Ejemplos de la aplicación Arduino IDE. Por lo tanto será necesario en nuestro equipo también habernos descargado el Arduino IDE.

arduino IDE

Una vez cargado ese firmware en la placa, podremos usar Snap4Arduino para controlarla, y lo interesante es que dispone de la opción de ver el funcionamiento en vivo, sin necesidad de subir el programa a la placa.

arduino IDE

# ROBOTS DESFASADOS

# LEGO WeDo

Lego WeDo 2.0 (bluetooth) 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 con Scratch (web u offline) bajo Linux usando un conector desarrollado por la comunidad: Scratch Link. Se puede instalar en Vitalinux mediante Vitalinux Play o de forma centralizada.

Scratch Link permite conectar hardware para interactuar con los proyectos de Scratch. Web e instrucciones del proyecto para Linux (opens new window) para uso por ejemplo con bluetooth o la placa microbit.

Lego WeDo 1.0 ya no es funcional debido a que la solución que había se basaba en usar Scratch2Offline (no instalable en Vitalinux 3) y en una app para chrome/chromium(s2bot 4 scrat) que igualmente ha dejado de soportado para Chrome/Chromium y que solo funcionaría con Scratch 2.0.

# Equipos BQ

Hay que tener en cuenta que BQ ha dejado de existir como empresa y ya no hay continuidad de sus productos (hardware o software).

# BitBloq - Web2Board

La web ha dejado de funcionar y ya no se puede usar bitbloq online. Sólo quedaría usar la versión offline pero solo se puede instalar para vitalinux 2.x y no sabemos si funcionará.

# Impresoras 3D Witbox Go! de BQ

BQ proporciona el software Zetup para trabajar con dichas impresoras, pero NO FUNCIONA en Vitalinux 3.x, al no tener una versión actualizada del mismo.

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 y lo puedes encontrar en Vitalinux Play.

# Si no tienes Vitalinux migasfree

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

En Lego, mbot, cyberpi, ESP32, Arduino... 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 Cyberpi con un emisor inhalámbrico (también usb).

Podemos ver los usb conectados con:

lsusb

En la siguiente captura podemos observar la salida de los comandos indicados antes y después de insertar el cable del robot LEGO. Podemos ver que su IdVendor es 0694 y que su idProduct es 0003.

lsub

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

centre|thumb|Vemos dos dispositivos, uno el teclado/ratón y otro que corresponde a la conexión con elrobot

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

Y en ese fichero ponemos la línea

ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0003", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"\

Así sucesivamente con los diferentes robots que queramos conectar.

Nota: Muchos robots de placa electrónica, como el ESP32, Cyberpi, Arduino, etc.. en el listado lsub no aparece el nombre como tal, sino el chip de interface CH340 o UART que traduce el protocolo USB al TTL de la placa. La manera de localizar quien es quien es ejecutar lsub antes y después de conectar el robot

Un fichero que contiene todos, y que iremos actualizando sería este para 99-hidraw.rules :

=============================================

# 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"\
# Cyberpi mBot2\
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
# Lego Spike
ATTRS{idVendor}=="0694", ATTRS{idProduct}=="0009", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
# mbot pincho 2.4 UART Windbond
ATTRS{idVendor}=="0416", ATTRS{idProduct}=="ffff", SUBSYSTEMS=="usb", ACTION=="add", MODE="0666", GROUP="plugdev"
# microbit
ATTRS{idVendor}=="0d28", ATTRS{idProduct}=="0204", 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:

lsub