IoT Sentinel — O Caos dos Dispositivos IoT

IoT Sentinel — O Caos dos Dispositivos IoT

Este post é o primeiro de uma série de oito partes sobre o IoT Sentinel. Aqui eu explico o problema e a motivação. Nas próximas partes entro na instalação, uso e funcionalidades avançadas.


O problema que todo homelabber conhece

Se voce tem mais de meia duzia de dispositivos conectados em casa ou no lab, voce sabe do que eu estou falando. No meu caso sao mais de 30 dispositivos espalhados por VLANs diferentes: cameras IP, PLCs, switches gerenciaveis, Raspberry Pis rodando servicos diversos, ESP32s monitorando sensores, access points, NAS, e por ai vai.

O problema comeca simples e vai piorando com o tempo. No inicio voce sabe onde cada coisa esta. Voce configurou tudo, voce lembra o IP, voce sabe a senha. Depois de seis meses, a historia e outra. O DHCP reassignou o IP daquela camera e voce so descobre quando tenta acessar e cai em outro dispositivo. Voce fez SSH num Raspberry Pi achando que era o que roda o Home Assistant, mas era o que roda o Pi-hole. A senha daquela camera Hikvision que voce instalou no galpao? Boa sorte lembrando.

Os cenarios de dor sao sempre os mesmos:

  • Voce precisa acessar um dispositivo urgente e nao lembra o IP atual
  • Um device cai offline e ninguem percebe por dias — ate alguem reclamar que a camera parou de gravar
  • Voce troca um switch e precisa reconfigurar tudo, mas nao sabe quais devices estavam naquela rede
  • Aquele ESP32 que voce programou para monitorar temperatura sumiu do ar e voce nao sabe se e problema de rede, fonte, ou se o bichinho morreu
  • Voce tem tres VLANs e nao lembra o que esta em cada uma

Quem trabalha com automacao industrial conhece esse problema em escala maior. Numa planta voce pode ter centenas de dispositivos — PLCs, IHMs, sensores, atuadores — e perder o controle de um unico device pode significar parada de producao. No homelab a escala e menor, mas a dor e a mesma.


O que eu tentei antes

Antes de construir qualquer coisa, eu tentei resolver com o que ja existia. Nenhuma solucao me atendeu de verdade.

Planilha no Google Sheets. O classico. Funciona por uma semana. Depois voce troca um IP e esquece de atualizar. Em um mes a planilha nao reflete mais a realidade e voce para de confiar nela. A partir desse ponto ela so ocupa espaco no Drive.

Notion com tabelas. Mais bonito que a planilha, mas o problema e o mesmo: manter atualizado manualmente e um segundo trabalho. E se voce tem que abrir o Notion, procurar a pagina, filtrar a tabela, so para encontrar um IP — ja perdeu tempo demais.

Scripts bash com ping. Escrevi um script que fazia ping em uma lista de IPs e me avisava quando algum caía. Funcionou para 10 devices. Nao escala, nao tem interface, nao guarda historico, e se o IP muda voce tem que editar o script na mao.

Nmap manual. Rodava um nmap -sn 192.168.10.0/24 de vez em quando para descobrir o que tinha na rede. Util para um snapshot, mas nao mantinha historico, nao associava o MAC a um nome amigavel, e nao me dizia ha quanto tempo um device estava offline.

Nenhuma dessas abordagens resolvia o problema completo. Todas exigiam esforco manual constante, nenhuma mantinha historico, e nenhuma integrava inventario com monitoramento. Eu precisava de algo que fizesse tudo isso junto — e que eu nao precisasse ficar alimentando manualmente.


A ideia do IoT Sentinel

O IoT Sentinel nasceu dessa frustacao. A proposta e simples: uma plataforma web self-hosted que roda em Docker e resolve o ciclo completo de gestao de dispositivos IoT.

Na pratica, o que ele faz:

Scan automatico de rede via nmap. Voce aponta uma rede (CIDR), ele descobre todos os devices ativos sem esforco manual. O scan identifica por MAC address, entao mesmo que o IP mude, o dispositivo continua sendo reconhecido.

Inventario hierarquico. Tudo organizado em Locais, Redes/VLANs e Dispositivos. Voce modela a estrutura real — escritorio, lab, site remoto — e cada device fica associado ao seu lugar e a sua VLAN.

Tipos de dispositivo com icones e cores. Ja vem com 19 tipos pre-configurados — roteador, camera, PLC, switch, sensor, entre outros. Voce olha para a lista e sabe o que e o que.

Credenciais criptografadas. As senhas dos dispositivos ficam guardadas com AES-256-GCM, nunca aparecem em listagens, e so sao decriptadas sob demanda. Nada de planilha de senhas em texto puro.

Monitoramento real-time. O sistema checa periodicamente se os devices estao online e atualiza o status via WebSocket. Quando algo cai, voce sabe na hora — e pode configurar regras de notificacao para ser alertado.

Historico de status e uptime. Cada mudanca de status e registrada. Voce consegue ver a timeline de 24 horas, 7 dias ou 30 dias de qualquer dispositivo, com calculo de uptime.

Grupos e Channels. Agrupe devices de forma transversal (por funcao, por projeto, por o que fizer sentido). E para PLCs e dispositivos multi-saida, o conceito de Channels permite modelar cada saida individualmente.

Network Map. Visualizacao topologica da rede com React Flow. Voce ve a estrutura da sua rede de forma grafica, nao so em tabela.

Backup e restore. Exporta tudo em um arquivo compactado e protegido por senha, com re-encriptacao das credenciais. Para migrar ou restaurar, basta importar.

A stack e moderna: Next.js no frontend, NestJS na API, Python no worker de scan, MongoDB para persistencia, Redis para filas e pub/sub. Tudo roda com um unico docker compose up -d.


O que vem a seguir

Esse post foi sobre o problema e a motivacao. Nos proximos posts eu entro na parte pratica. O proximo passo e colocar o IoT Sentinel para rodar — e isso leva literalmente cinco minutos com Docker Compose.

Parte 2 — Instalação e Setup