Raspberry Pi
Tutorial de Rapberry Pi en español.
- Juan Antonio Villalpando -
Volver al índice del tutorial
____________________________
1.- Instalación de Raspberry Pi en una tarjeta SdCard.
- Vamos a https://www.raspberrypi.com/software/
- Antes este sistema operativo se llamaba Raspbian, ahora se llama
Raspberry Pi OS.
- Bajamos el instalador para Windows, es un archivo llamado imager_1.7.2.exe de 20 MB.
- Lo ejecutamos y se crea un programa llamado Raspberry Pi Imager.
- CHOOSE OS. Elegimos Raspberry PI OS (32-bit)
Online - 0.8 GB download
- Obtendremos esta ventana:
- Aunque no es obligatorio en el momento de la instalación, es conveniente configurar algunos elementos como el WiFi y el teclado, para ello pulsamos el icono del tornillo (abajo-derecha). |
|
- Pulsamos en CHOOSE STORAGE y elegimos el USB donde tenemos nuestra SdCard.
- Pulsamos WRITE.
- En escribir y verificar tarda unos 15 minutos. Cuando termine el proceso saldrá el siguiente mensaje, pulsamos CONTINUE. Quitamos la SdCard y la insertamos en el Raspberry Pi.
2.- Arranque y escritorio remoto. VNC.
- Una vez arrancado el sistema operativo y suponiendo que hemos configurado previamente la red WiFi, vamos a activar el servidor de escritorio remoto VNC.
- Vamos al terminal y escribimos:
sudo raspi-config
3.- Cliente de escritorio remoto VNC en nuestro Windows.
- En nuestro ordenador debemos instalar un viewer
https://www.realvnc.com/es/connect/download/viewer/
- Si el puntero queda dentro de la ventana VNC y no puede salir, pulsa la tecla F8 "Relative Pointer Motion", "Movimiento relativo al puntero"
4. - Ver la IP del Raspberry.
Terminal |
pi@raspberrypi:~ $ hostname -I
192.168.1.12
|
5.- Instalación de Apache.
Apache |
pi@raspberrypi:~ $ sudo apt-get install apache2
|
- Escribimos en un navegador 127.0.0.1
- Esa página está localizada en: /var/www/html/index.html
- Para reiniciar el servicio:
sudo service apache2 restart
6.- Instalación de PHP.
PHP |
pi@raspberrypi:~ $ sudo apt install php libapache2-mod-php
|
- Vamos a crear esta página:
sudo nano /var/www/html/index.php
con este contenido:
/var/www/html/index.php |
<?php phpinfo ( ) ; ?> |
- Para guardar Ctrl-O.
- Pulsa Enter para Confirmar.
- Para Salir Ctrl-X
- Escribimos en un navegador web: 127.0.0.1/index.php
7.- Instalación de WiringPI para utilizar los GPIO desde el terminal o página web.
- Wiring Pi
- Bajé la versión WiringPi-2.61-1.tar.gz
https://github.com/WiringPi/WiringPi/releases/tag/2.61-1
Instalación de la librería Wiring Pi |
pi@raspberrypi:~ $ sudo su
root@raspberrypi:/home/pi# mkdir /home/pi/wiringPi
root@raspberrypi:/home/pi# cd /home/pi/wiringPi
root@raspberrypi:/home/pi/wiringPi# cp /home/pi/Downloads/WiringPi-2.61-1.tar.gz /home/pi/wiringPi/
root@raspberrypi:/home/pi/wiringPi# tar xfz WiringPi-2.61-1.tar.gz
root@raspberrypi:/home/pi/wiringPi# cd /home/pi/wiringPi/WiringPi-2.61-1
root@raspberrypi:/home/pi/wiringPi/WiringPi-2.61-1# ./build
|
- Se generará la librería WiringPi.
- Con esta líbrería podemos encender/apagar LED desde el Terminal.
ON/OFF LED GPIO26 desde el Terminal |
pi@raspberrypi:~ $ /usr/local/bin gpio -g mode 26 out
pi@raspberrypi:~ $ /usr/local/bin gpio -g write 26 0
pi@raspberrypi:~ $ /usr/local/bin/gpio -g write 26 1
|
8.- Editor Thonny Phyton IDE como root.
- Para editar los script de Phyton utilizaremos Thonny Phyton IDE. Vamos a configurarlo para trabajar como root.
- Pulsamos en el botón derecho del ratón en Thonny Phyton IDE. Properties. Desktop Entry y escribimos: sudo /usr/bin/thonny %F
10.- Encender/Apagar un LED desde una página web.
- Conectamos un LED al GPIO20
- [El pulsador lo veremos en otro código]
- Copiamos este archivo en /var/www/html/led.php
|
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Encendido y apagado de un LED.</title>
</head>
<body>
<center><h1>Control de un LED mediante página web</h1>
<form method="get" action="led.php">
<input type="submit" style = "font-size: 16 pt" value="OFF - Apagar" name="off">
<input type="submit" style = "font-size: 16 pt" value="ON - Encender" name="on">
</form></center>
<?php
shell_exec("/usr/local/bin/gpio -g mode 20 out");
if(isset($_GET['off']))
{
echo "LED OFF - Apagado";
shell_exec("/usr/local/bin/gpio -g write 20 0");
}
else if(isset($_GET['on']))
{
echo "LED ON - Encendido";
shell_exec("/usr/local/bin/gpio -g write 20 1");
}
?>
</body>
</html>
|
- Desde un navegador web podemos apagar/encencer el LED GPIO20
- Escribimos la IP del Rapsberry / led.php
11A.- Encender /Apagar un LED desde App Inventor.
p9B3_on_off_RaspBerry.aia
- LED en GPIO20
- El código de App Inventor lo utilizo para el LED y para un pulsador que veremos en el apartado siguiente.
_________________
- Diseño.
_________________
- Bloques.
_________________
- Raspberry.
|
<?php
$led= $_POST['datos'];
shell_exec("/usr/local/bin/gpio -g mode 20 out");
if($led == "on")
{
shell_exec("/usr/local/bin/gpio -g write 20 1");
echo "LED ON - Encendido";
}
if($led == "off")
{
shell_exec("/usr/local/bin/gpio -g write 20 0");
echo "LED OFF - Apagado";
}
?>
|
11B.- Consulta el estado de un pulsador desde App Inventor.
- Pulsador en GPIO24
- La aplicación es la misma que la del apartado anterior. p9B3_on_off_RaspBerry.aia
/var/www/html/pulsador.php
|
<?php
shell_exec("/usr/local/bin/gpio -g mode 24 in");
shell_exec("/usr/local/bin/gpio -g mode 24 up");
$boton = shell_exec("/usr/local/bin/gpio -g read 24");
$boton = trim($boton);
if($boton == "1")
{
echo "No Pulsado - Pushbutton UP";
}
else
{
echo "Pulsado - Pushbutton DOWN";
}
?>
|
___________________________________________________
|