Programar fácil con Arduino

Programar fácil con Arduino, entiende cómo funciona el mundo.

  • Blog
  • ¿Quién soy?
  • Podcast
  • Curso Arduino [GRATIS]
  • Curso Domótica [GRATIS]
  • Acceder
Usted está aquí: Inicio / Blog / Raspberry Pi / Configurar un servidor web en Raspberry Pi con Flask

Configurar un servidor web en Raspberry Pi con Flask

Luis del Valle Hernández

Cuando estamos creando proyectos con Arduino ya sean para el IoT, para proyectos domóticos o para cualquier otra cosa, tarde o temprano necesitaremos un servidor web ya sea para almacenar los datos o simplemente para mostrarlos. Un servidor web no es más que un software y como tal, debe ser instalado en un hardware para que pueda funcionar. En este caso yo no tengo dudas, mi elección es Raspberry Pi. Por lo tanto en este artículo te voy a explicar cómo configurar un servidor web en Raspberry Pi. Mi elección es utilizar Flask.

Aunque yo lo llamaré servidor web, realmente se trata de un microframework para Python. Esta es una de sus ventajas, utiliza Python. Por lo tanto hereda la «diversión» y la facilidad de configuración de este lenguaje. Es muy sencillo empezar a ver resultados y además tiene toda la potencia que nos puede aportar otro tipo de servidores pero sin la necesidad de configuraciones infernales.

El hecho de que se llame microframework se debe a que no requiere de herramientas o librerías externas. Sin embargo, podemos añadir funcionalidades con extensiones. Vamos, lo ideal para comenzar poco a poco y ver enseguida resultados.

Configurar un servidor web en Raspberry Pi

Lo primero que debemos hacer antes de nada es tener a mano una Raspberry Pi. En mi caso y para este artículo, utilizo la versión 2 model B. La puedes encontrar por unos 41€ en Amazon, aunque también puedes comprar la versión 3 por el mismo precio. Tu decides.

El sistema operativo recomendado es Raspbian, el la web de Raspberry Pi puedes ver un tutorial de cómo instalarlo. Con esto ya tenemos todo lo necesario para empezar a instalar.

Paso 1: instalar los paquetes Flask

Abre un terminal de Linux en tu Raspberry Pi. También se conoce como línea de comandos. Escribe lo siguiente y pulsa enter.

1
sudo apt-get install python3-flask
instalar-flask-01

En un momento dado te preguntará ¿Deseas continuar?[S/n]. Aquí debes escribir S y enter.

instalar-flask-02

Ahora tienes que tener paciencia. Se tiene que descargar Flask e instalar y puede tardar un poco. Dependerá de tu conexión y de la versión de Raspberry Pi que estés utilizando. Al final debe aparecer algo parecido a esto.

instalar-flask-03

Paso 2: primera aplicación web básica

No voy a entrar en detalle de la configuración y las diferentes sentencias. Solo veremos aquello que es necesario para ver nuestra primera página web.

  1. Crea una carpeta para la aplicación. Te aconsejo que lo hagas en el escritorio de tu Raspberry Pi. La puedes llamar como quieras, no es importante.
  2. Vamos a empezar con el primer archivo en Python para hacer funcionar el sevidor así que, vete a Menu/Programación/Python 3 (IDLE).instalar-python-04Esto nos abrirá una Shell de Python que es muy útil para ir escribiendo sentencias sueltas y para ir viendo los mensajes que podemos abrir desde el código. Sirven sobre todo para debugar.
  3. Creamos un archivo nuevo en File/New File o pulsar Ctrl+N. Esto nos abrirá un editor nuevo y un archivo en blanco.
  • instalar-flask-05

Ahora vamos a guardar el archivo que hemos creado en el editor File/Save As … y le ponemos el nombre de app.py. Es importante tener en cuenta dos cosas, la extensión debe ser .py, para que se identifique como un archivo de Python y la carpeta donde lo guardemos es la que hemos creado al principio. Escribe el siguiente código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Importar el paquete Flask
from flask import Flask
 
# Inicializamos la aplicación
app = Flask(__name__)
 
# Ruta principal
@app.route('/')
def index():
    return 'Hola Mundo'
 
# Configuración básica
if __name__ == '__main__':
    # Activamos debug y configuramos para que sea accesible desde cualquier dispositivo
    app.run(debug=True, host='0.0.0.0')

Guardamos el archivo File/Save o pulsando Ctrl+s Volmemos al terminal de Linux. Vamos a la carpeta donde hemos guardado el archivo app.py. En mi caso es Desktop/WebPrueba. Lo hacemos con el siguiente comando.

1
cd Desktop/WebPrueba/
instalar-flask-07

Ahora ya podemos ejecutar la aplicación. Ya hemos terminado de configurar un servidor web en Raspberry Pi. En la misma terminal ejecutamos el siguiente comando.

1
python3 app.py
instalar-flask-08

Paso 3: probando la aplicación

Ya lo tenemos todo listo y podemos empezar a probar la aplicación. Es una página web muy sencilla. Al configurar un servidor web en Raspberry Pi, estamos permitiendo que otros dispositivos se conecten a esta máquina. Esto nos permitirá que, por ejemplo, un Arduino MKR1000, se conecte y nos envíe información.

Lo primero que debemos hacer es averiguar que IP tiene nuestra Raspberry Pi. Eso es fácil, abre un terminal y escribe el siguiente comando.

1
ifconfig

Esto te dará el siguiente resultado.

instalar-flask-09

Ahora ya podemos conectarnos desde cualquier dispositivo que esté conectado a la misma red. Aquí te dejo unos ejemplos desde diferentes dispositivos. Asegúrate de tener ejecutado el archivo que hemos creado antes app.py.

Y hasta aquí la primera parte de este tutorial. El objetivo, configurar un servidor web en Raspberry Pi. El resto será fruto de nuestra imaginación. En siguientes artículos te iré dando algunas ideas.

Motor-DC

Motor DC con Arduino y driver L298N o L293D

Muchos de los proyectos que deseamos realizar con nuestro Arduino pueden incluir algún tipo de movimiento y, probablemente la primera idea que se nos … [+ info...]

Zigbee-y-Home-Assistant

Zigbee y Home Assistant

En este artículo vamos a hacer hincapié en la integración de Zigbee y Home Assistant. Se podría decir que este artículo es una segunda parte de otro … [+ info...]

Panel-de-energia-en-home-assistant-1

Panel de energía en Home Assistant

Hola a todos, bienvenidos al podcast La "Tecnología para Todos". En este capítulo nos encontramos con Germán y José Manuel en una charla sobre paneles … [+ info...]

Copyright © 2022 · Programar Fácil · Aviso legal

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando, consideramos que acepta su uso.Aceptar Política de privacidad y cookies
Política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR