Pular para o conteúdo
he·pi·ne

← Todos os projetosProdutos próprios

ativo Própria

WifiShow

Analisador de espectro Wi-Fi nativo para macOS: mostra quem ocupa cada canal, em que largura e com que força. Aberto, sem dependência e sem acesso à rede.

Meu papel
Solo: produto, código e empacotamento
Organização
Própria
Período
set/2026
Tela do WifiShow na banda de 2,4 GHz: a curva de cada rede vizinha sobre a faixa que ocupa, com a tabela completa abaixo

Resultados em números

0
dependências externas
22
métricas do enlace, cada uma explicada
12 casos
no teste do plano de canais

O problema

Escolher o canal do roteador, ou achar o melhor lugar para ele, é adivinhação sem ver o espectro. A lista de redes com barrinhas de sinal não diz que faixa cada uma ocupa nem onde elas se sobrepõem, e é sobre isso que a decisão se apoia.

O que eu fiz

Escrevi um analisador de espectro nativo para macOS. Ele desenha cada rede vizinha na faixa que ocupa em 2,4, 5 e 6 GHz, acompanha o sinal da conexão a cada segundo, mede a responsividade da rede sob carga e explica as 22 métricas do enlace em linguagem comum. Nove telas, em Swift, só com frameworks do sistema.

Como funciona

  1. 01Varre

    as redes vizinhas pelo CoreWLAN, nunca abaixo de 3 em 3 segundos

  2. 02Corrige

    o canal primário para o centro real da portadora, banda a banda

  3. 03Desenha

    cada rede como uma curva sobre a faixa que ocupa, em Swift Charts

  4. 04Acompanha

    sinal e ruído da conexão uma vez por segundo, para mapear a cobertura andando pela casa

  5. 05Mede

    download, upload, latência e responsividade sob carga, pelo networkquality do macOS

Decisões que importam

  1. Duas malhas de atualização, não uma.

    A varredura dos vizinhos bloqueia por 2 a 4 segundos e o sistema a limita; ler só a interface conectada não custa quase nada. Separadas, o histórico tem resolução de um segundo sem castigar o rádio.

  2. O centro da portadora vem de tabela, não de fórmula.

    Em 5 GHz os blocos são irregulares: a faixa UNII-3 quebra o passo de 4 dos canais abaixo dela, e uma rede de 160 MHz pode ficar 30 MHz fora do lugar no desenho ingênuo. Em 6 GHz uma fórmula resolve.

  3. O que é estimado aparece como estimado.

    O CoreWLAN só preenche o ruído da interface conectada. Para os vizinhos, o app usa o ruído medido aqui como piso e diz que a relação sinal-ruído deles é estimativa, em vez de fingir precisão que não tem. O mesmo vale para a direção do canal secundário em 2,4 GHz, que o sistema não expõe.

  4. Teste de velocidade sem servidor próprio.

    O networkquality que já vem no macOS negocia com a borda mais próxima e mede responsividade sob carga — a métrica que explica por que uma conexão rápida ainda trava numa chamada de vídeo. Não há infraestrutura a manter, e a leitura da saída fica isolada e testada sem rede.

Tecnologias utilizadas

  • Swift
  • SwiftUI
  • Swift Charts
  • CoreWLAN
  • CoreLocation
  • macOS 14+
  • swiftc

Próximo passo

A camada de aquisição é a única parte presa à Apple: o plano de canais e a curva do espectro são 802.11 puro. Uma versão para Linux trocaria só o CoreWLAN pelo nl80211.

Provas