Atualizar README.md
This commit is contained in:
@@ -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.
|
||||
### Dependências Python
|
||||
```bash
|
||||
pip install flask flask-login pyModbusTCP zabbix-utils cryptography
|
||||
Reference in New Issue
Block a user