Sesión 5. Raspberry Pi

Currículo: aquí encontrarás el desarrollo detallado de los contenidos que forman parte de la primera sesión del Curso avanzado de pensamiento computacional, robótica e internet de las cosas, impartido por el CEP de Huelva – Isla Cristina.

Tabla de contenidos

A lo largo de estos días hemos trabajado con placas como Micro:bit y Arduino, donde dábamos instrucciones muy concretas al dispositivo: leer sensores, mover actuadores, comunicarse por radio o enviar datos a internet. Es decir, ejecutaban una tarea.

Hoy vamos a dar un importante paso cualitativo.

Vamos a trabajar con un dispositivo capaz de ejecutar muchas tareas al mismo tiempo, conectarse a internet como un ordenador completo, ejecutar programas complejos, almacenar datos, controlar hardware y servir como cerebro central de un sistema robótico o IoT.

Hoy entramos en el mundo de Raspberry Pi.

No es una ruptura con lo anterior. Es una evolución natural.

Si con Micro:bit aprendimos a pensar y con Arduino aprendimos a controlar el mundo físico, con Raspberry Pi vamos a aprender a orquestar sistemas completos.

Durante estas tres horas vamos a montar una Raspberry desde cero y la convertiremos en el cerebro de un sistema real.

1. Entendiendo qué es Raspberry Pi.

Antes de tocar nada, necesito que entendáis qué tenéis delante.

Una Raspberry Pi no es un microcontrolador como Arduino.

Es un ordenador completo en miniatura. Tiene:

  • Procesador: ejecuta un sistema operativo completo.
  • Memoria RAM: permite trabajar con múltiples procesos simultáneos.
  • Almacenamiento: ejecutará un sistema operativo desde una tarjeta microSD.
  • GPIO: nos permite interactuar con sensores y actuadores igual que en Arduino.
  • Red: puede conectarse por WiFi o Ethernet.

La pregunta del millón es: ¿Por qué usar Raspberry si ya teníamos Arduino?

Porque aunque Arduino es bueno para tareas rápidas, Raspberry puede hacer cosas como:

  • Ejecutar un servidor web: igual que vimos en Arduino, pero mucho más potente.
  • Procesar imágenes: con cámaras o visión artificial.
  • Usar inteligencia artificial: reconocimiento de voz, objetos, etc.
  • Almacenar bases de datos: registrar información durante meses.
  • Ejecutar varios programas simultáneamente: sensores, web, bases de datos y automatización al mismo tiempo.

Ese es el salto que vamos a dar.

2. Preparación de la Raspberry Pi desde cero

Esto es lo que vas a necesitar para poner en marcha tu Raspberry Pi y dejarla funcionando:

  • Una Raspberry Pi con una tarjeta SD o micro SD.
  • Un monitor con un cable HDMI (y, si fuera necesario, un adaptador HDMI).
  • Un teclado y ratón USB.
  • Una fuente de alimentación.
  • Un cable ethernet o WiFi disponible (opcional).
  • Rasbperry Pi OS, el sistema operativo

Si tienes todo lo anterior, nos va a ser muy sencillo instalarlo todo, pero antes deberíamos conocer todos los componentes del ordenador. Así que, coge tu Raspberry, colócala delante de ti e identifica cada uno de estos elementos:

Hay un elemento importante que debes conocer además de las capacidades generales de esta placa, y es el pinout (mapa de pines). Esta es quizás la parte de más fea de Raspberry, aunque teniendo este mapita a mano podrás hacer cualquier cosa que se te ocurra.

GPIO significa Entrada / Salida de Propósito General . Los pines GPIO permiten crear circuitos sencillos enviando una pequeña señal eléctrica desde un pin, a través de un cable, por una entrada o salida, y de vuelta a un pin de tierra en la Raspberry Pi para crear un circuito. ¡Los circuitos que crees pueden ser programados y controlados por ti mediante programas escritos con muchos lenguajes de programación!

También podemos usar un resumen muy práctico como estos:

Mirando los esquemas anteriores queda bastante claro que nuestra placa controladora, es realmente un ordenador completamente funcional. Y como un ordenador que es, necesitamos instalarle un sistema operativo.

