{"id":29427611,"url":"https://github.com/henriquetourinho/sentinela","last_synced_at":"2025-09-04T18:52:38.612Z","repository":{"id":304406096,"uuid":"1001065899","full_name":"henriquetourinho/sentinela","owner":"henriquetourinho","description":"Sentinela é um sistema de alarme com ESP32 que, através de sensor de movimento, aciona uma sirene via relé e envia alertas via Telegram. Pode ser controlado por bot ou controle remoto RF 433 MHz. Segurança prática, conectada e inteligente.","archived":false,"fork":false,"pushed_at":"2025-06-12T19:10:48.000Z","size":27,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-12T23:17:52.350Z","etag":null,"topics":["alarm-system","arduino","brazil","c-plus-plus","diy","esp32","home-automation","home-security","iot","pir-sensor","rf-433mhz","telegram-bot"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/henriquetourinho.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":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-12T19:03:44.000Z","updated_at":"2025-06-20T17:29:13.000Z","dependencies_parsed_at":"2025-07-12T23:17:54.981Z","dependency_job_id":"7e4df7c3-32ce-4b30-85fc-c5f33a948038","html_url":"https://github.com/henriquetourinho/sentinela","commit_stats":null,"previous_names":["henriquetourinho/sentinela"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/henriquetourinho/sentinela","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriquetourinho%2Fsentinela","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriquetourinho%2Fsentinela/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriquetourinho%2Fsentinela/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriquetourinho%2Fsentinela/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henriquetourinho","download_url":"https://codeload.github.com/henriquetourinho/sentinela/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriquetourinho%2Fsentinela/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273657086,"owners_count":25145003,"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","status":"online","status_checked_at":"2025-09-04T02:00:08.968Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["alarm-system","arduino","brazil","c-plus-plus","diy","esp32","home-automation","home-security","iot","pir-sensor","rf-433mhz","telegram-bot"],"created_at":"2025-07-12T13:09:52.645Z","updated_at":"2025-09-04T18:52:38.600Z","avatar_url":"https://github.com/henriquetourinho.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sentinela 🛡️🇧🇷\n\n**Sentinela** é o seu sistema de alarme inteligente com ESP32, agora mais completo e robusto. Protege seu ambiente com detecção de movimento, sirene, e notificações em tempo real no Telegram. Agora com controle triplo (Telegram, RF 433MHz e **botão físico**), combinando tecnologia e praticidade com aquele toque brasileiro.\n\nUse o Sentinela para:\n\n* Proteger sua casa, empresa ou qualquer espaço com um sistema versátil.\n* Monitorar movimento com um sensor PIR de alta sensibilidade.\n* Receber alertas instantâneos e detalhados diretamente no seu Telegram.\n* Controlar seu alarme de três formas diferentes: app Telegram, controle remoto RF ou um simples botão.\n\n---\n\n## 📦 O que o Sentinela oferece\n\n* 👁️ **Detecção de Movimento Precisa:** Utiliza um sensor PIR para identificar qualquer movimento na área protegida.\n* 🔔 **Alerta Sonoro Imediato:** Aciona uma sirene (ou qualquer dispositivo de alerta) através de um módulo relé.\n* 🕹️ **Controle Triplo:** Arma e desarma o sistema via app Telegram, controle remoto RF 433MHz ou um botão físico dedicado.\n* 📲 **Comunicação Segura e Fluida:** Envia notificações e recebe comandos via Telegram, utilizando uma conexão Wi-Fi segura.\n* 💾 **Logs Persistentes com Horário Real:** Graças ao sistema de arquivos LittleFS e à sincronização com servidores de tempo (NTP), cada evento é registrado com data e hora exatas.\n* 📤 **Acesso aos Logs via Telegram:** Peça um relatório completo de eventos com o novo comando `/logs`.\n* 🔄 **Gerenciamento de Status Claro:** Saiba a qualquer momento se o sistema está armado ou desarmado e se a sirene foi disparada.\n* 🛡️ **Sistema Anti-Flood:** Evita o envio excessivo de mensagens repetidas no Telegram, garantindo uma comunicação limpa.\n* 🔧 **Reconexão Automática:** O sistema monitora constantemente a conexão Wi-Fi e se reconecta automaticamente em caso de falha.\n\n---\n\n## 🚀 Por que escolher o Sentinela?\n\n* **Fácil Instalação e Configuração:** Com instruções claras e um hardware simples, você monta seu sistema rapidamente.\n* **Controle Centralizado e Remoto:** Gerencie tudo pelo seu celular ou pelos métodos de controle físico.\n* **Feedback Instantâneo:** Alertas e confirmações de comando chegam em tempo real no seu Telegram.\n* **Sistema Robusto e Confiável:** Ideal para qualquer ambiente, com código aberto e pronto para ser adaptado.\n* **Código Aberto e Personalizável:** Sinta-se livre para adaptar e expandir o projeto para suas necessidades.\n\n---\n\n## ⚙️ O que você vai precisar\n\n* **ESP32:** O cérebro do nosso sistema.\n* **Sensor PIR:** Para detectar movimento.\n* **Módulo Relé de 5V:** Para acionar a sirene com segurança.\n* **Receptor RF 433MHz:** Para receber comandos do controle remoto.\n* **Botão (Push Button / Táctil):** Para armar e desarmar o sistema fisicamente.\n* **Rede Wi-Fi:** Com acesso à internet para o ESP32 se comunicar.\n* **Bot Telegram e Chat ID:** Para receber as notificações e enviar comandos.\n\n---\n\n## 🛠️ Configuração rápida\n\nNo script `sentinela.cpp`, ajuste seus dados de Wi-Fi, Telegram e os códigos do seu controle RF na seção de configurações:\n\n1.  **Credenciais de Rede e Telegram:**\n    ```cpp\n    const char* ssid = \"SEU_SSID\";\n    const char* password = \"SUA_SENHA_WIFI\";\n\n    #define BOT_TOKEN \"SEU_BOT_TELEGRAM_TOKEN\"\n    #define CHAT_ID \"SEU_CHAT_ID_TELEGRAM\"\n    ```\n\n2.  **Códigos do Controle Remoto RF:**\n    ```cpp\n    const unsigned long CODE_ARM = 1234567;    // Código para ARMAR o sistema\n    const unsigned long CODE_DISARM = 7654321; // Código para DESARMAR o sistema\n    ```\n\n---\n\n## 🔌 Conexões de hardware\n\n| Dispositivo | Pino ESP32 |\n| :--- | :--- |\n| Sensor PIR | 13 |\n| Relé para Sirene | 12 |\n| Receptor RF 433MHz | 14 |\n| Botão Físico | 27 |\n\n---\n\n## 🎮 Comandos do Telegram disponíveis\n\n| Comando | Descrição |\n| :--- | :--- |\n| `/armar` | Ativa a vigilância do sistema e o prepara para disparar. |\n| `/desarmar` | Desativa o alarme e para a sirene, caso esteja tocando. |\n| `/status` | Informa o estado atual: se o sistema está armado ou desarmado. |\n| `/logs` | Envia o arquivo de log completo com os últimos eventos registrados. |\n\n---\n\n## 📋 Logs e alertas\n\n* **Notificações Instantâneas:** Receba alertas no Telegram sempre que houver detecção de movimento ou quando o estado do sistema for alterado.\n* **Origem do Comando Registrada:** O sistema informa se um comando veio do **Telegram**, do **Controle RF** ou do **Botão Físico**.\n* **Timestamp Preciso:** Todos os logs são carimbados com data e hora exatas, graças à sincronização NTP, e salvos na memória interna do ESP32 (LittleFS).\n\n---\n\n## 🔮 Próximos passos para o Sentinela\n\n* Integração com armazenamento em nuvem para logs históricos de longa duração.\n* Painel web para monitoramento remoto e visualização em tempo real.\n* Suporte multiusuário com permissões diferenciadas no Telegram.\n* Autenticação avançada para controle RF (rolling code).\n* Notificações via SMS e outros canais como fallback.\n\n---\n\n## ⚠️ Dicas importantes\n\n* **Guarde seu token e chat ID do Telegram com segurança.** Eles são a chave para o seu sistema.\n* **Garanta que o certificado root do Telegram no script esteja atualizado** para evitar falhas de conexão.\n* **Teste o sistema exaustivamente** antes de implantá-lo em um ambiente real para garantir a estabilidade.\n\n---\n\n## 📞 Fale comigo!\n\nQuer sugerir algo, reportar bugs ou só bater um papo sobre o projeto? Me chama no Telegram: [@henriquetourinho](https://t.me/henriquetourinho)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriquetourinho%2Fsentinela","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenriquetourinho%2Fsentinela","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriquetourinho%2Fsentinela/lists"}