インターネットは日常生活に欠かせないものであり、料金に見合った速度を得る必要があります。これは、Raspberry Pi をインターネット速度モニターに変える迅速かつ簡単な方法で、ISP が騙し取っているかどうかを確実に知ることができます。
個人のスピードテストは信用できない
個別に速度テストを実行すると、その時点のインターネット速度のスナップショットが得られます。
ただし、日ごと、または時間ごとに速度に影響を与える可能性のある変数が膨大にあります。問題を突き止めようとしたり、実際に料金に見合った速度が得られているかどうかを判断したりする場合は、複数のデータ ポイントが必要です。
たとえば、自宅と ISP の間のどこかで接続が悪い場合、ある時点では通常の速度が得られますが、別の時点では速度が大幅に低下することがあります。私は、雨が降ったときに接続が緩んでいて水が浸入し、散発的に速度が低下するという状況に何度か遭遇しました。
Raspberry Pi を速度テストサーバーとして使用する理由は何ですか?
1 日に何度もスピード テストを自分で実行するのは、特に何らかのパターンがあるかどうかを判断するために結果をきちんと収集する必要がある場合、または収集したい場合には、非常に面倒になります。
プロセスを自動化するのが理想的ですが、幸いなことに、必要なのはコンピューターといくつかのオープンソース ソフトウェアだけです。
Raspberry Pi 4 または 5 はこの作業に最適です。どちらも 1 ギガビット イーサネット アダプタを備えており、平均的な家庭のインターネット接続を正確に測定するには十分な速度を備えています。
さらに、負荷が高くないときは電力をほとんど消費しないため、電源に接続したままアイドル状態にしておくことができ、あまりコストがかかりません。負荷がかかっても消費電力はわずか約 15 ワットです。
そのため、多くのリソースを必要とせず、常にバックグラウンドで実行しておきたいセルフホスト型サービスに適しています。
ネットワーク上のインターネット速度テストを自動化する
ネットワーク上で自動速度テストを設定するには、いくつかの方法があります。最も簡単なのは、結果をファイルに記録する単純な cron ジョブです。ただし、データの収集後に手動で処理する必要があります。
代わりに、Internet Pi と呼ばれるプロジェクトをお勧めします。このプロジェクトは、テストを実行してデータを記録するだけでなく、ネットワーク上のどのデバイスからでもアクセスできる整った Web インターフェイスを提供します。
まず、ヘッドレス バージョンの Raspberry Pi OS (64 ビット) を microSD カードにインストールし、Raspberry Pi に挿入します。インストールプロセス中に必ず SSH を有効にしてください。後で必要になります。同時に、Raspberry Pi がイーサネット ケーブルを介してルーターに接続されていることを確認してください。これにより、インターネット速度に関する最も信頼できる情報が得られます。
SSH 経由で Pi に接続し、次のコマンドを実行して、いくつかの前提条件を満たしていることを確認します。
sudo apt install -y git
sudo apt install -y python3-pip
pip3 install ansible
それが完了したら、実際に GitHub から Internet Pi プロジェクトをダウンロードし、プロジェクトのディレクトリに入る必要があります。これを行うには、次を実行します。
git clone https://github.com/geerlingguy/internet-pi.git
cd internet-pi
ダウンロードが完了したら、次のように入力します ansible-galaxy コレクションのインストール -r 要件.yml をクリックしてインストールプロセスを終了します。
このコマンドでは、変更する前にコピーする必要がある 2 つのファイルが作成されるため、次の 2 つのコマンドを *正確に実行します*。元のサンプル ファイルが見つからない場合は、エラーが発生します。
cp example.inventory.ini inventory.ini
cp example.config.yml config.yml
コピーを作成したら、選択したエディターを使用して inventory.ini を変更する必要があります。
inventory.ini では、最初の IP をコメント アウトし、2 番目の IP のコメントを解除する必要があります。完了すると次のようになります。
(internet_pi)
# 10.0.100.52 ansible_user=pi
# Comment out the previous line and uncomment this to run inside Raspberry Pi.
127.0.0.1 ansible_connection=local ansible_user=pi
Pi のユーザー名が「pi」以外の場合は、それも変更する必要があります。
セットアップが完了したら、ansible-playbook main.yml を実行して速度テスト サービスを開始します。
初めて結果を収集するのには時間がかかりますが、開始したら、Pi の IP アドレスに続いてポート 3030 をブラウザに入力することで、結果を監視することができます。つまり、私の場合は次のとおりでした。
http://192.168.5.63:3030
速度テストで問題が判明しました
私が速度テストを実行し始めたのは、デスクトップのダウンロード速度に大きな変動があったためです。
最終的には、マザーボードに接続されているネットワーク カードに問題があることが判明しましたが、別の興味深い点も示されました。私のインターネット速度は 方法 本来よりも低い。
すべての接続を調べ、ルーターとモデムのファームウェアを更新し、Pi 自体を再確認した結果、問題が私の側にあるわけではないことは明らかでした。
結局のところ、私はどういうわけか間違った計画に置かれていました。 ISP に簡単にメッセージを送るだけで、状況を解決できました。
もしそうしていなかったら、間違った計画を立てていたことにどれくらい気付かずにいただろうかと思わずにはいられません