2.1. Instalación del sistema operativo

Para hacer esto vamos a usar nuestro ordenador portátil y un adaptador USB para la tarjeta SD de la Raspberry. Esta tarjeta SD será la que haga las funciones de disco duro.

Vamos a descargarnos un programa llamado Raspberry Pi Imager que nos permitirá instalar en la tarjeta SD el sistema operativo Raspberry Pi OS.

Así que nos dirigimos al centro de descargas de Raspberry Pi Imager y nos lo descargamos:

Instala el programa descargado sin cambiar ninguna opción por defecto. Finalmente desmarca la casilla para que ejecute el programa al finalizar la instalación.

Ahora inserta la tarjeta SD en el ordenador y seguidamente abre el programa Raspberry Pi Imager.

Te saldrá una ventana para que selecciones el modelo de tu Raspberry, así que selecciona el nuestro y pulsa Siguiente:

A continuación selecciona la versión del sistema operativo que quieres instalar y pulsa en Siguiente:

Ahora selecciona la unidad de almacenamiento donde está conectada la tarjeta SD (en mi caso en un USB) y pulsa Siguiente:

Seguidamente nos pedirá el nombre que queremos ponerle a este equipo (es tradición llamarle pi, pero puedes llamarle como quieras) y tras escribirlo pulsaremos Siguiente:

Completamos la configuración regional y pulsamos en Siguiente:

Turno para elegir el nombre de usuario y contraseña para entrar en el ordenador. Escribe lo que quieras pero apúntalo para que no lo olvides. Después, pulsa en Siguiente:

Proporcionamos los datos para conectarnos a la Wifi, y pulsamos Siguiente:

Esto es muy importante para poder usar la Raspberry Pi sin necesidad de conectarle un monitor. Activamos la opción SSH -Secure Shell- usando contraseña y pulsamos Siguiente:

Esta opción nos permite poder conectarnos con la Raspberry desde cualquier sitio del mundo. Tenemos que registrarnos en el servicio Raspberry Pi Connect y asociar esta Raspberry a nuestra cuenta de usuario. Como en nuestro caso no tenemos esa necesidad, no lo vamos a activar:

Eso es todo. Nos sale un resumen de las opciones que hemos completado y cuando pulsemos en Escribir se iniciará el proceso de instalación del sistema operativo en la tarjeta SD:

Confirmamos lo que queremos hacer:

Esperamos a que acabe toda la escritura:

Cuando salga esta pantalla, ya habrá finalizado el proceso de escritura. Nuestra SD está preparada para funcionar dentro de Raspberry.

Ya puedes extraer la tarjeta SD del ordenador.

2.2. Conectar todos los elementos

Para garantizar un primer arranque seguro es importante que conectemos todos los elementos que trabajarán con la Raspberry Pi en un orden lógico.

Veamos.

Primero inserta la tarjeta SD en la ranura correspondiente de la parte inferior de la Raspberry:

Conecta a los USB tanto el teclado como el ratón:

Asegúrate de que tu monitor esté enchufado a una toma de corriente y encendido.

Mira el puerto (o puertos) HDMI de tu Raspberry Pi — observa que tienen un lado plano en la parte superior.

Conecta tu monitor al primero de los puertos HDMI de la Raspberry Pi 4, etiquetado HDMI0— utiliza un adaptador si es necesario.

Opcionalmente si quisieras conectarla a Internet por cable, ya sabes que puedes conectarle el cable Ethernet y si quieres audio también el conector jack.

Finalmente, y una vez que están conectados todos los elementos que necesitas en tu caso, conecta la fuente de alimentación a una toma de corriente y luego conéctala al puerto de alimentación USB de tu Raspberry Pi.

Deberías ver una luz roja en tu Raspberry Pi y frambuesas en la pantalla.

A continuación, tu Raspberry Pi se iniciará en un escritorio gráfico.

Felicidades, tienes una Raspberry Pi funcional.

2.3. Conexión remota

Esta será probablemente la última vez que necesites conectar un teclado, ratón, monitor y todos los demás periféricos a la Raspberry, ya que está diseñada para ponerse a funcionar y controlarla de manera remota.

Para lograr eso necesitamos, primero activar el servicio VNC -Virtual Network Computing-, es decir, permitir que un ordenador pueda ver y controlar gráficamente otro ordenador a través de una red.

¿Cómo activamos el servicio VNC? Sobre el escritorio pulsa el botón derecho del ratón y selecciona Desktop preferences:

Después de pedirte la contraseña del usuario (la estableciste durante la instalación), te saldrá esta ventanita. Selecciona en el panel izquierdo Interfaces, y luego activa VNC:

Por último, vamos a necesitar conocer dos datos de la Raspberry: su IP y su MAC. Esto lo vemos pulsando en el icono de la red inalámbrica y pulsamos en Advanced Options y luego en Connection Information:

De la ventana que sale, apuntamos tanto la IP como la MAC del dispositivo:

Una vez que has apuntado estos dos datos, ya puedes desconectar todos los periféricos de tu Raspberry Pi excepto la tarjeta SD y el cable de alimentación. Podemos guardar monitor, teclado y ratón.

Tenemos dos maneras de conectarnos de forma remota:

  1. SSH: se trata de una conexión usando un Terminal de comandos que se usa para administrar la Raspberry.
  2. VNC: se trata de otro tipo de conexión a través de la red que nos permite controlar la Raspberry Pi con entorno gráfico.

Al ser la segunda opción una alternativa más atractiva para usuarios novatos, nos vamos a decantar por ella.

La aplicación que goza de mayor popularidad para gestionar una Raspberry Pi usando VNC es RealVNC® Viewer.

Accede a la web, descarga e instala la aplicación.

Abre la aplicación y pulsa en Archivo > Nueva conexión:

En esta pantalla lo único que tenemos que rellenar es la dirección IP que habíamos apuntado y un nombre reconocible que identifique a esa Raspberry.

Después de pulsar en Aceptar, nos saldrá la lista de conexiones que tenemos disponibles. Hacemos doble clic en Pi remota y colocamos el usuario y la contraseña de la máquina remota:

Cuando pulsemos en Aceptar se abrirá una ventana con nuestra Raspberry Pi con pleno acceso a todo lo que contiene.

De esta manera tan cómoda nos ahorramos tener todos los cables conectados a la Raspberry, la podemos colocar en lugares de difícil acceso regular y lo tenemos todo centralizado en nuestro equipo habitual.

3. Proyectos con Raspberry Pi

Con este mini ordenador podemos hacer cosas muy locas, desde montar nuestro propio Netflix en casa hasta programar un complejo robot que hace mapas de superficies de manera automática allí por donde pasa.

3.1. LED + Scratch + Raspberry Pi

Parece una selección aleatoria de herramientas de la asignatura, ¿verdad? Pues no, es un ejemplo de la versatilidad de esta placa.

Vamos a crear un juego de Scratch en el que el jugador debe encontrar al erizo escondido. Fuera del juego tendremos un LED que se encenderá cuando nos acerquemos al erizo. De esta manera tan sencilla estaremos mezclando 3 disciplinas completamente distintas.

Lo primero que debemos hacer es instalar Scratch 3 Desktop en nuestra Raspberry.

Así que accedemos a nuestra Raspberry, pulsamos en la frambuesa, luego en Preferencias y, a continuación, en Software recomendado.

Ahí buscamos Scratch 3 y hacemos clic en Aplicar.

Una vez que acabe la instalación podrás encontrarlo en la categoría Programación > Scratch 3.

La parte de Scratch la tenemos preparada.

Vayamos a montar nuestro circuito.

Conecta la pata larga del LED al pin 21 y la pata corta a una resistencia y esta al pin 6 (GND).

Ahora, para no perder tiempo programando con Scratch, vamos a descargarnos desde la Raspberry Pi el proyecto base que podrás encontrar yendo a esta dirección desde tu Raspbery:

https://rpf.io/p/en/scratch-led-game-get

Eso descargará un archivo .zip, nos situamos encima, pulsamos con el botón derecho del ratón, y clicamos en Extraer aquí.

Ahora abrimos Scratch 3, hacemos clic en Archivo y elegimos Cargar desde tu ordenador.

Vamos a la carpeta de descargas, seleccionamos el archivo scratch-physcomp1.sb3 y pulsamos en Seleccionar.

Ahí veremos el juego prácticamente programado, aunque necesitamos completarlo.

Nos aseguramos de tener seleccionado el Escenario y terminamos de programa el bloque principal:

Si la distancia al erizo es menor que antes (es decir, un número menor que 0), el LED se enciende; en caso contrario se apaga.

Haz clic en la bandera verde.

¡Usa las teclas de flechas y observa el LED para cazar al erizo!

3.2. Encender un LED

Después del proyecto exótico anterior, volvamos a centrarnos únicamente en la Raspberry haciendo pequeños proyectos rápidos de iniciación para ir cogiendo soltura.

Así que vamos a encender un LED usando programación.

Monta el circuito:

Ahora abre la herramienta Programación > Thonny, crea un nuevo fichero.py, escribe esto en su interior, guárdalo y pulsa en Run:

from gpiozero import LED
import time

led = LED(17)
led.on()
time.sleep(3)
led.off()

Verás cómo el LED se enciende durante dos segundos y luego se apaga.

¿Te has fijado la cantidad de líneas de código que hay de diferencia entre este programa en Python y los que hacíamos con C++ en Arduino?

Otra enorme ventaja de Raspberry Pi.

3.3. Parpadeo de un LED

El circuito lo vamos a dejar tal cual está, porque lo que me interesa es que veas este otro código.

Buscamos que un LED parpadee a intervalos de 1s.

from gpiozero import LED
import time

led = LED(17)

while True:
	led.on()
	time.sleep(1)
	led.off()
    time.sleep(1)

Fácil y rápido, ¿verdad?

3.4. Pulsar un botón.

Ahora vamos a añadir un botón y una placa de pruebas, tal que así:

Ya nuestro programa lo único que va a hacer es esperar a la pulsación del botón, y cuando lo detecte, mostrar un mensaje en la consola:

from gpiozero import Button

boton = Button(2)

boton.wait_for_press()
print("Has pulsado el boton")

Listo.

Si ahora combinamos el LED con el botón, podemos encenderlo cuando se pulse el botón:

from gpiozero import LED, Button
from time import sleep

led = LED(17)
boton = Button(2)

# Cuando se pulsa el botón se enciende el LED durante 3 segundos.
boton.wait_for_press()
led.on()
sleep(3)
led.off()

Por cierto, que estamos con Python en Raspberry Pi, aquí hay funciones muy útiles para ahorrar código. Por ejemplo: led.blink(2,1) encenderá el LED durante 2s y lo apagará durante 1s.

¿Y por qué no usarlo para encenderlo con una pulsación y apagarlo con otra?

👇

from gpiozero import LED, Button
from time import sleep

led = LED(17)
boton = Button(2)

while True:
	boton.wait_for_press()
	led.toggle()
	sleep(0.5)
	

led.toggle() lo que hace es poner el LED en el estado contrario en el que se encuentra.

¿Y podríamos hacer que el LED se mantuviera encendido solo el tiempo que el botón está presionado y cuando se suelte que se apague el LED?

Claro, 👇

from gpiozero import LED, Button
from time import sleep

led = LED(17)
boton = Button(2)

boton.when_pressed = led.on
boton.when_released = led.off

¿Y si quiero hacer lo mismo pero en vez de una señal luminosa que sea acústica? Retira el LED y la resistencia y usa las mismas conexiones para nuestro amigo…

El buzzer, 👇

from gpiozero import Buzzer, Button
from time import sleep

buzzer = Buzzer(17)
button = Button(2)

button.when_pressed = buzzer.on
button.when_released = buzzer.off

El zumbador tiene incluso un uso ya predeterminado para pitar a intervalos: buzzer.beep()

3.5. Sensor de ultrasonidos

