Raspberry Pi e iperf: probador de ancho de banda para dispositivos Smart Home y IoT



Como parte de mi proyecto anterior, "Videophone from Raspberry Pi", utilicé la utilidad Iperf para configurar el equipo y resolver el problema. El programa se conoce desde hace mucho tiempo entre los especialistas que trabajan con redes locales.

La utilidad le permite generar tráfico para analizar el ancho de banda de la red.

Con su ayuda, es bastante simple medir el ancho de banda máximo de la red entre dos dispositivos (servidor y cliente) y realizar pruebas de carga del canal de comunicación.
Creo que, en relación con el aumento de los dispositivos de la red doméstica, será bastante demandado, tanto para buscar y analizar fallas (fallas) en el trabajo, como para la ubicación óptima de los equipos WiFi.

En mi ejemplo, el programa se instaló en la Raspberry Pi con el sistema de automatización del hogar MajorDoMo instalado: la imagen base y en dispositivos con Windows (computadora portátil), Android (teléfono inteligente, TV, reproductor multimedia).

Debajo del gato, un poco sobre instalación y pruebas, así como un pequeño ejemplo de integración en el sistema de automatización del hogar MajorDoMo.

En Raspberry Pi, que sirve como servidor de automatización del hogar MajorDoMo y se ejecuta en Debian 9, instalamos la utilidad iperf.

sudo apt-get install iperf 

Por defecto, la versión 2.0.9 está instalada. Hay dos opciones para iperf: iperf 2 e iperf 3. No son compatibles entre sí, para instalar la tercera versión, debe especificar el comando

 sudo apt-get install iperf3 

En el segundo dispositivo, si tomamos una PC o computadora portátil con Windows, entonces instalamos Jperf (instalado tanto 2.0 como 2.2). Jperf es un complemento gráfico de Java para Iperf. El complemento es multiplataforma, funciona tanto en Windows como en sistemas nix. Jperf programa el ancho de banda del canal en tiempo real. No se requiere instalación; se debe instalar una máquina Java en el sistema operativo.

Conectamos Ethernet con el cable de red Raspberry al enrutador doméstico, la computadora portátil está conectada a la red WiFi doméstica.

Ejecutamos la utilidad en Raspberry Pi en modo servidor, el cliente genera tráfico, el servidor lo espera.

 iperf -s -t 3600 

donde –s comienza en modo servidor, –t 3600 por 3600 segundos o 1 hora.
En una computadora con Windows, ejecute el archivo * .bat jperf.bat, ingrese la dirección del servidor, deje el puerto predeterminado, configure el tiempo de prueba, haga clic en el icono de inicio.

En el servidor obtenemos la información en forma de texto, en el cliente en el gráfico:



Para el sistema operativo Android (teléfono inteligente, TV, decodificador de TV, etc.), instalamos el programa del mercado de juegos: Magic iPerf. Magic iPerf .

Ingresamos la dirección IP de nuestro RPi, las teclas y comenzamos la prueba moviendo el control deslizante de la posición detenida a la posición inicial.



La ayuda sobre los comandos (teclas de inicio de la utilidad) se puede ver escribiendo en el terminal o la aplicación móvil - ayuda (-h).



Además: cuando se utiliza el sistema de automatización del hogar MajorDoMo, la configuración básica, la imagen del Raspberri Pi.

Cuando se inicia el sistema, el hablante está hablando direcciones IP. Lo cual es bastante conveniente.
El servidor también tiene un nombre de host (un nombre que se asigna a una computadora conectada a la red que identifica de forma exclusiva la red y, por lo tanto, permite el acceso a ella sin usar su dirección IP). Incluso sin conocer la dirección IP, podemos conectarnos con el terminal SSH o con el cliente iperf escribiendo en su lugar el nombre IP: majordomopi.

Una pequeña ventaja de RPi, su relativo bajo costo y dimensiones, le permite colocar una mini PC conectándola con un cable de red a un enrutador, ya sea en un armario, mesa de noche o rack de 19 ".

En la configuración básica de MajorDoMo, por defecto hay 3 botones de control que no están ocupados con nada, en la página principal del sistema es: luz 1, luz 2, luz 3.



Intentemos asignar uno de ellos para probar el ancho de banda de la red.

Abra la página de inicio de MajorDoMo. Vaya a Panel de control - Dispositivos - Dispositivos simples - Editar interruptor 1 - Acciones .

En las acciones, escribimos una línea de código en PHP que ejecuta la utilidad Iperf desde el usuario Pi en modo servidor durante 600 segundos:

 exec ('sudo -u pi iperf -s -t 600 >/dev/null &'); 




Después de eso, cuando se presiona el botón "luz 1" desde la página principal del sistema de automatización del hogar, Iperf se inicia durante 10 minutos y luego se prueba el rendimiento del dispositivo deseado.

Source: https://habr.com/ru/post/482012/


All Articles