Publicación: Configuración de un Servidor Web en Raspberry Pi para la Gestión de Identificación de Mascotas
| dc.contributor.advisor | Rodríguez Rodríguez, Ronald Steven | |
| dc.contributor.author | Rueda Forero, John Alvaro | |
| dc.contributor.jury | Mora Martínez, Sergio Francisco H. | |
| dc.contributor.jury | González Bustamante, Ricardo Alirio | |
| dc.date.accessioned | 2026-03-19T21:06:18Z | |
| dc.date.available | 2026-03-19T21:06:18Z | |
| dc.date.issued | 2025-11-04 | |
| dc.description.abstract | El presente proyecto de investigación aplicada aborda la configuración e implementación de un servidor web completo en una plataforma Raspberry Pi, específicamente orientado al desarrollo de un sistema integral de gestión de identificación de mascotas. La solución tecnológica desarrollada integra de manera innovadora las tecnologías de códigos QR y tarjetas RFID, proporcionando múltiples alternativas de identificación para animales domésticos. La arquitectura del sistema se fundamenta en tecnologías web modernas, implementando un frontend desarrollado en Angular 18 que proporciona una interfaz de usuario intuitiva y responsiva, un backend robusto construido con .NET Core 8.0 que gestiona la lógica de negocio y las operaciones de datos, y una base de datos PostgreSQL 16 que garantiza la persistencia e integridad de la información. La plataforma completa se despliega sobre Ubuntu Server 24.04 LTS, utilizando Nginx como servidor web y proxy reverso. La investigación demuestra la viabilidad técnica y económica de implementar soluciones web empresariales utilizando hardware de bajo costo, específicamente la Raspberry Pi, sin comprometer la funcionalidad, seguridad o rendimiento del sistema. Los resultados obtenidos confirman que es posible desarrollar aplicaciones web profesionales que manejen autenticación JWT, operaciones CRUD complejas, generación dinámica de códigos QR e integración con dispositivos RFID, todo ejecutándose de manera estable en un dispositivo embebido. El sistema resultante permite a los propietarios de mascotas registrar información detallada de sus animales, generar códigos QR personalizados para identificación, asignar y gestionar tarjetas RFID, y acceder a la información a través de una plataforma web accesible desde cualquier dispositivo con conexión a internet. Esta solución contribuye significativamente a la problemática de identificación animal, proporcionando una alternativa tecnológica accesible y escalable. Palabras clave: Raspberry Pi, servidor web embebido, identificación animal, códigos QR, RFID, Angular, .NET Core, PostgreSQL, sistemas embebidos. | spa |
| dc.description.abstract | This applied research project addresses the configuration and implementation of a complete web server on a Raspberry Pi platform, specifically aimed at the development of an integrated pet identification management system. The technological solution developed innovatively integrates QR code and RFID card technologies, providing multiple identification alternatives for domestic animals. The system architecture is based on modern web technologies, implementing a frontend developed in Angular 18 that provides an intuitive and responsive user interface, a robust backend built with .NET Core 8.0 that manages business logic and data operations, and a PostgreSQL 16 database that ensures data persistence and integrity. The entire platform is deployed on Ubuntu Server 24.04 LTS, using Nginx as a web server and reverse proxy. The research demonstrates the technical and economic feasibility of implementing enterprise web solutions using low-cost hardware, specifically the Raspberry Pi, without compromising system functionality, security, or performance. The results obtained confirm that it is possible to develop professional web applications capable of handling JWT authentication, complex CRUD operations, dynamic QR code generation, and integration with RFID devices, all running stably on an embedded device. The resulting system allows pet owners to register detailed information about their animals, generate customized QR codes for identification, assign and manage RFID cards, and access information through a web platform available from any device with an internet connection. This solution significantly contributes to the challenge of animal identification by providing an accessible and scalable technological alternative. Keywords: Raspberry Pi, embedded web server, animal identification, QR codes, RFID, Angular, .NET Core, PostgreSQL, embedded systems. | eng |
| dc.description.degreelevel | Pregrado | |
| dc.description.degreename | Ingeniero en Electrónica | |
| dc.description.tableofcontents | RESUMEN INTRODUCCIÓN PLANTEAMIENTO DEL PROBLEMA 1.1. Descripción del Problema 1.2. Formulación Del Problema MARCO DE REFERENCIA DE LA INVESTIGACIÓN 2.1. Marco Teórico Fundamentos de Servidores Web Embebidos Tecnologías de Identificación Arquitecturas Web Raspberry Pi como Plataforma de Desarrollo Tecnologías de Desarrollo Frontend Tecnologías de Desarrollo Backend Bases de Datos y Persistencia Redes y Conectividad ESTADO DEL ARTE Raspberry Pi como plataforma para servidores web RFID en identificación animal y sistemas de asistencia Raspberry Pi en sistemas de seguridad y control de acceso Visión por computadora e identificación animal Bases de datos y gestión de información Tendencias actuales y vacíos de investigación OBJETIVOS 4.1. Objetivo General 4.2. Objetivos Específicos DISEÑO METODOLÓGICO Enfoque y tipo de estudio Población y muestra Técnicas e instrumentos de recolección de datos Procedimiento TIPO DE INVESTIGACIÓN Investigación aplicada Investigación experimental FUNDAMENTOS Fundamentos de Raspberry Pi y sistemas embebidos Fundamentos de identificación por radiofrecuencia (RFID) Fundamentos de bases de datos y persistencia Fundamentos de arquitecturas web Fundamentos de conectividad y seguridad DESARROLLO E IMPLEMENTACIÓN 8.1. Configuración del Entorno Embebido en Raspberry Pi 8.1.1. Especificaciones Técnicas del Hardware 8.1.2. Instalación y Configuración del Sistema Operativo 8.1.3. Configuración e Implementación de la Base de Datos 8.1.4. Diseño del Modelo de Datos 8.2. Desarrollo del Backend en .NET Core 8.2.1. Arquitectura por Capas 8.2.2. Estructura del proyecto 8.2.3. Implementación de la API REST 8.2.4. Autenticación y Seguridad 8.2.5. Configuración de Despliegue del Backend 8.3. Desarrollo del Frontend en Angular 8.3.1. Configuración del Proyecto Angular 8.3.2. Sistema de Rutas y Navegación 8.3.3. Tecnologías y Bibliotecas Utilizadas 8.3.4. Despliegue del Frontend 8.4. Integración con Hardware RFID 8.4.1. Configuración del Módulo RC522 8.4.2. Implementación del Firmware del Microcontrolador 8.4.3. Características Técnicas de la Implementación 8.4.4. Integración Software-Hardware mediante HID 8.4.5. Configuración del Entorno de Desarrollo RESULTADOS Y EVIDENCIAS 9.1. Arquitectura Del Sistema 9.1.1. Componentes del Sistema y Sus Interacciones 9.2. Diagramas de Secuencia 9.3. Evidencias del Funcionamiento 9.3.1. Interfaces de Usuario (Frontend) 9.3.2. API REST del Backend 9.3.3. Base de Datos - Estructura y Datos 9.3.4. Integración Hardware-Software 9.4. Análisis de Capacidad y Rendimiento del Sistema CONCLUSIONES REFERENCIAS BIBLIOGRÁFICAS ANEXOS ÍNDICE DE FIGURAS Figura 1: Configuración Inicial en Raspberry Pi Figura 2: Configuración del Firewall UFW en Raspberry Pi Figura 3: Conexión por SSH Figura 4: Estructura de Directorios del Proyecto SIGECHIP Figura 5: Configuración del Servidor Web en Raspberry Pi Figura 6: Configuración de Seguridad Túnel Cloudflare Figura 7: Instalación y Configuración de la Base de Datos PostgreSQL Figura 8: Configuración de la Base de Datos del Proyecto Figura 9: Configuración para Acceso Externo al Sistema Figura 10: Tabla Propietario Figura 11: Tabla Mascota Figura 12: Tabla Tarjetas RFID Figura 13: Tablas de Referencia Figura 14: Relaciones y Claves Foráneas Figura 15: Estructura proyecto Backend Figura 16: Capa de Dominio - Entidad Mascota Figura 17: Controlador de Mascotas - API REST Figura 18: Configuración JWT para Autenticación Figura 19: Configuración del Archivo appsettings.json Figura 20: Instalación del Runtime .NET Core Figura 21: Configuración del Servicio Systemd Figura 22: Archivo de Configuración sigechip.service Figura 23: Activación y Gestión del Servicio Figura 24: Despliegue de Archivos del Backend Figura 25: Configuración del Proyecto Angular - package.json Figura 26: Estructura Modular del Frontend Angular Figura 27: Configuración de Rutas (app.routes.ts) Figura 28: Servicio de Mascotas - Comunicación con API Figura 29: Servicio de Tarjetas RFID Figura 30: Compilación para Producción del Frontend Figura 31: Configuración de Entornos Angular Figura 32: Transferencia y Configuración en Servidor Figura 33: Conexiones STM32F103C9T6 y RC522 Figura 34: Estructura proyecto Mbed LectorRFID Figura 35: Código Principal del Microcontrolador (main.cpp) Figura 36: Continuación del Código Principal (main.cpp) Figura 37: Especificaciones Técnicas del Sistema RFID Figura 38: Captura de Datos RFID en Frontend Angular Figura 39: Configuración del Proyecto Mbed Studio Figura 40: Modelo arquitectura de componentes Figura 41: Diagrama de Secuencia login Figura 42: Pantalla de Login del Sistema Figura 43: Pantalla de Login del Sistema modo celular Figura 44: Dashboard Principal con Carousels Informativos Figura 45: Gestión de Mascotas - Vista de Tarjetas Figura 46: Formulario de Registro y Edición de Mascota Figura 47: Interfaz de Asignación de Tarjetas RFID Figura 48: Formulario de Gestión de Propietarios Figura 49: Generación de Códigos QR con Datos de Contacto Figura 50: Endpoints de Autenticación JWT Figura 51: Endpoints de Gestión de Mascotas Figura 52: Endpoints de Gestión de Propietarios Figura 53: Endpoints de Gestión de Tarjetas RFID Figura 54: Endpoints de Especies de Mascotas Figura 55: Endpoints de Razas por Especie Figura 56: Endpoints de Géneros de Mascotas Figura 57: Endpoints de Tipos de Documento Figura 58: Ejemplo de Respuesta JSON - Lista de Razas Figura 59: Diagrama Entidad-Relación de la Base de Datos Figura 60: Hardware RFID - Conexión RC522 y Bluepill Figura 61: Integración Completa del Sistema RFID Figura 62: Diagrama de Secuencia - Flujo de Identificación RFID Figura 63: Prueba de Carga Figura 64: Resultado de la Prueba de Carga | spa |
| dc.description.tableofcontents | ABSTRACT INTRODUCTION PROBLEM STATEMENT 1.1. Problem Description 1.2. Problem Formulation RESEARCH REFERENCE FRAMEWORK 2.1. Theoretical Framework Fundamentals of Embedded Web Servers Identification Technologies Web Architectures Raspberry Pi as Development Platform Frontend Development Technologies Backend Development Technologies Databases and Persistence Networks and Connectivity STATE OF THE ART Raspberry Pi as platform for web servers RFID in animal identification and attendance systems Raspberry Pi in security and access control systems Computer vision and animal identification Databases and information management Current trends and research gaps OBJECTIVES 4.1. General Objective 4.2. Specific Objectives METHODOLOGICAL DESIGN Study approach and type Population and sample Data collection techniques and instruments Procedure TYPE OF RESEARCH Applied research Experimental research FUNDAMENTALS Fundamentals of Raspberry Pi and embedded systems Fundamentals of radio frequency identification (RFID) Fundamentals of databases and persistence Fundamentals of web architectures Fundamentals of connectivity and security DEVELOPMENT AND IMPLEMENTATION 8.1. Embedded Environment Configuration on Raspberry Pi 8.1.1. Hardware Technical Specifications 8.1.2. Operating System Installation and Configuration 8.1.3. Database Configuration and Implementation 8.1.4. Data Model Design 8.2. Backend Development in .NET Core 8.2.1. Layered Architecture 8.2.2. Project Structure 8.2.3. REST API Implementation 8.2.4. Authentication and Security 8.2.5. Backend Deployment Configuration 8.3. Frontend Development in Angular 8.3.1. Angular Project Configuration 8.3.2. Routing and Navigation System 8.3.3. Technologies and Libraries Used 8.3.4. Frontend Deployment 8.4. RFID Hardware Integration 8.4.1. RC522 Module Configuration 8.4.2. Microcontroller Firmware Implementation 8.4.3. Technical Characteristics of the Implementation 8.4.4. Software-Hardware Integration via HID 8.4.5. Development Environment Configuration RESULTS AND EVIDENCE 9.1. System Architecture 9.1.1. System Components and Their Interactions 9.2. Sequence Diagrams 9.3. Operational Evidence 9.3.1. User Interfaces (Frontend) 9.3.2. Backend REST API 9.3.3. Database - Structure and Data 9.3.4. Hardware-Software Integration 9.4. System Capacity and Performance Analysis CONCLUSIONS BIBLIOGRAPHIC REFERENCES ANNEXES LIST OF FIGURES Figure 1: Initial Configuration on Raspberry Pi Figure 2: UFW Firewall Configuration on Raspberry Pi Figure 3: SSH Connection Figure 4: SIGECHIP Project Directory Structure Figure 5: Web Server Configuration on Raspberry Pi Figure 6: Cloudflare Tunnel Security Configuration Figure 7: PostgreSQL Database Installation and Configuration Figure 8: Project Database Configuration Figure 9: External System Access Configuration Figure 10: Owner Table Figure 11: Pet Table Figure 12: RFID Cards Table Figure 13: Reference Tables Figure 14: Relationships and Foreign Keys Figure 15: Backend Project Structure Figure 16: Domain Layer - Pet Entity Figure 17: Pets Controller - REST API Figure 18: JWT Configuration for Authentication Figure 19: appsettings.json File Configuration Figure 20: .NET Core Runtime Installation Figure 21: Systemd Service Configuration Figure 22: sigechip.service Configuration File Figure 23: Service Activation and Management Figure 24: Backend Files Deployment Figure 25: Angular Project Configuration - package.json Figure 26: Angular Frontend Modular Structure Figure 27: Routes Configuration (app.routes.ts) Figure 28: Pets Service - API Communication Figure 29: RFID Cards Service Figure 30: Frontend Production Compilation Figure 31: Angular Environments Configuration Figure 32: Transfer and Server Configuration Figure 33: STM32F103C9T6 and RC522 Connections Figure 34: Mbed LectorRFID Project Structure Figure 35: Microcontroller Main Code (main.cpp) Figure 36: Main Code Continuation (main.cpp) Figure 37: RFID System Technical Specifications Figure 38: RFID Data Capture in Angular Frontend Figure 39: Mbed Studio Project Configuration Figure 40: Component Architecture Model Figure 41: Login Sequence Diagram Figure 42: System Login Screen Figure 43: System Login Screen mobile mode Figure 44: Main Dashboard with Informational Carousels Figure 45: Pets Management - Cards View Figure 46: Pet Registration and Editing Form Figure 47: RFID Cards Assignment Interface Figure 48: Owners Management Form Figure 49: QR Codes Generation with Contact Data Figure 50: JWT Authentication Endpoints Figure 51: Pets Management Endpoints Figure 52: Owners Management Endpoints Figure 53: RFID Cards Management Endpoints Figure 54: Pet Species Endpoints Figure 55: Breeds by Species Endpoints Figure 56: Pet Genders Endpoints Figure 57: Document Types Endpoints Figure 58: JSON Response Example - Breeds List Figure 59: Database Entity-Relationship Diagram Figure 60: RFID Hardware - RC522 and Bluepill Connection Figure 61: Complete RFID System Integration Figure 62: Sequence Diagram - RFID Identification Flow Figure 63: Load Test Figure 64: Load Test Result | eng |
| dc.format.extent | 73 p. | |
| dc.format.mimetype | application/pdf | |
| dc.identifier.uri | https://repositorio.ecci.edu.co/handle/001/4760 | |
| dc.language.iso | spa | |
| dc.publisher | Universidad ECCI | |
| dc.publisher.faculty | Facultad de Ingenierías | |
| dc.publisher.place | Bogotá | |
| dc.publisher.program | Ingeniería Electrónica | |
| dc.rights.accessrights | info:eu-repo/semantics/openAccess | |
| dc.rights.coar | http://purl.org/coar/access_right/c_abf2 | |
| dc.rights.license | Attribution-NonCommercial-NoDerivatives 4.0 International | en |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | |
| dc.subject.proposal | Servidor web embebido | spa |
| dc.subject.proposal | Identificación de mascotas | spa |
| dc.subject.proposal | Raspberry Pi | spa |
| dc.subject.proposal | Tecnología RFID | spa |
| dc.subject.proposal | Códigos QR | spa |
| dc.subject.proposal | Angular | spa |
| dc.subject.proposal | .NET Core | spa |
| dc.subject.proposal | PostgreSQL | spa |
| dc.subject.proposal | Embedded web server | eng |
| dc.subject.proposal | Pet identification | eng |
| dc.subject.proposal | Raspberry Pi | eng |
| dc.subject.proposal | RFID technology | eng |
| dc.subject.proposal | QR codes | eng |
| dc.subject.proposal | Angular | eng |
| dc.subject.proposal | NET Core | eng |
| dc.subject.proposal | PostgreSQL | eng |
| dc.title | Configuración de un Servidor Web en Raspberry Pi para la Gestión de Identificación de Mascotas | |
| dc.title.abbreviated | SIGECHIP | |
| dc.type | Trabajo de grado - Pregrado | |
| dc.type.coar | http://purl.org/coar/resource_type/c_7a1f | |
| dc.type.coarversion | http://purl.org/coar/version/c_970fb48d4fbd8a85 | |
| dc.type.content | Text | |
| dc.type.driver | info:eu-repo/semantics/bachelorThesis | |
| dc.type.redcol | http://purl.org/redcol/resource_type/TP | |
| dc.type.version | info:eu-repo/semantics/publishedVersion | |
| dspace.entity.type | Publication |
Archivos
Bloque de licencias
1 - 1 de 1
Cargando...

- Nombre:
- license.txt
- Tamaño:
- 15.18 KB
- Formato:
- Item-specific license agreed upon to submission
- Descripción:
