Skip to content

Latest commit

 

History

25 Commits

Folders and files

Repository files navigation

Sistema IoT de Caja de Seguridad

Sistema IoT de control y supervisión de una caja fuerte mediante una aplicación Android, MQTT, ESP8266 y Node-RED.

CajaDeSeguridad integra una aplicación Android, firmware para ESP8266, comunicación MQTT y un flujo Node-RED para controlar y supervisar una caja fuerte. El sistema permite enviar comandos de apertura y cierre, accionar el mecanismo mediante un servomotor y recibir el estado publicado por el microcontrolador.

Fue desarrollado en conjunto para una asignatura de Android e IoT. La variante de firmware con LCD añade visualización local del estado, mientras que Node-RED ofrece una interfaz alternativa de control y monitoreo.

Características

  • Autenticación local mediante PIN.
  • Apertura y cierre mediante comandos MQTT.
  • Control desde una aplicación Android.
  • Recepción y visualización del estado de la caja.
  • Dashboard Node-RED como interfaz alternativa.
  • Accionamiento mediante servomotor.
  • Señalización mediante buzzer.
  • Visualización mediante LCD I2C en la variante correspondiente.

Arquitectura

flowchart LR
    Android[Aplicación Android]
    NodeRED[Node-RED Dashboard]
    Broker[Broker MQTT<br/>broker.emqx.io:1883]
    ESP[ESP8266]
    Servo[Servomotor]
    Buzzer[Buzzer]
    LCD[LCD I2C<br/>variante lcd-mqtt]

    Android -->|Comandos y estado| Broker
    NodeRED -->|Comandos y estado| Broker
    Broker -->|Comandos| ESP
    ESP -->|Estado| Broker
    ESP --> Servo
    ESP --> Buzzer
    ESP --> LCD
Loading

MQTT actúa como capa de comunicación entre Android, Node-RED y el ESP8266. El microcontrolador procesa los comandos recibidos y publica los cambios de estado.

Ver arquitectura detallada →

Tecnologías

Componente Tecnología Aplicación
Aplicación móvil Android + Java PIN local, comandos y estado
Build Android Gradle + Kotlin DSL Configuración del proyecto
Microcontrolador ESP8266 + Arduino Control del hardware
MQTT en Android Eclipse Paho Publicación y suscripción
MQTT en firmware PubSubClient Comandos y estados
Automatización Node-RED Dashboard Control y monitoreo alternativos
Display LCD I2C Visualización local del estado

Estructura del repositorio

CajaDeSeguridad/
├── android/              # Aplicación Android
├── firmware/
│   ├── basic-mqtt/       # Firmware base
│   └── lcd-mqtt/         # Firmware con LCD I2C
├── node-red/             # Flujos Node-RED
├── img/                  # Diagramas e imágenes
├── docs/                 # Documentación técnica
├── README.md
└── .gitignore

Aplicación Android

La aplicación comienza con un acceso mediante PIN local y ofrece una pantalla principal con acciones para abrir y cerrar la caja. Publica el comando MQTT correspondiente y recibe el estado desde ESP/Estado.

El proyecto Android se encuentra bajo android/. La compilación requiere un entorno con Android SDK configurado.

Comunicación MQTT

Los componentes se comunican mediante MQTT utilizando broker.emqx.io:1883.

Los tópicos principales son ESP/Abierto, ESP/Cerrado y ESP/Estado.

Ver comunicación MQTT →

Configuración

Guía de configuración →

Las credenciales locales se mantienen fuera del repositorio. Para el firmware se proporciona una plantilla mediante firmware/config-example.h.

Documentación

Contexto

Proyecto académico desarrollado en conjunto para una asignatura de Android e IoT.

El repositorio se conserva como referencia técnica y portafolio del trabajo realizado.

About

Caja fuerte controlada mediante una aplicación Android y comunicación basada en el protocolo MQTT bajo una arquitectura broker. Utiliza un ESP8266, servo motor y buzzer para gestionar el acceso. La app almacena un PIN de 4 dígitos en Shared Preferences y se comunica con la NodeMCU a través de MQTT usando un cliente como MQTTX.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages