プログラミング

Pythonで回線速度を定期的にチェックしてデータを視覚化する方法

はじめに

インターネットの回線速度が気になることってありますよね!
今回は、5分ごとに回線速度を計測し、そのデータをグラフにする方法を紹介します。PythonとSpeedtest CLIを使えば、比較的簡単に実現できます。

Pythonでデータをプロット

次は、Pythonを使って保存されたデータをグラフにします。必要なライブラリをインストールし、スクリプトを実行しましょう。

必要なライブラリをインストール

pip install speedtest-cli pandas matplotlib

pandas: データ解析と操作を行うための強力なPythonライブラリ
matplotlib: グラフやプロットを作成するためのPythonライブラリ
Speedtest: インターネット回線速度を測定するためのツール

Pythonスクリプトを作成

以下のPythonスクリプトを作成します。

import pandas as pd
import matplotlib.pyplot as plt

# データの読み込み
df = pd.read_csv('speedtest_results.csv', names=['Timestamp', 'Ping', 'Download', 'Upload'])

# タイムスタンプをパース
df['Timestamp'] = pd.to_datetime(df['Timestamp'])

# プロット
plt.figure(figsize=(12, 6))
plt.plot(df['Timestamp'], df['Download'], label='Download Speed (Mbps)')
plt.plot(df['Timestamp'], df['Upload'], label='Upload Speed (Mbps)')
plt.xlabel('Time')
plt.ylabel('Speed (Mbps)')
plt.title('Internet Speed Over Time')
plt.legend()
plt.grid(True)
plt.show()

実行方法

スクリプトを実行するには、以下のコマンドを使います。

python speedtest_script.py

実行した後に停止する場合は「Ctrl + C」のショットカットキーを入力することで計測を終了できます。

計測を終了した後は、以下のように5分ごとに計測された回線速度データがグラフ化されます。
結果を視覚化することで、回線の安定性やピーク時間を把握しやすくなりますね。また詳細を確認したい場合はcsvファイルも出力しているためExcelやSpreadSheetにデータを移してグラフ化も可能です!

まとめ

今回は、Speedtest CLIとPythonを使って、5分ごとに回線速度を計測し、そのデータをグラフ化する方法を紹介しました。スクリプトを使えば簡単に回線速度のモニタリングができるので、ぜひ試してみてください!

  • この記事を書いた人

あるせ

上場ゲーム会社のクリエイターで1児の父です。 プログラミングなどクリエイター向けの記事から日々のお役立ち記事まで幅広く発信します!

PickUp

1

はじめに Google Geminiは、Googleが提供する高性能なAIモデルです。今回は、Google Apps Script(GAS)を使ってGoogle GeminiのAPIを呼び出す方法を紹 ...

2

Cursorとは? Cursorは、AIを利用したコード補完ツールで、プログラムを書く際に提案をしてくれるだけでなく、指示に基づいてコードを生成してくれます。スクリプトを自動生成したり、バグの修正やリ ...

3

bool変数の命名の重要性 プログラムを書くとき、bool型の変数名の付け方はとても重要です!なぜなら、コードを読む人にとって、変数名からその役割が直感的に分かることが求められるからです。bool値は ...

4

記事文章 はじめに WordPressを使ってブログを運営していると、毎回アイキャッチ画像を設定するのが手間ですよね!今回は、アイキャッチ画像を自動で生成するプラグインの作り方をご紹介します。これで作 ...

5

はじめに インターネットの回線速度が気になることってありますよね!今回は、5分ごとに回線速度を計測し、そのデータをグラフにする方法を紹介します。PythonとSpeedtest CLIを使えば、比較的 ...

6

Pythonで画像ファイルを連番リネームをしてみたのでやった方法について記載します!連番リネームは、画像を整理する際や特定の用途に合わせてファイル名を統一したいときに便利です。 Pythonでの連番リ ...

-プログラミング
-,