Simulador de WiFi baseado em WebGPU
(wifi-solver.com)- É um simulador web que calcula, com base em física, a intensidade do sinal WiFi, que varia conforme a estrutura da casa e os materiais, ajudando a escolher o local do roteador
- A simulação é executada localmente em tempo real no dispositivo do usuário, e é possível alterar a cor ou a velocidade da simulação em segundo plano
- É possível executar simulações de exemplo com plantas reais de residências e materiais de paredes e janelas, além de contar com vídeo de demonstração e documentação
- Calcula diretamente como ondas eletromagnéticas se propagam ao atravessar materiais e mostra um exemplo em que as ondas são refratadas ao redor de caixas de texto
- Por ser um método com alto volume de cálculo, usa WebGPU para aproveitar a placa gráfica e simular mais rapidamente no navegador
Simulação de WiFi para escolher a posição do roteador
- WiFi Solver é um mecanismo de simulação que mostra como o sinal WiFi de um ponto de acesso se espalha dentro de uma casa
- Tem foco em calcular a intensidade do sinal WiFi da residência para ajudar a decidir onde colocar o roteador WiFi
- Todas as simulações são executadas ao vivo no dispositivo do usuário
- É possível executar exemplos que aplicam uma planta residencial real e materiais realistas para paredes e janelas
- Algumas funcionalidades podem ser vistas em um vídeo de demonstração, e informações mais detalhadas estão disponíveis na documentação
- É possível experimentar por um dia ou obter acesso permanente por meio de um pagamento único
Cálculos físicos e uso de WebGPU
- O WiFi Solver simula diretamente como ondas eletromagnéticas se propagam ao atravessar materiais, com aproximações mínimas
- Ao rolar a página, é possível ver as ondas sendo refratadas ao redor de caixas de texto
- Como é uma abordagem computacionalmente cara, usa WebGPU para aproveitar a placa gráfica e acelerar a simulação
- Na parte inferior, é possível adicionar uma nova fonte à simulação em segundo plano
- Outros trabalhos do criador podem ser conferidos no blog
1 comentários
Opiniões no Hacker News
A visualização é legal, mas se concentra demais nas ondas em si, em vez dos padrões reais de cobertura em comprimentos de onda de 6 a 12,5 cm, então é menos útil que outras ferramentas para verificar cobertura.
Ainda assim, como projeto artístico é divertido, e também lembra o projectM, um Milkdrop open source com suporte a WebGL https://github.com/projectM-visualizer/projectm/blob/master/..., e um dos originais, o Geisswerks https://www.geisswerks.com/
Se você gosta desse tipo de coisa, talvez também curta o NestDrop, que tem visualização musical para VJ e projeção dentro de domos https://nestimmersion.ca/nestdrop.php
Há um bug: se você continuar apertando o botão “add a new source”, um array de tamanho máximo fixo 128 estoura e aparece uma exceção JavaScript na tela
Além disso, talvez seja só em placas AMD, mas a simulação quebra se você mexer a rolagem de um certo jeito por causa da caixa de texto. Se fizer Page Up/Down rapidamente, ou descer até o fim e sacudir a posição de rolagem, dados ruins se espalham e a tela inteira fica cheia de ruído, preto e branco; se subir para o modo 3D, vira uma bagunça de polígonos
“Ao rolar, dá para ver as ondas sendo refratadas ao redor da caixa de texto”: uma funcionalidade estilosa, embora inútil
Antigamente eu queria criar algo parecido com som. A ideia era fazer cancelamento ativo de ruído dentro de um cômodo, não em fones de ouvido, colocando em posições estratégicas dispositivos que combinassem microfones e alto-falantes.
Pensando um pouco, vi que não seria ideal, porque a interferência poderia criar zonas silenciosas e zonas em que o som ficasse duas vezes mais alto, mas ainda assim era interessante; pensando mais, percebi que teria que ser tratado em 3D, o que aumentaria muito a complexidade da configuração. Vendo os efeitos de refração, parece que algo semelhante se aplicaria aqui também
Porém, isso só funcionaria com sons comuns de baixa direcionalidade, como alto-falantes distantes; sons como fala humana seriam difíceis de apagar. Poderia ser bem útil em clubes para permitir conversas normais em cada mesa. O problema é que a tecnologia relacionada hoje está presa por patentes e, embora seja bem fácil de construir, seria preciso esperar as patentes expirarem ou pagar licenciamento
A parte de visualização é realmente incrível. O trecho que lida com vários transmissores e a parte final da rolagem lembram https://apenwarr.ca/beamlab/, que mostra beamforming.
A maneira mais fácil de ver o fluxo nesse demo é desligar o 3 no menu à direita, deixando só 2 transmissores, apertar o botão “r” e então clicar ou arrastar para ver o processo de otimização do feixe. À direita, também dá para ver estatísticas de ganho de potência recebida.
Visualmente, esse demo é o mais divertido, mas para quem quer otimizar o posicionamento do Wi-Fi em casa, o plano gratuito da Hamina provavelmente é muito mais útil https://www.hamina.com/planner
A desvantagem é que ele faz você criar uma conta; a vantagem é que oferece várias visualizações resumidas voltadas a métricas e recursos comuns de Wi-Fi, em vez de se concentrar tanto em mostrar a simulação de ondas em si
Cliquei demais no link de adicionar uma nova fonte na parte de baixo e apareceu um Unexpected Application Error.
O erro principal é
RangeError: offset is out of bounds, ocorrendo emFloat32Array.set()ePi.makeUniformBufferhttps://wifi-solver.com/dist/bundle-UKQ5A5W6.js:32:118833Outro projeto interessante parecido é https://cemsim.com/. Não fui eu que fiz
Eu esperava aqui processamento de rádio SDR, ou seja, passar por pipe para o navegador o ruído lido do GPIO e mostrar a atividade de todos os canais de uma vez
Ao rodar o demo Waveguide Simulator em um Alienware M15 Ryzen Ed. R5, o notebook emite um zumbido agudo bem perceptível.
É em um ambiente com RTX 3070, Windows 11 Pro e Chrome v129; no começo achei que fosse som dos alto-falantes, mas mesmo abaixando o volume ele continuava enquanto o simulador estava rodando. Não ouvi isso em jogos nem em outros demos WebGPU, e a simulação de uma casa realista produz outro padrão de som
https://en.wikipedia.org/wiki/Electromagnetically_induced_ac...
O motivo de você não ouvir em jogos pode ser o áudio do jogo ser mais alto, ou o padrão de energia não ter essa frequência audível. O circuito de alimentação da CPU também pode produzir o mesmo fenômeno, mas como isto usa a GPU, é mais seguro apontar para o lado da GPU
É bem comum em cargas de trabalho acima de 600 fps
Como uso um roteador WiFi 6E, fico curioso para saber se 6 GHz, 5 GHz e 2,4 GHz se comportam de forma visivelmente diferente aqui. Quero saber se a forma geral é a mesma ou se a frequência faz uma grande diferença