しがないITマンのブログ

ITに関することをパラパラと書きます。

ラズパイでインターネット速度を観測する

インターネット速度を観測したい

前回pingコマンドから自宅回線のMbpsを計測してみました。今回は計測した結果を24時間記録する仕組みを作ってみたいと思います。
結論を先に書きます。途中から当初の「回線環境が悪いと困る」という動機ではなく、「どうせ業者は理論値なんて言って消費者を搾取しているんだろうから俺が暴いてやる」という歪んだ動機に変わっていましたが、実際はそんなことはありませんでした。一般使用では特に困らない程度の速度が出ていましたし、安定もしていました。回線業者を勝手に疑って勝手に申し訳ない気持ちになっています。

ラズパイを使う

自宅のデスクトップPCを24時間つけッばなしにしておくわけにもいかないので、何か低消費電力で24時間動かせるコンピュータが欲しいです。Raspberry pi、通称ラズパイを使うことにします。
ラズパイにもいくつか種類があります。今回はpingとちょっとしたスクリプトを動かす程度のスペックでいいので、ラズパイのゼロシリーズを使うことにします。1000円で買えてしまうコンピュータです。
ラズパイ
下はiPhone7。めちゃ小さい。
ゼロシリーズには有線LANアダプタが備わってません。今回は自宅のネットワーク環境でなく回線のネットワーク環境を観測したいので、有線で直接ルータに接続したいです。
PLANEXのUSB有線LANアダプタをたまたま持っていたのでこれを使います。ドライバ内蔵型なので挿しただけで使えます。素晴らしい。

セットアップ

さてラズパイを購入したのでセットアップを始めます。公式ドキュメントに従ってセットアップすれば何も困りませんでした。
インストールは簡単で、公式で配布されているイメージをmicroSDに書き込み、ラズパイに挿し込んで起動すればインストールが始まります。ラズパイとmicroSDとの相性問題が多少あるようですが、私は何も問題なくインストールできました。
OSはRaspbianというラズパイ用のものです。Linux派生のOSなので、普通に使う分には学習コストも特にありません。gitも使えますし、cronも動きます。もちろんpingも。
つまりアプリケーション側のセットアップもほとんど手間はありませんでした。自分のGitHubからコードをダウンロードすればいいです。アプリを定期で自動実行したいので、cronに登録します。何となくgit pullもcronに仕込みました。これでアップデートしたソースコードは勝手に取り込まれます。
有線LANアダプタも問題なく使えました。マジで手がかからなくてあっけなかったです。
今回書いたコードです。別に何の特徴もありませんが。

可視化する

いよいよ実際に記録したデータを見てみます。
Mbpsの推移
文字が重なっちゃってますが、10分毎のMbpsを3週間ほど記録した推移です。
ね?2回ほど大きく下がった瞬間がありましたが、30~45Mbpsが安定して出ています。私インターネット回線ってもっと不安定なものだと思ってました。同居人や隣人がYouTubeでも観ていようものならMbpsが10未満まで落ちたり、夜間は全国的に回線が詰まってMbpsが20程度だったりとか、そんなもんだと思っていましたよ。なので観測結果に驚いています。いやあお恥ずかしいというか、インターネットってすごいなあと感心しています。

次回

結果が出たので次回もなにもないのですが、今度は統計分析的な何かをやりたいなあ。