diff --git a/README.md b/README.md index 84616db..610823a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,68 @@ -# V-Fire-Monitor +🔥 V-Fire Monitor - Notifier Master (v1.0) +O V-Fire Monitor é uma solução avançada de monitoramento e gestão para centrais de alarme de incêndio da linha Notifier (NFS-320, NFS-640, NFS-3030). Desenvolvido para a Voltec, o software atua como um gateway inteligente entre o protocolo Modbus/TCP das placas BACNET-GW-3 e o sistema de monitoramento Zabbix, oferecendo uma interface web intuitiva e um sistema de licenciamento proprietário. +🚀 Funcionalidades Principais +Monitoramento Multi-Node: Capacidade de monitorar múltiplas centrais simultaneamente via IP. + +Auto-Discovery Ultra: Varredura inteligente de endereços Modbus (1-600) para identificação automática de dispositivos. + +Integração Nativa Zabbix: Envio automatizado de Descoberta de Baixo Nível (LLD), status de eventos e integridade de comunicação. + +Gestão de Licenciamento: Proteção por Hardware ID (HWID) e controle de expiração por data. + +Persistência de Dados: Nomes personalizados de sensores são preservados mesmo após novas varreduras. + +Interface Web Responsiva: Painel escuro (Dark Mode) com atualização em tempo real e indicadores visuais de status (Normal, Incidente, Removido). + +📂 Estrutura do Repositório +monitor.py: O "cérebro" do sistema. Gerencia o loop Modbus, o servidor Flask e a integração com Zabbix. + +generator.py: Ferramenta interna da Voltec para geração de seriais de ativação baseados em HWID. + +templates/: + +login.html: Tela de acesso restrito. + +index.html: Dashboard principal com indicadores de sensores e status de licença. + +config_nodes.json: Armazena as configurações de IP das centrais e dados do servidor Zabbix. + +mapa_dispositivos.json: Banco de dados local com o mapeamento de endereços e nomes dos sensores. + +🛠️ Requisitos de Instalação +Dependências Python +Bash +pip install flask flask-login pyModbusTCP zabbix-utils cryptography +Configuração no Zabbix +Para o funcionamento pleno, o Host no Zabbix deve possuir: + +Regra de Descoberta (LLD): Chave notifier.discovery (Tipo: Zabbix Trapper). + +Protótipos de Itens: + +notifier.status[{#PONTO_LABEL}]: Status do evento. + +notifier.comm[{#PONTO_LABEL}]: Integridade da comunicação do ponto. + +node.status[{#NODE_NOME}]: Status online/offline da central. + +🔑 Sistema de Licenciamento +O software opera sob um regime de licença protegida. + +Ao iniciar pela primeira vez, o sistema exibirá o Hardware ID. + +Utilize o generator.py para criar um serial válido para este ID. + +Insira o serial na interface web para liberar as funções de monitoramento. + +🛡️ Segurança e Docker (Preview) +O projeto está preparado para ser conteinerizado. O uso de volumes é mandatório para as seguintes persistências: + +/etc/machine-id (Leitura do hardware real). + +Arquivos .json (Configurações e Mapas). + +Arquivo .key (Licença ativa). + +📝 Autor e Suporte +Desenvolvido por Syllas para Voltec - Soluções em Prevenção de Incêndio. \ No newline at end of file