できたもの
こんな感じで1時間ごとに自宅のネットワーク速度を計測してGoogleスプレッドシートにまとめてくれるようになりました。
ネットワーク計測とGASにPOSTをリクエストするスクリプトの作成とGASでウェブアプリの作成が主な作業内容です。
下記を参考に作成しました。
ネットワーク速度の計測
pythonのツールであるspeedtestを使用して計測します。
まずはインストールします。
$ pip install speedtest-cli
これで計測できるようになりました。
下記が例です。
$ speedtest --simple
Ping: 10.21 ms
Download: 83.54 Mbit/s
Upload: 90.17 Mbit/s
速度計測用スクリプトの作成
後々、GASにPOSTすることも考慮して、スクリプトを作成します。
下記が作成したスクリプトです。
速度の計測に失敗した場合は3回までリトライするようにしています。
test.sh
#!/bin/bash
########################################
# スピードテスト用スクリプト
#
#
########################################
# スピードテストコマンド
command="/opt/anaconda3/bin/speedtest --simple"
########################################
echo "Start speed test!"
NEXT_WAIT_TIME=0
until RET=`$command` || [ $NEXT_WAIT_TIME -eq 3 ]; do
# リトライ回数×60秒後にリトライ
sleep $(( (NEXT_WAIT_TIME++) * 60 ))
done
echo $RET
echo "End speed test!"
スクリプトを実行できるようになりました。
$ sh test.sh
Start speed test!
Ping: 13.226 ms Download: 88.75 Mbit/s Upload: 5.55 Mbit/s
End speed test!
最後に
コマンドでネットワーク速度を計測できるようになったところで part2 に続きます。
参考