diff --git a/README.md b/README.md index 610823a..3a911e6 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,37 @@ -🔥 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. +# 🔥 V-Fire Monitor - Notifier Master (v1.0) -🚀 Funcionalidades Principais -Monitoramento Multi-Node: Capacidade de monitorar múltiplas centrais simultaneamente via IP. +O **V-Fire Monitor** é uma solução robusta 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. -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. +## 🚀 Funcionalidades Principais -Gestão de Licenciamento: Proteção por Hardware ID (HWID) e controle de expiração por data. +* **Monitoramento Multi-Node:** Gerenciamento de múltiplas centrais simultaneamente via IP/Modbus. +* **Auto-Discovery Ultra:** Varredura automática de endereços Modbus (registradores 1-600) para identificação instantânea de dispositivos. +* **Integração Nativa Zabbix:** * Envio de **LLD (Low Level Discovery)** para autocadastro de itens. + * Monitoramento de **Status de Evento** (Alarme, Normal, Removido). + * Monitoramento de **Integridade de Comunicação** (Link de dados do ponto). +* **Gestão de Licenciamento:** * Proteção por **Hardware ID (HWID)** vinculada à máquina física. + * Controle de expiração por data com contador regressivo no painel. +* **Persistência de Dados:** Nomes personalizados de sensores são preservados no banco de dados local (`.json`), mesmo após novos scans. +* **Interface Web Profissional:** Painel em *Dark Mode* com indicadores visuais coloridos e status em tempo real. -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 Projeto -📂 Estrutura do Repositório -monitor.py: O "cérebro" do sistema. Gerencia o loop Modbus, o servidor Flask e a integração com Zabbix. +* `monitor.py`: Core do sistema. Gerencia o loop de leitura Modbus, o servidor Flask e o envio de métricas via Zabbix Sender. +* `generator.py`: Ferramenta administrativa da Voltec para gerar seriais de ativação criptografados. +* `templates/`: + * `login.html`: Interface de autenticação segura. + * `index.html`: Dashboard principal com monitoramento de nós, sensores e licença. +* `config_nodes.json`: Arquivo de persistência para IPs das centrais e endereços do servidor Zabbix. +* `mapa_dispositivos.json`: Mapeamento detalhado de cada endereço Modbus e seu rótulo personalizado. -generator.py: Ferramenta interna da Voltec para geração de seriais de ativação baseados em HWID. +--- -templates/: +## 🛠️ Instalação e Requisitos -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 +### Dependências Python +```bash +pip install flask flask-login pyModbusTCP zabbix-utils cryptography \ No newline at end of file