Skip to content

Shrondi/sensor-api-smartbridges

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

API de Control de Sensores

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.

Características

  • 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.

Estructura del Proyecto

  • 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.

Dependencias

Las principales librerías utilizadas en este proyecto son:

  • fastapi
  • uvicorn
  • sqlalchemy
  • pydantic
  • flask
  • flask-sqlalchemy

Instalación y Ejecución

  1. Instalar dependencias:

    pip install -r requirements.txt
  2. Ejecutar la aplicación:

    uvicorn app.main:app --reload

    El servidor iniciará en http://127.0.0.1:8000.

  3. Acceder a la Documentación:

    • Swagger UI: http://127.0.0.1:8000/docs
    • ReDoc: http://127.0.0.1:8000/redoc

Endpoints Principales

  • 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.

About

API REST to control sensors. Module from the SMART-BRIDGES project

Resources

Stars

Watchers

Forks

Contributors

Languages