Como configurar un servidor web flask en Raspberry Pi

Publicado por Loli Diéguez en

Debido a su pequeño tamaño, eficiencia energética y capacidad razonable de cálculo, la Raspberry Pi es un excelente servidor. Puedes configurar un servidor de vídeo utilizando Plex, Emby y OpenMediaVault, un servidor web que ejecute WordPress o tu propio servidor de fotos con OwnCloud. De manera similar, puedes hacer un servidor web Python en tu Raspberry Pi y Flask. En este articulo te mostraré como hacerlo.

¿Qué es Python? 

Python es un lenguaje de programación. Se utiliza para crear aplicaciones web y aplicaciones de escritorio por igual. Como lenguaje de programación general, Python sigue siendo uno de los mejores lenguajes de programación para principiantes y para expertos, día a día aumenta su popularidad. Combinado con Flask (microframework de Python) puedes crear tu propio servidor web.

 

Python

Esto será lo que necesitarás para configurar tu servidor web Raspberry Pi Python:

  • Una Placa Raspberry Pi
  • Fuente de alimentación micro USB de 5V
  • Tarjeta micro SD
  • Estuche o caja (opcional, recomendado)
  • Distribución de Linux instalada o NOOBS
  • Python instalado

 

Entremos en materia:

 

Cómo hacer un servidor web Python de Raspberry Pi

En primer lugar, conectate a la Raspberry Pi bien por escritorio o por SSH, en mi caso, lo haré por el escritorio, ahora abre una ventana de terminal de comandos para instalar Flask con el siguiente comando:

Sudo apt-get install python3-flask

Crea un directorio para el sitio web que vas a construir, para ello uso el siguiente comando:

mkdir webapp

Comprueba que el directorio se ha creado con el comando "ls"

 

flask en raspberry pi

 

Si la carpeta se creó bien, cambia de directorio y entra en ella:

cd webapp
    
    

     

    Directorio para web flask en python y raspberry pi

     

    Ahora crea un archivo de texto dentro de esta carpeta, usa el editor que más te guste, bien desde escritorio o desde el terminal de comandos con la aplicación nano (por ejemplo), recuerda grabarlo con la extension ."py". Yo lo llamaré app.py; en este archivo pondré las siguientes lineas de código:


    from flask import Flask
    app = Flask(__name__)
    @app.route('/')
    def index():
    return 'Hola Flask'
    if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0')

     

    El resultado tendría que ser algo parecido a esto:

    Hola Mundo en Flask

    Presione CTRL + O para guardar y CTRL + X para salir. Volveremos a la carpeta webapp de nuestro proyecto, en este momento ejecutamos el script de python que arrancará tu servidor web recién creado, y en el terminal de comandos escribe esto: 


    python3 app.py

     

    Y si todo ha ido bien deberás ver algo tal que así:

    Servidor Flask ejecutandose en Raspberry Pi

     

    Si ves lo mismo, querrá decir que tu servidor web con Flask ya esta funcionando, abre un explorador de internet en un equipo dentro de la misma red de tu Raspberry Pi y pon la direccion IP seguido del puerto 5000, de este modo:

    <IP de la Raspberry Pi>:5000

    El resultado que deberías obtener es este:

    Servidor Web Flask

    Tal como esta el scrip python, el código consta de solo una ruta, que es la página de inicio del sitio web, si quieres que la web tenga varias paginas añade las siguientes lineas de código a tu script python (en mi caso a app.py) para tener paginas a las que navegar según la URL que introduzcas. Ten en cuenta, que puedes realizar cambios dinamicamente mientras el servidor flask está ejecutándose, éste detectará los cambios que hagas y cuando cargues la página de nuevo reflejará las modificaciones que hagas.

    codigo para añadir navegacion a un servidor web en flask

     

    Compara las lineas de código de la imagen con lo que añadimos en el código al principio del articulo, verás que he añadido las siguientes lineas que son las que debes poner tu:


    @app.reoute('/otraweb')
    def otraweb ():
    return 'AQUI TIENES OTRA WEB'

    Con estas lineas añades otra web al servidor y si refrescas la web que abriste antes y añades /otraweb después del puerto, podrás ver que se muestra el nuevo texto que añadiste:

     

    Como ves, es muy sencillo configurar flask en Raspberry Pi, en próximos artículos explicaré como configurar plantillas HTML e incorporar botones para realizar acciones sobre la Pi desde otro portátil o PC.

    Espero que te guste y gracias por leerme.

     


    Compartir esta publicación



    ← Publicación más antigua Publicación más reciente →