En el aire, el sonido viaja a una velocidad de 343 metros por segundo. Un sensor de distancia ultrasónico emite pulsos de ultrasonido inaudibles para el ser humano y detecta el eco que se produce al rebotar el sonido en un objeto cercano. A continuación, utiliza la velocidad del sonido para calcular la distancia al objeto.

El circuito se conecta a dos pines GPIO (uno para eco y otro para disparo), al pin de tierra y a un pin de 5V. Necesitarás usar un par de resistencias (de 220Ω) como divisor de voltaje:

Para utilizar el sensor de distancia ultrasónico en Python, necesitas saber a qué pines GPIO están conectados el eco y el disparador (en mi caso 17 y 4 respectivamente).

from gpiozero import DistanceSensor

ultrasonic = DistanceSensor(echo=17, trigger=4)

while True:
    print(ultrasonic.distance)

El valor debería disminuir a medida que la mano se acerque al sensor. Pulsa Detener para salir del bucle.

Además de poder ver el valor de la distancia, también puedes hacer que el sensor realice acciones cuando el objeto esté dentro o fuera de un rango determinado.

from gpiozero import DistanceSensor

ultrasonic = DistanceSensor(echo=17, trigger=4)

while True:
    ultrasonic.wait_for_in_range()
    print("Dentro del rango.")
    ultrasonic.wait_for_out_of_range()
    print("Fuera del rango")

Ahora, mueve la mano frente al sensor; este debería alternar entre mostrar el mensaje “Dentro del alcance” y “Fuera del alcance” a medida que tu mano se acerca o se aleja del sensor. Intenta averiguar en qué punto cambia.

El umbral de alcance predeterminado es de 0,3 m. Esto se puede configurar cuando se inicia el sensor:

ultrasonic = DistanceSensor(echo=17, trigger=4, threshold_distance=0.5)

3.6. La mano más rápida

En esta práctica, crearemos un juego de reacción rápida utilizando dos botones, un LED, una resistencia y un script de Python.

La idea es que un LED se encenderá un tiempo aleatorio entre 5 y 10s, y cuando se apague los jugadores deben pulsar su botón. El programa detectará quién pulsó antes y mostrará al ganador en la consola.

Veamos las conexiones:

Nada especial, ¿no? Un pulsador al pin 14, otro al pin15 y el LED al pin 4. Todo lo demás a tierra.

Vayamos con la construcción del programa paso a paso.

Primero importamos los módulos y bibliotecas necesarios para controlar los pines GPIO en la Raspberry Pi. Escribimos:

from gpiozero import LED, Button
from time import sleep

Como vamos a enviar una señal a un LED, necesitamos configurar el pin al que se conecta el LED en la Raspberry Pi como salida. Primero usamos una variable para nombrar el pin y luego configuramos la salida:

from gpiozero import LED, Button
from time import sleep

led = LED(4)

A continuación, añadimos unas líneas para encender el LED, esperar 5 segundos y luego apagarlo:

from gpiozero import LED, Button
from time import sleep

led = LED(4)

led.on()
sleep(5)
led.off()

Vamos a añadir un elemento de sorpresa.

como el objetivo del juego es ver quién pulsa primero el botón cuando se apaga la luz, sería mejor que el tiempo que permanece encendida fuera aleatorio. Para ello, debemos añadir y modificar algunas líneas de código en nuestro programa Python.

A continuación, vamos a añadir una nueva línea para importar la función uniform que genera un número aleatorio con decimales entre dos números dados.

from gpiozero import LED, Button
from time import sleep
from random import uniform

led = LED(4)

led.on()
sleep(uniform(5, 10))
led.off()

El LED funciona; ahora queremos añadirle una función al programa para que se detecte cuando se pulse un botón. Así podremos registrar las puntuaciones de los jugadores y ver quién gana.

Primero le indicamos al programa dónde están conectados nuestros botones:

botonAzul = Button(15)
botonRojo = Button(14)

Y al final del todo añadiremos una función para que muestre quién ha ganado junto a la detección del botón presionado:

def pressed(button):
  
	if (str(button.pin.number) == "15")
    	print("AZUL gana")
  
  	if (str(button.pin.number) == "14")
    	print("ROJO gana")


botonAzul.when_pressed = pressed
botonRojo.when_pressed = pressed

