top of page

MY RESEARCH BLOG

Buscar

CREAR UN SERVIDOR EN LA RASPBERRY PI.

Actualizado: 26 ene 2022

OBJETIVOS:

  • Instalar un servidor Web en la Raspberry Pi.

  • Crear una base de datos Mysql.

  • Aprender a usar PHPMyAdmin.

  • Crear una página para subir los datos con PHP.

  • Aprender cómo se suben los datos a la tabla.

PREPARANDO LA RASBBERRY PI

Para montar un servidor en la Raspberry necesitaremos tener instalado Raspbian, una conexión a Internet y tener asignada una IP estática.

A modo de resumen, para conectaros a Internet y tener una IP estática se tiene que editar el archivo interfaces:


sudo nano /etc/network/interfaces



Y dejarlo tal que así, pero con nuestro parámetros. En nuestro caso está conectada mediante Wifi:


auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet static address 192.168.0.100 netmask 255.255.255.0 gateway 192.168.0.1 wpa-ssid "Euskaltel-cs7A" wpa-psk "PX9BK7rA"




INSTALAR EL SERVIDOR WEB

Una vez hayamos configurado la IP estática podemos empezar a instalar el sevidor Web.


El tipo de servidor que vamos utilizar se denomina LAMP, que es un acrónimo de las herramientas que vamos a usar.

  • Linux como el sistema operativo. En nuestro caso Raspbian.

  • Apache como servidor web.

  • MySQL para gestionar la base de datos.

  • PHP como lenguaje de programación.


Lo primero que vamos a hacer es actualizar los repositorios y los programas de nuestra Raspi, este proceso nos va tardar poco.


sudo apt-get update sudo apt-get upgrade


A continuación instalaremos Apache:


sudo apt-get install apache2

Vamos a comprobar que funciona todo hasta el momento escribiendo la IP que hemos otorgado a la Raspberry, en nuestro caso es 192.168.0.100. Deberíais ver una página como esta:





Ahora que sabemos que estamos en el buen camino vamos a instalar PHP, un lenguaje de programación diseñado para crear sitios web dinámicos:


sudo apt-get install php7.0 libapache2-mod-php7.0

Cuando termine reiniciamos la Raspi:

sudo reboot

Cuando vuelva a arrancar, vamos a comprobar que efectivamente funciona correctamente PHP creando este archivo:

sudo nano /var/www/html/info.php

<?php phpinfo(); ?> Volvemos a abrir el navegador e introducimos la IP de la raspberry seguido de /info.php.



INSTALACIÓN Y CONFIGURACIÓN DE MYSQL Y PHPMYADMIN


En este punto vamos a instala MySQL, un sistema de gestión de bases de datos muy potente. Durante la instalación os pedirá una contraseña, aseguraros de recordarla. Cuando termine reiniciamos de nuevo la Raspberry.


sudo apt-get install mysql-server mysql-client php5-mysql

Una vez hayamos arrancado de nuevo vamos a instalar PHPMyAdmin. Esta herramienta escrita en PHP nos permite manejar la administración de MySQL a través de Internet de una forma relativamente sencilla.


sudo apt-get install php5-mysql phpmyadmin

Durante la instalación nos preguntará qué tipo de servidor estamos usando. que debemos indicar que Apache. A continuación le diremos que sí queremos configurar una base de datos y nos pedirá que introduzcamos la contraseña que pusimos al instalar MySQL. Además tendremos que elegir una contraseña para acceder a PHPMyAdmin.

Lo ideal es poner la misma contraseña en amabas intalaciones para despues no tener problemas que nos olvidamos.

Cuando haya terminado el proceso tenemos que editar el siguiente fichero para añadir al final del mismo Include /etc/phpmyadmin/apache.conf


sudo nano /etc/apache2/apache2.conf



Si todo ha ido bien y escribimos en el navegador la dirección IP de la Raspi seguida de /phpmyadmin se nos desplegara una pantalla en la que nos pedira las credenciales.

El usuario es root y la contraseña la que colocaron . En caso de que no funcione, reiniciad la Raspberry,



Ahora vamos a crear una base de datos. Para ello pulsamos donde pone “Nueva”. En la siguiente pantalla pondremos el nombre que elijamos, como nosotros la vamos a usar para subir los datos de un sensor de temperatura DHT11 le llamaremos de esa de esa forma. En cotejamiento seleccionamos “utf8_general_ci” y pulsamos “Crear”.




Si ahora seleccionamos en el menú desplegable de la izquierda la base de datos que hemos creado nos dará la opción de crear una tabla. Nosotros vamos a crear una tabla llamada valores y que tendrá 4 campos.




Los 4 campos serán:

  • ID: identificador del registro. Será la clave primaria y marcaremos la casilla de auto incremento.

  • Tiempo: este campo almacenará la fecha y la hora en que se ha tomado la muestra. El tipo sera TIMESTAMP y su valor por defecto CURRENT_TIMESTAMP.

  • Temperatura: en este campo se almacenará el valor de la temperatura del sensor. Será de tipo INT.

  • Humedad: este campo almacenará el valor de la humedad del sensor. Será de tipo INT


CREAR LA PÁGINA PARA SUBIR VALORES A LA BASE DE DATOS


Para poder subir datos al servidor tenemos que crear una página con PHP. Para ello necesitamos crear dos archivos. Al primero de ellos lo llamaremos config.php y tendrá la la información necesaria para establecer la conexión con la base de datos que hemos creado. El segundo , dht11.php, es la página que usaremos para subir los datos. Los creamos y los editamos para dejarlo como estos, pero cambiando Prometec por la contraseña que hayáis elegido.


sudo nano /var/www/html/config.php

<?php // config.php // Credenciales $dbhost = "localhost"; $dbuser = "root"; $dbpass = "Prometec"; $dbname = "DHT11"; //Conexion con la base de datos $con = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname); ?>



Luego control X, Guardamos enter


Luego creamos el otro archivo: sudo nano /var/www/html/dht11.php


sudo nano /var/www/html/dht11.php


<?php

// dht11.php

//Importamos la configuracion

require("config.php");

// Leemos los valores que nos llegan por GET

$Temperatura = mysqli_real_escape_string($con, $_GET['Temperatura']);

$Humedad = mysqli_real_escape_string($con, $_GET['Humedad']);

// EInsertamos los valores en la tabla

$query = "INSERT INTO Valores(Temperatura, Humedad) VALUES('$Temperatura','$Humedad')";

// Ejecutamos la instruccion

mysqli_query($con, $query);

mysqli_close($con);

echo "Pagina para subir los datos<br />";

echo "<br />Temperatura = $Temperatura ºC<br />";

echo "<br />Humedad = $Humedad %<br />";

?> Control x, guardamos, enter


Y ahora sólo nos queda probar que funciona. Para ello vamos a subir un par de datos de temperatura y humedad a mano desde el navegador, por ejemplo 25ºC y 50% de humedad. La forma de hacerlo es poniendo la IP de la Raspberry, seguido de /dht11.php?Temperatura=25&Humedad=50

Si todo ha va como debería, veréis una página como esta:




por supuesto estos datos deberían reflejarse en la tabla “Valores” que hemos creado dentro de la base de datos “DHT11”. Para comprobarlo abrimos PHPMyAdmin y en el menú desplegable de la izquierda abrimos “DHT11” y seleccionamos “Valores”. los primeros datos en la tabla, que son ,ni más ni menos, los que hemos subido de ejemplo.



En esta sesión hemos aprendido varias cosas importantes:

  • Hemos montado un servidor en la Raspberry usando Apache.

  • Instalamos PHP para poder crear contenido dinámico.

  • Creamos una base de datos usando MySQL.

  • Instalamos PHPMyAdmin para poder administrar la base de datos desde Internet de forma sencilla.

  • Creamos una base de datos nueva y una tabla para subir valores.

  • Hemos creado una página usando PHP para subir los valores a la tabla.








421 visualizaciones0 comentarios

Entradas Recientes

Ver todo

Comments


bottom of page