ロゴ ロゴ

自宅の通信速度の時間ごとのグラフでも作ろうの会

はじめに

お久しぶりです。最近は自宅で授業を受けていますが、受けていません。

意味が分からないかと思いますが、受けてることになってますが、受けてる間は眠すぎて集中できていないので実質受けていないのではないかと錯覚しています。おまけに課題もわけわからないくらい多く、既に提出期限を忘れてしまったものまであります(すぐに提出しました)。

1年生のころは非常に課題に対するモチベーションも高かったのですが、さすがに授業ノートの提出というのは大学生にもなってやる気が出ず、後で後でとしているうちに他の課題もおろそかになってしまうという非常にまずい状態です。正直ブログなんて書いてないで早く英語の課題、物理の課題などをやらないといけないのですが、いかんせんやる気が出ないのでブログを書きます(さっさと書くとは言ってない)。

今回やること

ということで、今回やることはタイトル通り通信速度測ってグラフ作って遊びます。

なんでこんなことやろうかと思ったのかといえば、最近、今この記事を書いているパソコンを有線にしたからですね。

今回はそんな有線の速度でも計ってやろうかなということで色々探しました。

ということで今回紹介するのはこちら!

Speedtest CLI

ちょっとテレビ通販っぽい感じの紹介になりましたが、こちらspeedtest.netが提供しているCLI(CLIって何か知らないけど)らしいです。簡単に言えば多分コマンドプロント上で通信速度計測できるってことなんじゃないかと。

Pythonパッケージがあるのでpipでインストールしてプログラム組んでデータ分析で使いそうなCSVファイル作ってニヤニヤしようと思ったのでインストールします。

コマンド↓

pip install speedtest-cli

仮想環境を作ってやりたい人は自分で調べてください。多分、エンジニアになりたい人なら最終的にはやめたほうがいいのかもしれないなと思ってます。多分ね。知らんけど。

インストールしたらコマンドプロントで使ってみます。

コマンド↓

speedtest-cli --csv >> result.csv

コマンドの簡単な解説ですが、

speedtest-cli

だけで一応動きます、–csvの部分はcsvファイルをカレントディレクトリに出力する、>>以降はファイル名の指定です。今回はresult.csvにというファイルを作成して出力します。>>以降を付けないとどこにcsvファイルが出力されているのかわかんなかったので、わかる人いたら教えてください。jsonファイル形式で出力もできたり(出力されるデータが若干違うみたい)、色々使えそうで面白いです。既にカレントディレクトリに指定したファイル名のファイルがある場合は後ろにくっつけて出力してくれる部分も非常に親切設計ですね(知らんけど)。

プログラムを作る

と、ここで問題が発生しました。どうやってPythonにimportするかわかりません。なので、普通にコマンドを一定期間で連続起動してくれるように変更しました。

import subprocess
import time
while True:
    res = subprocess.call('speedtest-cli --csv >> result.csv', shell=True)#speedtest-cli --csv >> result.csv
    kaisuu = kaisuu + 1
    time.sleep(30)
    print(kaisuu,"回目終了")

本当は実行も合わせて毎分行うとか5分おきにとか考えたのですが、なんかこちらもimportできない(インストールはされてた+Pythonのバージョン確認はいっぱいした)という事件が起きたので、timeで代用しました。shell=True入れないと動きません。書き方かえる必要があるだけなのですが。res=も特に必要ないのですが、なんか入ってますね。適当ですいません。精進します。

出力されるCSVファイル

id,test_server,city,date,distance,rtt,download,upload,,ip

こんな感じなのですが、空いてる列があるのは謎ですね。参考にしたサイトの人も書いてたような気がします。ipアドレスなど個人情報特定できそうな情報がいっぱいあるような気がするので結果は載せないのですがやってみてください。

先にプログラムのディレクトリに上を入力したresult.csvファイルがあるとヘッダー作れるのでお勧めです。あとで入れてもいいとは思いますが。

多分、入力した後に改行しないと変な感じになるかもしれないので注意してください。

事件

さっそく実行してしばらく放置してみました。そんなに激しく動くプログラムでないので、授業中のネット接続速度を測定してみようかなと思い、動かしてました。

1限の途中くらいから実行して順調に動いていたのですが、3限の授業終了20分前に異常が起きました。

有線なのに、授業が切れ、ZOOMがストップ➡ネットがつながってないことが判明という事象が発生しました。とりあえず、Wi-Fiでもネットにつながらなくなったので、根元がやられたのかと思い、我が家のネット管理者さんに問い合わせました。が、普通に動いてるとのことだったので、、、、、

不穏な空気が漂ったのでとりあえず再起動。

しませんでした。あと2時間後には提出する必要のある課題。先日に引き続き課題のピンチです。

課題提出できないと今期はほぼ単位が取れない、それどころか授業が受けられない。そして、前期単位が取れないと、後期でやらかした瞬間留年、、、

と、簡単にはならないのが我が家なので(多分)大丈夫なのですが、その日の課題は正直厳しい、加えて家にあるパソコン多分ほぼMac bookなので使い方知らない。正直、瀕死だなと。

そんなことを思っていたのですが、普通にパソコンが時間たって再起動しました。救われました。ですが異常な発熱があったのですぐに電源切ってしばらくして冷えたのを確認して再起動して今現在も何とか動いています。前期中にパソコン壊れるかもしれないなと正直思っているところです。

壊れたら大学はどう助けてくれるのでしょうか?自己中ですが、授業料払えないより環境が何らかの形で破壊されてしまって立て直すまでの期間をどうするかの対応のほうが大事なんじゃないかって思ってます。授業料払えないのも大問題なことに違いはないのですが。

最後に

最近はネット授業が増え、インターネット会議も増えていた影響でネット速度超下がってるよと聞いていたこともあってどれくらいなのか計測して遊ぼうと思っていたのですが、これは部室に放置してあるラズパイで長時間起動させておけばよかったなと思いました。そして、最近Chromeが応答不能に良くなるのですが、パソコンが壊れるのも時間の問題かもしれません。

大学に行かないのは楽ですが、楽ではないですね。

コメント入力

関連サイト