Así quedaría entonces nuestro programa completo:

from gpiozero import LED, Button
from time import sleep
from random import uniform

led = LED(4)
botonAzul = Button(15)
botonRojo = Button(14)

led.on()
sleep(uniform(5, 10))
led.off()

def pressed(button):
  
    if (str(button.pin.number) == "15"):
        print("AZUL gana")
    elif (str(button.pin.number) == "14"):
        print("ROJO gana")

botonAzul.when_pressed = pressed
botonRojo.when_pressed = pressed

No está mal, pero ¿no sería mejor que el programa te dijera quién ganó en lugar de solo qué botón se presionó? Para ello, necesitas averiguar los nombres de los jugadores. En Python, puedes usar 
la función input para esto.

from gpiozero import LED, Button
from time import sleep
from random import uniform

led = LED(4)
botonAzul = Button(15)
botonRojo = Button(14)

jugadorRojo = input('El nombre del jugador ROJO es: ')
jugadorAzul = input('El nombre del jugador AZUL es: ')

led.on()
sleep(uniform(5, 10))
led.off()

def pressed(button):
    if button.pin.number == 14:
        print(jugadorRojo + ' gana la partida.')
    else:
        print(jugadorAzul + ' gana la partida.')
    exit()

botonAzul.when_pressed = pressed
botonRojo.when_pressed = pressed

3.7. Soundboard para tu estudio de radio

Lo que buscamos conseguir con este proyecto es construir una mesa con efectos de sonido. Cada sonido se reproducirá cuando pulsemos un botón. Así podemos tener tantos efectos de sonido en tiempo real como queramos. Si en una entrevista sale un chiste, nuestro compañero pulsa y suenan risas, si sale una historia de terror, se pone sonido tétrico,…

Empecemos.

Para poder usar efectos de sonido necesitamos primero crear una carpeta donde almacenarlos y luego una web desde donde descargarlos.

Para crear la carpeta, nos vamos en nuestra Raspi, abrimos el explorador de archivos, localizamos la carpeta del escritorio y ahí creamos una carpeta nueva (yo la he llamado sonidospi):

Ahora vamos a Pixabay, seleccionamos efectos de sonido, descargamos los que más nos gusten y movemos los archivos a la carpeta recién creada:

Para empezar a crear nuestra soundboard, necesitamos comprobar si Python puede reproducir algunas de las muestras que hemos descargado. Crea un archivo de código .py en la carpeta donde tienes los archivos de sonido. En el código que importa la librería Pygame, crea una variable para alojar cada uno de los audios y corre el programa, luego en la consola prueba cada una de ellas ejecutando:

tuvariabledesonido.play()

import pygame

pygame.init()

aplauso = pygame.mixer.Sound("aplauso.mp3")
grillos = pygame.mixer.Sound("grillos.mp3")
ola = pygame.mixer.Sound("ola.mp3")
risasTV = pygame.mixer.Sound("risasTV.mp3")
puertamacabra = pygame.mixer.Sound("puertamacabra.mp3")

A continuación, conectamos 4 botones de la manera que ya sabemos hacer. Apuntamos los 4 pines GPIO que estamos usando y creamos un botón en Python para cada uno de ellos:

import pygame
from gpiozero import Button

pygame.init()

aplauso = pygame.mixer.Sound("aplauso.mp3")
grillos = pygame.mixer.Sound("grillos.mp3")
ola = pygame.mixer.Sound("ola.mp3")
puertamacabra = pygame.mixer.Sound("puertamacabra.mp3")

boton_aplauso = Button(2)
boton_grillos = Button(3)
boton_ola = Button(4)
boton_puertamacabra = Button(14)

Finalmente, añadimos la lógica necesaria para que se lance cada sonido cuando se detecte la pulsación de cada botón:

import pygame
from gpiozero import Button

pygame.init()

aplauso = pygame.mixer.Sound("aplauso.mp3")
grillos = pygame.mixer.Sound("grillos.mp3")
ola = pygame.mixer.Sound("ola.mp3")
puertamacabra = pygame.mixer.Sound("puertamacabra.mp3")

