
Como parte do meu projeto anterior, “Videophone from Raspberry Pi”, usei o utilitário Iperf para configurar o equipamento e resolver o problema. O programa é conhecido há muito tempo entre especialistas que trabalham com redes locais.
O utilitário permite gerar tráfego para analisar a largura de banda da rede.
Com sua ajuda, é bastante simples medir a largura de banda máxima da rede entre dois dispositivos (servidor e cliente) e realizar testes de carga do canal de comunicação.
Eu acho que, em conexão com o aumento de dispositivos de rede doméstica, será bastante procurado, tanto para pesquisar e analisar defeitos (defeitos) no trabalho, quanto para a colocação ideal de equipamentos WiFi.
No meu exemplo, o programa foi instalado em um Raspberry Pi com o sistema de automação residencial MajorDoMo instalado - a imagem básica e em dispositivos executando Windows (laptop), Android (smartphone, TV, media player).
Sob o comando do gato, um pouco sobre instalação e testes, bem como um pequeno exemplo de integração no sistema de automação residencial MajorDoMo.
No Raspberry Pi, que serve como servidor de automação residencial MajorDoMo e roda no Debian 9, instalamos o utilitário iperf.
sudo apt-get install iperf
Por padrão, a versão 2.0.9 está instalada. Existem duas opções para o iperf: iperf 2 e iperf 3. Eles não são compatíveis entre si. Para instalar a terceira versão, é necessário especificar o comando
sudo apt-get install iperf3
No segundo dispositivo, se usarmos um PC ou laptop no Windows, instale o Jperf (instalado tanto o 2.0 quanto o 2.2). Jperf é um complemento gráfico para java do Iperf. O complemento é multiplataforma, funciona tanto em sistemas Windows quanto em sistemas nix. O Jperf agenda a largura de banda do canal em tempo real. A instalação não é necessária; uma máquina java deve ser instalada no sistema operacional.
Conectamos Ethernet com o cabo de rede Raspberry ao roteador doméstico, o laptop está conectado à rede Wi-Fi doméstica.
Executamos o utilitário no Raspberry Pi no modo servidor, o cliente gera tráfego, o servidor espera.
iperf -s -t 3600
onde
–s inicia no modo servidor,
–t 3600 por 3600 segundos ou 1 hora.
Em um computador Windows, execute o arquivo * .bat jperf.bat, digite o endereço do servidor, deixe a porta padrão, defina o tempo de teste, clique no ícone Iniciar.
No servidor, obtemos as informações em forma de texto, no cliente no gráfico:

Para o sistema operacional Android (smartphone, TV, decodificador de TV etc.), instalamos o programa no mercado de jogos: Magic iPerf.
IPerf mágico .
Introduzimos o endereço IP do nosso RPi, as teclas e iniciamos o teste movendo o controle deslizante da posição parada para a iniciada.

A ajuda sobre os comandos (teclas de inicialização do utilitário) pode ser visualizada digitando-se no terminal ou no aplicativo móvel - help (-h).

Além disso: ao usar o sistema de automação residencial MajorDoMo, a configuração básica, a imagem do Raspberri Pi.
Quando o sistema inicia, o alto-falante está falando de endereços IP. O que é bastante conveniente.
O servidor também possui nome de host (um nome atribuído a um computador conectado à rede que identifica exclusivamente a rede e, portanto, permite o acesso a ela sem usar seu endereço IP). Mesmo sem saber o endereço IP, podemos conectar-se ao terminal SSH ou ao cliente iperf digitando o nome IP: majordomopi.
Uma pequena vantagem do RPi, seu preço e dimensões relativos, permitindo que você coloque um mini PC conectando-o com um cabo de rede a um roteador, seja em um armário, mesa de cabeceira ou rack de 19 ".
Na configuração básica do MajorDoMo, por padrão, existem 3 botões de controle que não estão ocupados com nada, na página principal do sistema é: luz 1, luz 2, luz 3.

Vamos tentar atribuir um deles para testar a largura de banda da rede.
Abra a página inicial do MajorDoMo. Vá para
Painel de Controle - Dispositivos - Dispositivos Simples - Editar Chave 1 - Ações .
Nas ações, escrevemos uma linha de código em PHP que executa o utilitário Iperf do usuário Pi no modo de servidor por 600 segundos:
exec ('sudo -u pi iperf -s -t 600 >/dev/null &');

Depois disso, quando o botão “light 1” é pressionado na página principal do sistema de automação residencial, o Iperf inicia por 10 minutos e, em seguida, a taxa de transferência do dispositivo desejado é testada.