← Todos os projetosProdutos próprios
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

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
- 01Varre
as redes vizinhas pelo CoreWLAN, nunca abaixo de 3 em 3 segundos
- 02Corrige
o canal primário para o centro real da portadora, banda a banda
- 03Desenha
cada rede como uma curva sobre a faixa que ocupa, em Swift Charts
- 04Acompanha
sinal e ruído da conexão uma vez por segundo, para mapear a cobertura andando pela casa
- 05Mede
download, upload, latência e responsividade sob carga, pelo networkquality do macOS
Decisões que importam
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.
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.
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.
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.