boton_aplauso = Button(2)
boton_grillos = Button(3)
boton_ola = Button(4)
boton_puertamacabra = Button(14)

boton_aplauso.when_pressed = aplauso.play
boton_grillos.when_pressed = grillos.play
boton_ola.when_pressed = ola.play
boton_puertamacabra.when_pressed = puertamacabra.play

¡Disfruta de tu soundboard!

4. Cómo continuar

Estoy seguro que llegados a este punto ya habrás entendido lo tremendamente potente, versátil y útil que es este dispositivo, pero todavía puedes sorprenderte más.

Estos son usos muy habituales.

4.1. Asistente del hogar

Uno de los usos más populares de Raspberry Pi es convertirla en el cerebro de una vivienda inteligente.

Podemos crear sistemas capaces de:

  • Controlar luces automáticamente.
  • Detectar presencia.
  • Abrir puertas con reconocimiento facial,
  • Monitorizar el consumo eléctrico.
  • Gestionar cámaras de seguridad.

Muchos sistemas domóticos profesionales funcionan exactamente bajo esta filosofía: sensores que recogen información, software que toma decisiones y actuadores que modifican el entorno.

Herramientas como Home Assistant permiten convertir una Raspberry Pi en un auténtico centro de control doméstico.

4.2. Servicios web

Durante el curso hemos visto cómo un dispositivo puede actuar como servidor web. Con Raspberry Pi podemos llevar esa idea mucho más lejos.

Podemos convertirla en:

  • Servidor web personal.
  • Servidor de archivos.
  • Nube privada.
  • Servidor multimedia.
  • Sistema de copias de seguridad.
  • Plataforma para alojar páginas web o APIs.

Esto significa que podemos tener servicios funcionando las 24 horas consumiendo muy poca electricidad.

Muchos desarrolladores utilizan Raspberry Pi como laboratorio personal para aprender administración de sistemas y desarrollo web.

4.3. Robótica avanzada

Hasta ahora hemos utilizado sensores y actuadores relativamente sencillos. Sin embargo, Raspberry Pi permite trabajar con proyectos mucho más ambiciosos:

  • Robots autónomos.
  • Coches inteligentes.
  • Visión artificial.
  • Reconocimiento de objetos.
  • Seguimiento de líneas mediante cámaras.
  • Robots controlados por internet.

Gracias a su potencia, puede procesar imágenes en tiempo real utilizando librerías como OpenCV.

Eso nos acerca ya a la robótica utilizada en investigación e industria.

4.4. Inteligencia artificial

Actualmente muchas aplicaciones de inteligencia artificial pueden ejecutarse directamente en Raspberry Pi.

Por ejemplo:

  • Asistentes de voz.
  • Reconocimiento facial.
  • Detección de objetos.
  • Clasificación y generación de imágenes.
  • Generación de vídeo.
  • Creación de avatares consistentes.
  • Automatización inteligente.

Herramientas como OpenAI, Claude Code o Open Claw, permiten crear proyectos sorprendentemente avanzados con hardware muy pequeño.

Aquí se produce una conexión muy interesante entre programación, datos y automatización.

4.5. Centro multimedia y entretenimiento

Raspberry Pi también puede utilizarse para proyectos personales relacionados con el ocio.

Puede convertirse en:

  • Consola retro.
  • Centro multimedia.
  • Reproductor conectado a la televisión.
  • Sistema de streaming.
  • Servidor musical.

Sistemas como RetroPie o Kodi son enormemente populares dentro de la comunidad maker.

4.6. Aquí tienes algo de inspiración

Las posibilidades son ilimitadas. Cualquier cosa que se te ocurra se puede hacer. Para que lo veas con tus propios ojos, te dejo algunos ejemplos:


Espero que hayas aprovechado estos contenidos, que los repases y por supuesto, que los pongas en práctica en tu aula.

Si quieres compartir con nosotros tu experiencia, no dudes en dejar un comentario.

Ojalá tengamos la ocasión en el futuro de celebrar un curso monográfico de Raspberry Pi.

👋 Hasta la próxima, mucho éxito en tus clases.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *