Este proyecto es una API REST desarrollada con FastAPI para la gestión y monitoreo de sensores. Permite registrar sensores, actualizar su configuración y realizar operaciones masivas.
Nota: Este módulo forma parte integral del proyecto SMART-BRIDGES.
- Gestión de Sensores: Crear, listar, actualizar y eliminar sensores.
- Operaciones Masivas: Habilitar/Deshabilitar todos los sensores, actualizar firmware para todos los sensores.
- Validación de Datos: Uso de Pydantic para asegurar la integridad de los datos.
- Persistencia: Base de datos SQLite gestionada con SQLAlchemy.
app/main.py: Punto de entrada de la aplicación FastAPI.app/models.py: Definición de modelos de base de datos (SQLAlchemy).app/schemas.py: Esquemas Pydantic para validación y serialización.app/database.py: Configuración de la conexión a la base de datos.app/crud.py: Lógica de operaciones CRUD.app/api/sensors.py: Rutas/endpoints de la API.
Las principales librerías utilizadas en este proyecto son:
fastapiuvicornsqlalchemypydanticflaskflask-sqlalchemy
-
Instalar dependencias:
pip install -r requirements.txt
-
Ejecutar la aplicación:
uvicorn app.main:app --reload
El servidor iniciará en
http://127.0.0.1:8000. -
Acceder a la Documentación:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
- Swagger UI:
GET /sensors/: Listar todos los sensores.POST /sensors/: Crear un nuevo sensor.GET /sensors/{sensor_id}: Obtener detalles de un sensor específico.PUT /sensors/{sensor_id}: Actualizar un sensor.DELETE /sensors/{sensor_id}: Eliminar un sensor.POST /sensors/enable_all: Habilitar todos los sensores.POST /sensors/disable_all: Deshabilitar todos los sensores.PUT /sensors/firmware_all/{firmware_version}: Actualizar versión de firmware para todos los sensores.