[ca] En aquest projecte s'ha implementat un laboratori remot per permetre la interacció a distància amb la FPGA disponible a la placa de desenvolupament "Spartan-3 Starter Kit" de Xilinx. Per això, s'ha hagut de desenvolupar un servidor web que permet al client fer la connexió i interactuar amb la FPGA de manera no presencial, a través d'un navegador web. Al prototip implementat s'ha afegit un mètode d'autenticació per controlar l'accés a l'aplicació. Com a entorn de hardware del servidor web s'ha utilitzat la placa de desenvolupament ESP32-CAM, que disposa d'un microcontrolador de 32 bits de doble nucli. Aquesta placa també és la que s'ha fet servir per manipular l'estat de les entrades del sistema implementat sobre la placa Spartan-3. La programació del costat del client (front-end) ha estat realitzada emprant HTML, CSS i JavaScript, mentre que la programació del costat del servidor (back-end) s'ha realitzat a C, ja que es treballa directament sobre el microcontrolador present a la placa ESP32-CAM. Per poder observar visualment la resposta del sistema s'ha implementat també un servidor de streaming. Per això, s'ha utilitzat la càmera OV2640 de 2 Mp integrada a la mateixa placa ESP32-CAM, que permet la captació d'imatges per part del servidor de streaming. Tant el servidor web com el servidor de streaming es troben dins una xarxa privada, així que perquè el client pugui comunicar-se amb tots dos servidors, s'ha implementat un proxy invers que redirigeix ​​el trànsit que arriba al nostre sistema per la xarxa pública a la xarxa privada. Aquest servidor intermediari invers s'ha implementat amb NGINX. Finalment, s'ha dissenyat una placa de circuit imprès (PCB) fent servir KiCad per fer totes les connexions necessàries entre la placa ESP32-CAM i la Spartan-3 i aconseguir que el sistema funcioni adequadament.

[es] En este proyecto se ha implementado un laboratorio remoto para permitir la interacción a distancia con la FPGA disponible en la placa de desarrollo "Spartan-3 Starter Kit" de Xilinx. Para ello, se ha tenido que desarrollar un servidor web que permite al cliente hacer la conexión e interactuar con la FPGA de forma no presencial, a través de un navegador web. En el prototipo implementado se ha añadido un método de autenticación para controlar el acceso a la aplicación. Como entorno hardware del servidor web se ha utilizado la placa de desarrollo ESP32-CAM, que dispone de un microcontrolador de 32 bits de doble núcleo. Dicha placa también es la que se ha utilizado para manipular el estado de las entradas del sistema implementado sobre la placa Spartan-3. La programación del lado del cliente (front-end) ha sido realizada empleando HTML, CSS y JavaScript, mientras que la programación del lado del servidor (back-end) se ha realizado en C, ya que se trabaja directamente sobre el microcontrolador presente en la placa ESP32-CAM. Para poder observar de manera visual la respuesta del sistema se ha implementado también un servidor de streaming. Para ello, se ha utilizado la cámara OV2640 de 2 Mp integrada en la propia placa ESP32-CAM que permite la captación de imágenes por parte del servidor de streaming. Tanto el servidor web como el servidor de streaming se encuentran dentro de una red privada, así que para que el cliente pueda comunicarse con ambos servidores, se ha implementado un proxy inverso que redirige el tráfico que llega a nuestro sistema por la red pública a la red privada. Dicho proxy inverso se ha implementado con NGINX. Por último, se ha diseñado una placa de circuito impreso (PCB) empleando KiCad para hacer todas las conexiones necesarias entre la placa ESP32-CAM y la Spartan-3 y conseguir que el sistema funcione adecuadamente.