はじめに
Starlink。
高度300~500kmのLEO(低軌道)に大量の人工衛星を打ち上げ、空さえ見えればどこでも高速なインターネット接続を可能にするやべーやつです。日本では期間限定で接続に必要なハードウェアが半額で手に入り、月額料金も当初の半額程度に値下げされ、そのロマンとお得感にポチってしまった人も多いはず。
しかし、衛星通信ゆえに光回線ほどの安定した接続は望めず、時間によって通信速度の低下やping値が悪化することも...
Starlink Statuspageは、世界中のStarlinkユーザー有志による自動化されたスピードテストの結果を集計し、Starlinkのパフォーマンスの可視化に挑戦しているコミュニティです!
Starlink Statuspage はStarlinkを利用している一般ユーザの協力により成り立っています。より多くのユーザによるデータを収集できれば、より詳細かつ正確なパフォーマンスの把握に役立ちます。あなたも是非やってみませんか?
セットアップ
セットアップに必要な情報はStarlink StatuspageのGitHubに記されていますが、ここではより分かりやすく説明することを目的とし、日本語で詳細に手順を記したいと思います。
ユーザ登録
Starlink Statuspageにアクセスし、ページを下へスクロールします。
"First - Register" にメールアドレス・パスワード・ユーザネームを入力し"Join Us"をクリック。
登録が完了したらサインイン。
ページ上部の"Dash"をクリックすると、自分のStationの設定画面が表示されます。
右上の歯車ボタンを押すことでStationの名前の変更や位置の設定が可能です。
Nameにお好みの名前、latitudeに緯度、longitudeに経度を入力します。
たとえ正確な座標を入力しても、Starlink Statuspage側で意図的に座標に数kmの誤差を与える配慮がなされているようです。
地方さえ合っていれば、わざと他県の座標で登録したりするのもアリだと思います。
Station Key は後々必要になりますのでコピーしておきます。
プログラムのセットアップ-Windowsの場合
WSLのインストール
このツールの実行にはWindows上でLinux用のプログラムを実行できるWindows Subsystem for Linuxを利用します。
Microsoftのドキュメントに従ってWSLをインストールしてみましょう!
まずはWindowsのコマンドプロンプトを起動します。
"Windows"キーと"R"キーを同時に押し、「ファイル名を指定して実行」ダイアログを表示します。「名前(O):」の入力窓に"cmd"と入力して、"Shift"キーと"Ctrl"キーを押しながら"OK"をクリックします。これはコマンドプロンプト管理者権限で実行するために必要です。「ユーザアカウント制御」ダイアログが表示されたら"OK"をクリックします。
するとこのような真っ黒なウィンドウが開きます。
ここからの作業はここに文字を入力することで進めていきます。
では、以下のコマンドをコピー&ペーストして、Enterを押して実行してみてください!
wsl --install -d Debian
これによってWinwowsにWSLがインストールされます。今回は個人的に馴染みのある、Debianと呼ばれるディストリビューションを利用しています。
インストールが完了するとこのようなウィンドウが起動します。
ここではWSL上のユーザのusernameとpasswordを設定します。
英数字・半角記号でお好みのものを設定しましょう。
設定が成功するとこのような表示になります。これにてWSLのセットアップは完了です!
各種ソフトウェアのインストール
先ほどの緑文字が表示されたターミナルにコマンドを入力して進めていきます。
git/wget
ソフトウェアのデータをダウンロードするために利用します。
sudo apt install git wget
こんな警告が表示されましたか?
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for kitakami:
この警告は、Linuxで初めて管理者権限を使おうとした際に表示されます。大きな力には大きな責任が伴うのです...ということで先ほど設定したpasswordを入力します。
"Do you want to continue? [Y/n]"と聞かれたら、"y"を入力してEnterします。
ookla speedtest-cli
スピードテストを行うプログラムです。
sudo apt install curl
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt install speedtest
インストールが完了すると、以下のコマンドでスピードテストを行えるようになります。
speedtest --accept-license --accept-gdpr
このコマンドは各種ライセンス・規約への同意を行うオプション(--accept-license --accept-gdpr)が含まれています。
内容は以下のページをご確認ください。
https://www.speedtest.net/gdpr-dpa
https://www.speedtest.net/about/eula
https://www.speedtest.net/about/terms
https://www.speedtest.net/about/privacy
gRPCUrl
Starlink Dish (アンテナ)と通信を行い、pingなどの情報を得るために利用されます。
同時に、これをセットアップするためにGoogleの"GO SDK"もインストールします。
wget https://go.dev/dl/go1.20.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.20.1.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
sudo cp ./go/bin/grpcurl /usr/bin
starlinkstatus
これまでにセットアップしたプログラムを使って情報を収集し、Starlink Statuspageに送信します。
git clone https://github.com/Tysonpower/starlinkstatus
sed -i 's/speedtest -V --accept-license/speedtest --accept-license/g' ./starlinkstatus/starlinkstatus_client.sh
cd ./starlinkstatus && sudo chmod 700 starlinkstatus_client.sh && pwd
最後のコマンドを実行すると"/home/username/starlinkstatus"のような文字列が表示されます。後ほど必要になるためコピーしておきます。
自動定期実行の設定
Windowsのタスクスケジューラ機能を用いて、定期的に自動で計測が行われるようにします。
"Windows"キーと"R"キーを同時に押し、「ファイル名を指定して実行」ダイアログを表示します。「名前(O):」の入力窓に"taskschd.msc"と入力して"OK"をクリックします。
下のようなウィンドウが表示されたら「タスクスケジューラライブラリ」をクリックします。
画面が切り替わったら、ウィンドウ右側の「タスクの作成」をクリックします。
以下のような感じに設定します。
基本設定。
トリガー設定。測定に2分程度かかるため、xx時58分30秒を起点に30分や1時間ごと実行されるようにしておくとアップロード時刻が00分,30分になって気持ちが良い...
操作内容の設定。
「プログラム/スクリプト(P):」には"wsl.exe"
「引数の追加(オプション(A):」には"-u root 'path to starlinkstatus'/starlinkstatus_client.sh -k 'Your Station ID' -s -d"
「開始(オプション)(T):」にはwsl.exeが存在しているフォルダのパス
をそれぞれ入力する。
'path to starlinkstatus'は先の作業でコピーしておいた"/home/username/starlinkstatus"のような文字列
'Your Station ID'はユーザ登録時コピーしておいた"37fcbca1ae96a3e0"のような文字列
wsl.exeが存在しているフォルダのパスは、デスクトップ左下の"ここに入力して検索"にWSLと入力すると現れる「ファイルの場所を開く」から知ることができる。
例:"C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.0.3.0_x64__8wekyb3d8bbwe"
一通り入力が終わったら"OK"をクリックし、Windowsのアカウントのパスワードを入力する。
作成したタスクを右クリック・実行
このようなウィンドウが表示され計測が始まったら成功です!
計測結果を確認しよう
Starlink Statuspageの"Dash"ページでは、ログインすると自分のStationからアップロードされたデータの最新情報を閲覧することができます。
また、データ送信から数時間経過すると、"stations"ページの地図上にピンが表示され、通信速度やping値のプロットが見られるようになります!
私の環境では過去最高でDL285Mbps,UL42Mbpsだそうです。
私のStationの結果はこのリンクから見ることができます。
注意
StarlinkStatus.spaceはコミュニティベースのStarlinkステータスサイトであり、SpaceXやStarlink公式とのつながりはありません。(とのことです。)