Raspberry Pi und iperf - Bandbreitentester für Smart Home- und IoT-Geräte



Im Rahmen meines vorherigen Projekts „Videophone from Raspberry Pi“ habe ich das Dienstprogramm Iperf verwendet, um die Geräte zu konfigurieren und das Problem zu lösen. Das Programm ist unter Spezialisten, die mit lokalen Netzwerken arbeiten, seit langem bekannt.

Mit dem Dienstprogramm können Sie Datenverkehr zur Analyse der Netzwerkbandbreite generieren.

Mit seiner Hilfe ist es ganz einfach, die maximale Netzwerkbandbreite zwischen zwei Geräten (Server und Client) zu messen und Lasttests des Kommunikationskanals durchzuführen.
Ich denke, im Zusammenhang mit der Zunahme von Heimnetzwerkgeräten wird dies sehr gefragt sein, sowohl für die Suche und Analyse von Fehlfunktionen (Fehlfunktionen) in der Arbeit als auch für die optimale Platzierung von WiFi-Geräten.

In meinem Beispiel wurde das Programm auf dem Raspberry Pi mit dem installierten MajorDoMo-Hausautomationssystem - dem Basisimage - und auf Geräten mit Windows (Laptop), Android (Smartphone, TV, Media Player) installiert.

Unter der Katze ein wenig über Installation und Test, sowie ein kleines Beispiel für die Integration in das MajorDoMo-Hausautomationssystem.

Auf dem Raspberry Pi, der als MajorDoMo-Hausautomationsserver dient und unter Debian 9 ausgeführt wird, installieren wir das Dienstprogramm iperf.

sudo apt-get install iperf 

Standardmäßig ist Version 2.0.9 installiert. Es gibt zwei Optionen für iperf: iperf 2 und iperf 3. Sie sind nicht miteinander kompatibel. Um die 3. Version zu installieren, müssen Sie den Befehl angeben

 sudo apt-get install iperf3 

Wenn Sie auf dem zweiten Gerät einen PC oder Laptop unter Windows verwenden, installieren Sie Jperf (installiert sowohl 2.0 als auch 2.2). Jperf ist ein grafisches Java-Add-On für Iperf. Das Add-On ist plattformübergreifend und funktioniert sowohl unter Windows als auch unter nix-Systemen. Jperf plant die Kanalbandbreite in Echtzeit. Die Installation ist nicht erforderlich, auf dem Betriebssystem muss ein Java-Computer installiert sein.

Wir verbinden Ethernet mit dem Himbeer-Netzwerkkabel mit dem Heimrouter, der Laptop ist mit dem Heim-WLAN-Netzwerk verbunden.

Wir führen das Dienstprogramm auf Raspberry Pi im Servermodus aus, der Client generiert Datenverkehr, der Server erwartet ihn.

 iperf -s -t 3600 

Wobei -s im Servermodus startet, -t 3600 für 3600 Sekunden oder 1 Stunde.
Führen Sie auf einem Windows-Computer die * .bat-Datei jperf.bat aus, geben Sie die Serveradresse ein, belassen Sie den Standardport, legen Sie die Testzeit fest und klicken Sie auf das Startsymbol.

Auf dem Server erhalten wir die Informationen in Textform, auf dem Client in der Grafik:



Für das Android-Betriebssystem (Smartphone, TV, TV-Set-Top-Box usw.) installieren wir das Programm vom Spielemarkt: Magic iPerf. Magic iPerf .

Wir geben die IP-Adresse unseres RPi und die Schlüssel ein und starten den Test, indem wir den Schieberegler von der gestoppten in die gestartete Position bewegen.



Die Hilfe zu den Befehlen (Dienstprogrammstarttasten) kann durch Eingabe des Terminals oder der Mobilanwendung - help (-h) angezeigt werden.



Außerdem: Bei Verwendung des Hausautomationssystems MajorDoMo ist die Grundkonfiguration das Abbild für den Raspberri Pi.

Wenn das System gestartet wird, spricht der Lautsprecher IP-Adressen. Welches ist ziemlich praktisch.
Der Server verfügt auch über einen Hostnamen (einen Namen, der einem mit dem Netzwerk verbundenen Computer zugewiesen wird, der das Netzwerk eindeutig identifiziert und somit den Zugriff ohne Verwendung seiner IP-Adresse ermöglicht). Auch ohne die IP-Adresse zu kennen, können wir uns mit dem SSH-Terminal oder dem iperf-Client verbinden, indem wir stattdessen den IP-Namen majordomopi eingeben.

Ein kleiner Vorteil von RPi ist seine relative Billigkeit und Größe, die es Ihnen ermöglicht, einen Mini-PC zu platzieren, indem Sie ihn mit einem Netzwerkkabel an einen Router anschließen, egal ob in einem Schrank, Nachttisch oder 19-Zoll-Rack.

In der Grundkonfiguration von MajorDoMo gibt es standardmäßig 3 Bedientasten, die mit nichts belegt sind. Auf der Hauptseite des Systems sind dies: Licht 1, Licht 2, Licht 3.



Versuchen wir, einen davon zuzuweisen, um die Netzwerkbandbreite zu testen.

Öffnen Sie die Startseite von MajorDoMo. Gehen Sie zu Systemsteuerung - Geräte - Einfache Geräte - Schalter 1 bearbeiten - Aktionen .

In den Aktionen schreiben wir eine Codezeile in PHP, die das Dienstprogramm Iperf 600 Sekunden lang vom Pi-Benutzer im Servermodus ausführt:

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




Wenn danach auf der Hauptseite des Hausautomationssystems die Taste „Licht 1“ gedrückt wird, startet Iperf für 10 Minuten und anschließend wird der Durchsatz des gewünschten Geräts getestet.

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


All Articles