Raspberry Pi y sus
aplicaciones en el aula
1
Introducción
Sobre el curso, sobre mi y sobre vosotros
Sobre el curso
Qué es y de donde viene el proyecto Raspberry Pi
Puesta en marcha de un sistema
Uso de este dispositivo en el aula
Proyectos y ejemplos de uso
¿Quien soy yo?
Héctor Alonso del Bosque
[email protected] @hector6598
➔ Técnico superior de telecomunicaciones
➔ Técnico superior en administración de sistemas informáticos en red
➔ 6 Años de experiencia como administrador de sistemas
➔ Co-Autor del Libro - “Raspberry Pi para Hackers & Makers” de 0xWord
➔ 3 Años de experiencia como técnico electrónico en Mahle Ebikemotion
➔ Auditor de seguridad de desarrollo en Telefónica Eleven Paths
➔ Fundador de la empresa Wixet
➔ Sobre todo … FRIKI !
2
¿Qué es Raspberry Pi?
Inicios y trayectoria
Un poco de historia...
En el 2006 se diseña el primer borrador de lo que será Rpi
2009 Se funda la Raspberry Foundation
2011 Placas Alfa de desarrollo
2012 Lanzamiento de la primera Raspberry
2021 Lanzamiento de Raspberry Pico con SoC propio
Los orígenes
Raspberry Pi Alfa Raspberry pi B Rev1
3
Uso didáctico en el centro
Ideas donde poderse inspirar
Proyecto GameGear
Ordenador impreso en 3D
https://learn.adafruit.com/mini-mac-pi
Devolviendo la vida a
ordenadores
https://www.youtube.com/watch?v=5UBRUyofiiU&feature=em
b_title
Pwngatochi
https://pwnagotchi.ai/
Robótica y automatismos
https://projects.raspberrypi.org/en/projects/build-a-buggy/4
https://www.instructables.com/SmartPost-Smart-Postal-Pac
kage-Locker/
https://www.youtube.com/watch?v=UFHfK1ZDFtY&t=6s
Servidores de bajo coste
https://octoprint.org/
https://pi-hole.net/
https://openwrt.org/
Joy-IT y EduBlocks
https://joy-it.net/en/products/rb-joypi
https://app.edublocks.org/
4
Versiones disponibles
La evolución de un proyecto
Raspberry Pi 4
Raspberry Pi CM
Raspberry Pi CM
Raspberry Pi CM
Raspberry Pi CM
Raspberry Industrial
Raspberry 400
https://www.youtube.com/watch?v=ZSvHJ97d8n8
Raspberry Zero
Raspberry Pico
5
Especificaciones y precios
¿Qué necesito en mi proyecto?
Raspberry Pi 1
CPU Single Core 700 MHz
RAM 256 Mb
WiFi / BT NO
Ethernet NO (De serie)
USB 1 USB 1.0
Alimentación 5V / 2A
GPIO 26
Raspberry Pi 2 B
CPU Quad Core 900 MHz
RAM 1Gb
WiFi / BT NO
Ethernet SI (10/100mbps))
USB 4 USB 2.0
Alimentación 5V / 2A
GPIO 40
Raspberry Pi 3 B+
CPU Quad Core 1200 MHz
RAM 1Gb
WiFi / BT SI - BT 4.1 y Dual band 2.4 y
5GHz
Ethernet SI (10/300mbps))
USB 4 USB 2.0
Alimentación 5V / 3A
GPIO 40
Raspberry Pi 4 B
CPU Quad Core 1500 MHz
(64bits)
RAM 2Gb / 4Gb / 8Gb
WiFi / BT SI - BT 5.0 y Dual band 2.4
y 5GHz
Ethernet SI (10/100/1000 mbps
“teóricos”)
USB 2 USB 2.0 / 2 USB 3.0
Alimentación 5V / 3A
GPIO 40
Raspberry Pi 400
CPU Quad Core 1800 MHz
(64bits)
RAM 4Gb
WiFi / BT SI - BT 5.0 y Dual band 2.4
y 5GHz
Ethernet SI (10/1000 mbps “teóricos)
USB 1 USB 2.0 / 2 USB 3.0
Alimentación 5V / 3A
GPIO 40
Raspberry Pico
CPU Dual Core 133 MHz
RAM 264Kb SRAM / 2 MB Flash
WiFi / BT NO
Ethernet NO
USB Soporte USB 1.1 modo host
y device
Alimentación 5V / 3.3 V
GPIO 26
6
Alternativas
Por si fueran pocas...
Orange Pi CPU 6 Core 2000MHz
RAM 4Gb / 16Gb Flash
WiFi / BT BT 5.0 / Wifi 2.4/5 GHz
Ethernet 10/100/1000mbps
USB 2 USB 2.0 / 1 USB 3.0 / 1
USB 3.0 Tipo C
Alimentación 5V / 3.A
GPIO GPIO1 - 40 / GPIO1 - 26
Precio En torno a los 75€
http://www.orangepi.org/
Beagle Bone CPU Cortex A8 / 1 GHz
RAM 512Mb / 4Gb Flash
WiFi / BT NO
Ethernet 10/100mbps
USB USB Modo cliente y
anfitrion
Alimentación 5V / 3.A
GPIO 2 x 46 pines
Precio En torno a los 38€
https://beagleboard.org/black
Atomic PI CPU Atom x86 1.92 GHz
RAM 2 - 16Gb Flash
WiFi / BT SI 2.4 / 5GHz / BT sin
antena
Ethernet 10/100/1000 mbps
USB USB 2.0 / USB 3.0 / Tipo C
con Display port
Alimentación 5V / 3.A
GPIO 40 pines
Precio Descontinuada pero en torno a 77€
https://raspberryparatorpes.net/rivales/sobre-la-atomic-pi/
7
Materiales
Vamos a preparar la lista de la compra
Tarjeta Micro SD
Precio Unos 15 a 20€
https://blog.330ohms.com/2020/05/27/como-seleccionar-la-microsd-de-mi-r
aspberry-pi/
Adaptador de corriente
Precio Unos 12€
Cableados
Precio Unos 10€
Accesorios
Precio Muy variable
8
Conexiones
Interactuando con nuestra Raspi
pinout.xyz
https://github.com/splitbrain/rpibplusleaf
Ejemplos uso GPIO
https://raspberrypihq.com/use-a-push-button-with-r
aspberry-pi-gpio/
https://www.comohacer.eu/gpio-raspberry-pi/
9
Sistemas Operativos
No hay hardware sin su software
Raspberry PI OS (Raspbian)
https://www.raspberrypi.org/software/operating-syst
ems/
Ubuntu
https://ubuntu.com/download/raspberry-pi
Windows 10
https://www.worproject.ml/downloads
LibreELEC
https://libreelec.tv/
Retropie
https://retropie.org.uk/
10
Puesta en marcha
“Hello Word” Raspberry
Instalación de la imagen
https://www.raspberrypi.org/software/
Instalación de la imagen
https://www.raspberrypi.org/software/
Instalación de la imagen
Instalación de la imagen
Acceso al sistema sin pantalla
Creamos en la
partición Boot un
fichero llamado ssh
Acceso al sistema sin pantalla
Aceptamos el aviso
que nos aparece
Acceso al sistema sin pantalla
Arrancamos la Raspberry y
usamos un programa SSH para
conectarnos donde previamente
debemos conocer la IP de la
misma que podemos ver en la
página de gestión del router.
https://www.putty.org/
Acceso al sistema sin pantalla
Aceptamos el aviso
que nos aparece y
accedemos con el
usuario ‘pi’ y la
contraseña ‘raspberry’
Acceso al sistema sin pantalla
Ejecutamos el
comando
‘sudo raspi-config’
para activar el acceso
por VNC.
Acceso al sistema sin pantalla
En la opción 3 Interface
options podremos
activar el servidor VNC.
Acceso al sistema sin pantalla
En la opción 3 Interface
options podremos
activar el servidor VNC.
Acceso al sistema sin pantalla
Con la IP de la Raspberry podremos
conectarnos de manera remota y manejar
nuestra Raspberry con un solo teclado y ratón
Clonando el
sistema
● Raspberry Pi Imager
Instalar Raspberry Pi Imager
Abrimos el menú
principal de programas
y en “Preferencias”
pulsaremos sobre
“Add/Remove
Software”
Instalar Raspberry Pi Imager
Buscaremos el software “rpi-imager”
para proceder a su instalación
Ejecutar Raspberry Pi Imager
Desde el menú
principal de programas
y en “Accesorios”
pulsaremos sobre
“Imager”
Ejecutar Raspberry Pi Imager
En el programa ya
podremos elegir
directamente el
sistema operativo a
instalar y la tarjeta SD
donde hacerlo
Conectando por
WIFI
● Habilitar la tarjeta Wifi
● Indicar el país de conexión
● Realizar la conexión
Habilitar la tarjeta wifi
Pulsamos sobre el
icono de Wifi de la
Raspberry que nos
indicará que podemos
habilitar la conexión
WIFI
Indicar país de conexión
De nuevo pulsamos
sobre el icono de Wifi
de la Raspberry para
indicar el país donde
nos encontramos
Realizar la conexión
Ahora al pulsar sobre el
icono de Wifi veremos
que escanea las redes
disponibles y nos
podemos conectar a la
que necesitemos
Realizar la conexión
Ahora al pulsar sobre el
icono de Wifi veremos
que escanea las redes
disponibles y nos
podemos conectar a la
que necesitemos
Instalando
software
● Ofimatica
● Navegador
● Scratch
● Arduino
Modo gráfico
Como hemos visto
anteriormente
únicamente tenemos
que acceder al gestor
de paquetes para
realizar la instalación
Modo texto
También podremos
instalar programas
usando el terminal
mediante texto usando
el comando ‘apt’
Modo descarga
Al igual que en Windows descargando
un instalador en este caso asegurando
que sea para ARM
Modo descarga
Una vez descargado
extraemos el contenido
en una carpeta pulsando
sobre “Extraer aquí”
Modo descarga
Entramos a la carpeta que se nos
crea y pulsamos F4 para abrir un
terminal
Modo descarga
Una vez en el terminal ya podremos ejecutar el
fichero .sh o .deb para proceder con la
instalación en el caso de .sh usaremos ‘sudo
./****.sh’ y si es .deb ‘dpkg -I *****.deb’
Modificando el
sistema
● Paneles
● Fondos
● Preferencias
Paneles
Se trata de las conocidas como barra de
tareas en Windows solo que aquí podremos
darles más utilidades incluso crear nuevas
Fondos
Al igual que la mayoría de sistemas
operativos podremos cambiar los fondos de
pantalla de una manera sencilla
Preferencias visuales
Por último podremos variar y adecuar los
colores a nuestros gustos o necesidades de
una manera simple desde el gestor de
apariencia.
Gestión de
usuarios
● Estructura de usuarios
● Cambiar contraseña root
● Crear usuario normal y administrador
● Eliminar usuarios
Estructura de usuarios
Se trata de una jerarquía
donde el usuario
principal es el root ,
después están los
administradores que se
encuentran en el sudoers
y finalmente los usuarios
sin privilegios
Cambio de contraseña usuario PI - Modo gráfico
Iremos al apartado de
“Preferencias” y
posteriormente al
apartado de
“Configuración de
Raspberry PI”
Cambio de contraseña usuario PI - Modo híbrido
Abrimos el terminal y
pulsamos el comando
“sudo raspi-config” que
nos abre el gestor de
configuración y entramos
al apartado 1.
Cambio de contraseña usuario PI - Modo híbrido
Pulsamos sobre el punto
S3 para acceder al
cambio de contraseña y
nos avisa el sistema que
se nos preguntará por la
nueva contraseña.
Cambio de contraseña usuario PI - Modo híbrido
Introducimos la
contraseña dos veces
para asegurar que el
cambio se realiza
correctamente como
vemos en el último
mensaje
Cambio de contraseña usuario PI - Modo terminal
Para este método
únicamente abriremos el
terminal de nuestra
Raspberry y escribimos el
comando:
“passwd” y escribimos la
contraseña actual y
después dos veces la que
queremos poner.
Cambio de contraseña ROOT
Para proceder con el cambio de
contraseña de root primero
debemos acceder a ese usuario
mediante “sudo -s” y en ese
momento veremos que cambia el
aspecto de nuestro terminal y
tecleamos el comando “passwd”
igual que en otros usuarios
Es importante configurar esta contraseña al poner en
marcha nuestra Raspberry ya que no viene configurada
por defecto.
Crear usuarios
Para crear usuarios debemos
usar el terminal y en él
únicamente tecleamos
“sudo adduser NOMBRE”
entonces se nos pedirá cierta
información del usuario para
que el sistema lo pueda dar
de alta.
Crear usuarios
Una vez creado si deseamos
que pueda ser utilizado en el
entorno gráfico debemos
habilitarlo mediante el
comando “ sudo
raspi-config” y en la opción 1
iremos a la opción S5 y
después la opción B3 y
reiniciamos el sistema.
Crear usuarios
Veremos entonces que al
iniciar se nos pide el usuario
que deseemos usar y su
contraseña. Además de que
cada usuario tendrá su
propio escritorio con una
configuración diferente.
Crear usuarios administradores
Podemos ver que si
queremos usar el comando
sudo con el usuario que
hemos creado no vamos a
poder ya que no tiene
permisos de administración.
Crear usuarios administradores
Primero debemos pasar a tener el
usuario Root para ello usamos el
comando “ su root” y la contraseña
de root que hemos configurado.
Posteriormente tecleamos el
comando “visudo” para añadir
nuestro usuario debajo del de root
copiando la misma información
que la de root. Para salir pulsamos
Ctrl+x y aceptamos.
Eliminar usuarios
Eliminar usuarios es muy
sencillo y únicamente
debemos usar el
comando
“sudo deluser USUARIO”
11
Uso de GPIO con Scratch
Introducción a su uso en el aula
Características
GPIO
● Orden de los pines
● Caracterísiticas técnicas
Orden de los pines
Para usar la GPIO es importante siempre asegurarse del orden y nombre
del Pin al que conectaremos las cosas ya que existe la nomenclatura GPIO
y BCM en la Raspberry.
pinout.xyz
https://github.com/splitbrain/rpibplusleaf
Comando pinout
Podemos ver esta misma
información desde el
terminal usando el
comando ‘pinout’
Características técnicas
● 40 pines de conexión y 26 entradas/salidas
● Tensiones de 3.3v y 5V
● Puertos sin protección
● Solo admite lecturas digitales
● Intensidad de trabajo de 50mA en 3.3V
● Conexiones Serie, I2C, SPI…
● Posibilidad de usarse con varios lenguajes
● Permiten el uso de PWM en algunos pines
Manejo de
Scratch
● Visión general del programa
● Instalación del plugin para manejo de GPIO
● “Hola mundo” en Scratch
● Manejo de GPIO con Scratch
Visión general del programa
Se trata de un interfaz muy sencillo con pocas
opciones donde prima la facilidad de
utilización
Instalación del plugin
Únicamente deberemos
pulsar sobre el icono azul
de la esquina inferior
izquierda para acceder a
los plugin disponibles y
pulsar sobre el
“Hola mundo” en Scratch
Vamos a realizar el programa más
sencillo que podemos hacer donde
encendemos un led simplemente.
Debemos saber que el circuito
usado usa los siguientes pines:
● Pulsador → GPIO 25
● Led verde → GPIO 10
● Led Rojo → GPIO 9
Manejo de GPIO - Parpadeo
Con este programa haremos que
nuestro led haga un parpadeo con
una cadencia de 1 segundo de
manera indefinida
Debemos saber que el circuito
usado usa los siguientes pines:
● Pulsador → GPIO 25
● Led verde → GPIO 10
● Led Rojo → GPIO 9
Manejo de GPIO - Pulsador
Veremos cómo para usar el
pulsador debemos configurar como
entrada el pin de la GPIO
Debemos saber que el circuito
usado usa los siguientes pines:
● Pulsador → GPIO 25
● Led verde → GPIO 10
● Led Rojo → GPIO 9
11
Clonado de tarjetas
Clonado de tarjetas para un uso sencillo en el aula
Clonado y copia de seguridad
Para este proceso tendremos la
opción de hacerlo desde RaspiOS
usando el software preinstalado
“SD Card Copier”
En el que únicamente marcaremos
el dispositivo fuente y el dispositivo
destino.
Clonado y copia de seguridad
Pero si queremos realizar una copia
de seguridad de nuestra tarjeta
podremos hacerlo desde Windows
también mediante el software
Win32 Disk Imager.
https://sourceforge.net/projects/win
32diskimager/
Clonado y copia de seguridad
Una vez seleccionado el nombre
que queremos dar a nuestra copia
solamente debemos pulsar sobre el
botón de “Read”
Clonado y copia de seguridad
Para volcar esa imagen en otra
tarjeta solamente debemos
seleccionarla y pulsar sobre
“Write” una vez seleccionada la
unidad donde queremos volcarla.
¡Gracias!
¿Preguntas?
Métodos de contacto:
@hector6598
[email protected]
Credits
Special thanks to all people who made and
share these awesome resources for free:
Presentation template designed by Slidesmash
Photographs by pexels.com and unsplash.com
Presentation Design
This presentation uses the following typographies and colors:
Free Fonts used:
https://www.fontsquirrel.com/fonts/Nixie-One
https://www.fontsquirrel.com/fonts/nunito
Colors used