{"id":22694384,"url":"https://github.com/sodi0/cajadeseguridad","last_synced_at":"2026-04-11T01:36:10.842Z","repository":{"id":261595542,"uuid":"884772343","full_name":"Sodi0/CajaDeSeguridad","owner":"Sodi0","description":"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.","archived":false,"fork":false,"pushed_at":"2024-12-09T02:35:00.000Z","size":794,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-04T18:40:50.472Z","etag":null,"topics":["android-app","arduino","buzzer","esp8266","iot","java","mqtt","mqttx","nodemcu","servo-motor","sharedpreferences","smart-lock"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sodi0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-07T11:10:57.000Z","updated_at":"2024-12-09T02:33:22.000Z","dependencies_parsed_at":"2024-11-07T12:27:04.314Z","dependency_job_id":"680cb9c9-9a10-4c7d-8b80-ccb7a64fe9bf","html_url":"https://github.com/Sodi0/CajaDeSeguridad","commit_stats":null,"previous_names":["sodi0/cajadeseguridad"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sodi0%2FCajaDeSeguridad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sodi0%2FCajaDeSeguridad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sodi0%2FCajaDeSeguridad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sodi0%2FCajaDeSeguridad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sodi0","download_url":"https://codeload.github.com/Sodi0/CajaDeSeguridad/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246217807,"owners_count":20742270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android-app","arduino","buzzer","esp8266","iot","java","mqtt","mqttx","nodemcu","servo-motor","sharedpreferences","smart-lock"],"created_at":"2024-12-10T03:07:58.919Z","updated_at":"2026-04-11T01:36:10.781Z","avatar_url":"https://github.com/Sodi0.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Proyecto Caja Fuerte Controlada por App Android\n\nEste proyecto desarrolla una caja fuerte inteligente controlada remotamente mediante una aplicación Android escrita en Java. Utiliza un microcontrolador ESP8266 para conectarse a una red WiFi y emplea el protocolo MQTT para recibir comandos y controlar un mecanismo de bloqueo mediante un servomotor. Además, ofrece retroalimentación sonora y visual con un buzzer y una pantalla LCD.\n\n---\n\n## **Características Principales**\n\n- **Conectividad WiFi**: Permite al ESP8266 conectarse a redes WiFi para comunicación remota.\n- **Protocolo MQTT**: Facilita el intercambio de comandos y estado entre el microcontrolador y el broker.\n- **Control de Servomotor**: Gestión precisa del mecanismo de bloqueo.\n- **Retroalimentación con buzzer**: Señales audibles para confirmar acciones.\n- **Pantalla LCD I2C**: Indica el estado actual de la caja (abierta/cerrada).\n- **Integración con Node-RED**: Dashboard básico para monitorear y controlar la caja fuerte.\n\n---\n\n## **Prerrequisitos**\n\nAntes de comenzar, asegúrate de contar con:\n- IDE de Arduino instalado.\n- Librerías necesarias: ESP8266WiFi, PubSubClient, Servo, ArduinoJson, Wire, LiquidCrystal_I2C.\n- Broker MQTT funcional (público o privado).\n- Aplicación Android instalada y configurada para interactuar con el servidor MQTT.\n\n---\n\n## **Componentes del Proyecto**\n\n### **Hardware**\n- **ESP8266**: Proporciona conectividad WiFi y capacidad de procesamiento.\n- **Servomotor**: Controla la apertura y cierre de la caja.\n- **Pantalla LCD I2C**: Muestra el estado en tiempo real.\n- **Buzzer**: Da retroalimentación sonora.\n- **Fuente de alimentación**: Suministra energía al ESP8266 y componentes adicionales.\n\n### **Software**\n- **Arduino IDE**: Plataforma utilizada para programar el ESP8266.\n- **Aplicación Android**: Interfaz de usuario para enviar comandos.\n- **Node-RED Dashboard**: Control y monitoreo visual.\n\n---\n\n## **Configuración del Proyecto**\n\n1. **Configura el código**:\n    - Abre el archivo del proyecto en el IDE de Arduino.\n    - Configura las credenciales de tu red WiFi (`SSID` y `contraseña`).\n    - Define la dirección del broker MQTT en el código.\n2. **Carga el código en el ESP8266**:\n    - Conecta el ESP8266 a tu PC mediante un cable USB.\n    - Verifica y carga el programa desde el IDE.\n3. **Prepara el hardware**:\n    - Conecta el servomotor, pantalla LCD y buzzer a los pines definidos.\n    - Conecta el ESP8266 a una fuente de alimentación confiable.\n4. **Configura el broker MQTT**:\n    - Utiliza un broker público como `broker.emqx.io` o configura uno propio.\n\n---\n\n## **Protocolo de Comunicación**\n\nEl sistema utiliza el formato JSON para enviar y recibir datos. Ejemplos:\n- **Comando de apertura:** `{ \"msg\": \"ABIERTO\" }`\n- **Comando de cierre:** `{ \"msg\": \"CERRADO\" }`\n- **Estado de la caja:** `{ \"estado\": \"CERRADO\" }`\n\n---\n\n## **Diagrama de Flujo**\n\n```mermaid\nflowchart TD\n    A[Aplicación Android] --\u003e|Envía comandos MQTT| B[Broker MQTT]\n    B --\u003e|Transmite mensaje| C[ESP8266]\n    C --\u003e|Controla componentes| D[Servo y Buzzer]\n    C --\u003e|Actualiza estado| E[Pantalla LCD]\n    C --\u003e|Publica estado| B\n    B --\u003e|Notifica estado| A\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsodi0%2Fcajadeseguridad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsodi0%2Fcajadeseguridad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsodi0%2Fcajadeseguridad/lists"}