Raspberry Pi(ラズパイ)のコマンドラインで、ネット回線のスピードテストが出来るソフトの存在を知ったので覚書。それは

 

Speedtest CLI

 

これは、スピードテストでメジャーなサイトspeedtest.netを利用して測定します。

実際私がラズパイにインストールした方法は以下の通りです。speedtest.netのインストールオプション(Ubuntu/Debian)から、一行ずつコピペで実行しました。

$ sudo apt-get install gnupg1 apt-transport-https dirmngr
$ export INSTALL_KEY=379CE192D401AB61
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $INSTALL_KEY
$ echo "deb https://ookla.bintray.com/debian generic main" | sudo tee  /etc/apt/sources.list.d/speedtest.list
$ sudo apt-get update
$ sudo apt-get install speedtest

 

↓ あとはSpeedtestとタイプするだけで、スピードテストが出来る。

$ speedtest

   Speedtest by Ookla

     Server: IPA CyberLab - Bunkyo (id = 14623)
        ISP: au one net
    Latency:     8.66 ms   (0.30 ms jitter)
   Download:   666.34 Mbps (data used: 691.7 MB)                               
     Upload:   758.03 Mbps (data used: 744.9 MB)                               
Packet Loss:     0.0%
 Result URL: https://www.speedtest.net/result/c/0xxxxxxc-xxx1-xxx7-9xxx-dxxxxxxxxxxx

↑ この測定時は、またまた早い速度になりましたが、接続先サーバーや時間帯により低速度の時もあります。

↓ コマンドオプションを付ける事により、接続先サーバーを指定出来るようです。–helpで見ると、色々なオプションが利用出来るようですけど、私が分かるのはサーバーリストとサーバー指定位でした。

$ speedtest --help
Speedtest by Ookla is the official command line client for testing the speed and performance of your internet connection.

Version: speedtest 1.0.0.2

Usage: speedtest []
  -h, --help                        Print usage information
  -V, --version                     Print version number
  -L, --servers                     List nearest servers
  -s, --server-id=#                 Specify a server from the server list using its id
  -I, --interface=ARG               Attempt to bind to the specified interface when connecting to servers
  -i, --ip=ARG                      Attempt to bind to the specified IP address when connecting to servers
  -o, --host=ARG                    Specify a server, from the server list, using its host's fully qualified domain name
  -p, --progress=yes|no             Enable or disable progress bar (Note: only available for 'human-readable'
                                    or 'json' and defaults to yes when interactive)
  -P, --precision=#                 Number of decimals to use (0-8, default=2)
  -f, --format=ARG                  Output format (see below for valid formats)
  -u, --unit[=ARG]                  Output unit for displaying speeds (Note: this is only applicable
                                    for ‘human-readable’ output format and the default unit is Mbps)
  -a                                Shortcut for [-u auto-decimal-bits]
  -A                                Shortcut for [-u auto-decimal-bytes]
  -b                                Shortcut for [-u auto-binary-bits]
  -B                                Shortcut for [-u auto-binary-bytes]
      --selection-details           Show server selection details
      --ca-certificate=ARG          CA Certificate bundle path
  -v                                Logging verbosity. Specify multiple times for higher verbosity
      --output-header               Show output header for CSV and TSV formats

 Valid output formats: human-readable (default), csv, tsv, json, jsonl, json-pretty

 Machine readable formats (csv, tsv, json, jsonl, json-pretty) use bytes as the unit of measure with max precision

 Valid units for [-u] flag: 
   Decimal prefix, bits per second:  bps, kbps, Mbps, Gbps
   Decimal prefix, bytes per second: B/s, kB/s, MB/s, GB/s
   Binary prefix, bits per second:   kibps, Mibps, Gibps
   Binary prefix, bytes per second:  kiB/s, MiB/s, GiB/s
   Auto-scaled prefix: auto-binary-bits, auto-binary-bytes, auto-decimal-bits, auto-decimal-bytes

 

↓ 接続先サーバーリストの表示。

$ speedtest -L
Closest servers:

    ID  Name                           Location             Country
==============================================================================
  6087  Allied Telesis Capital Corporation Fussa-shi            Japan
  8407  Allied Telesis Capital Corporation Sagamihara           Japan
 28910  fdcservers.net                 Tokyo                Japan
 20976  GLBB Japan                     Tokyo                Japan
 24333  Rakuten Mobile , Inc           Tokyo                Japan
 15047  OPEN Project (via 20G SINET)   Tokyo                Japan
 32907  KFNET                          Tokyo                Japan
 34122  Boingo Wireless                Tokyo                Japan
 14623  IPA CyberLab                   Bunkyo               Japan
  7139  SoftEther Corporation          Tsukuba              Japan

 

↓ 接続先サーバーの指定、例えばTsukuba(ID 7139)の場合。

$ speedtest -s 7139

   Speedtest by Ookla

     Server: SoftEther Corporation - Tsukuba (id = 7139)
        ISP: au one net
    Latency:     8.75 ms   (0.35 ms jitter)
   Download:   784.50 Mbps (data used: 694.8 MB)                               
     Upload:   762.96 Mbps (data used: 853.8 MB)                          
Packet Loss:     0.0%
 Result URL: https://www.speedtest.net/result/c/e9xxxxx7-xxxd-xxxe-8xx1-000xxxxxxx77

 

私のテスト環境は、Micro SD用カードリーダーにSDカードを入れてUSBブートさせたRaspberry Pi 4 Model B/4GB(ラズパイ4本体のカードスロットは空)と、イーサネット1Gbps接続(有線LAN)で、OSはRaspberry Pi OS (32bit) Lite Version August 2020です。

 

インストール方法はSpeedtest.netに載っています。

Speedtestアプリ

Raspberry pi 4(ラズパイ4)を購入してから数ヶ月。巷で話題のUSBブートが気になっていたけど、設定が面倒くさいので後回しにしていた。……けど。

 

既に設定不要でUSBブート出来るようになっていました。

 

↓ USBブートが可能になっていた私のラズパイ4のブートローダのバージョンは以下の通りです。

$ vcgencmd bootloader_version
Sep  3 2020 13:11:43
version c305221a6d7e532693cc7ff57fddfc8649def167 (release)
timestamp 1599135103

 

↓ USBブートしたラズパイ4。ラズパイ4本体のカードスロットは空です。

 

私はアップロードとアップグレードしかしてないのですが、いつの間にかUSBブートが出来るようになっていました。

 

まてよ、私の使用環境でUSBブートのメリットはあるのか?

今回私は、同じSDカードを内蔵SDカードスロットから起動させたり、USB3.0ポートから起動させたりして喜んでいた訳ですが、何となく同じSDカードならUSB3.0ポートに接続した方が読み書きが早い気がしていました。

本当にそうなのか、安易な方法で比べてみました。

同じSDカードを用いて、内蔵SDカードスロットとUSB3.0ポートからそれぞれで起動させて、動画ファイル1.3GBのアップロード時間の比較です。

↓ 結果(秒数の少ない方が速い)

内蔵SDカードスロット 60.45秒 USB3.0ポート 69.34秒

その安易な方法とは、ラズパイ4にFTPサーバーのvsftpdを立ち上げて、そこにMacのFTPクライアントソフトのForkLiftで接続して、1.3GBの動画ファイルをアップロードさせた時の時間をストップウォッチで測りました。上記結果の数値は、それぞれ3回ずつ測った平均値です。同じSDカードなら、アップロードが速かったのは内蔵SDカードスロットでした。

私みたいにSDカードで事足りるなら、普通に内蔵SDカードスロットで起動させましょう。

実走行距離(トリップメーターの値)とGPSロガー(iPhone アプリZweiteGPS )で記録された走行距離の差が僅か1.4%でした。

「驚きました」……ですよね?

170km以上走行して「2.5km位しか⁉︎」差が無いんですよ。

普通? ……。

今回、ZweiteGPSの値が少ない理由として、ログ記録間隔を5秒にしてあった為、余計に差が出たと思います。この間隔を1秒にすれば、その差はもっと縮まるのでは。実際走行する道はカーブばかりですから、ログ記録間隔を短くする方が正確でしょう。

 

↓ その時の走行データ(画像)です。よく見ると平均時速が異なりますが、駐車中にデータ取得するしないの違いかなぁ。ZweiteGPSは終始記録していました。ついでに、標高195mの自宅発着して走行距離177.7kmで燃費29.9km/Lでした。もう8年も経つプリウス30後期ですが、まだまだ良い燃費です。因みに殆どパワーモードで燃費を意識せず、周りの車の流れに沿って走行しました。

 

 

もっと凄いおまけ

↓ 数日前の走行データを見直したら、走行距離がもっと近かった。その差は0.6%

僅か0.6%だった理由として、あの日は走り易い片側2車線の国道を多用し、今回より緩やかなカーブばかりの道だったからだと思います。

四角い田んぼの面積を測るなら、Googleマップがお勧めです。

田んぼの面積を測りたいと思いググってみると、Googleマップで面積まで分かる事を知り、Googleマップ上の距離と実測値とを比べてみました。

 

↓ Googleマップでうちの田んぼの一辺を測ってみたら61.42mでした。

↓ 現地に行って、同じ所をレーザー距離計で実測した平均値は61.438mでした。(画像内のレーザー距離計が水平では無いですが、測定後別な場所で撮影した為です)

 

結果

Googleマップ 61.42m レーザー距離計 61.438m(3回測定の平均値)

 

↑ 思いの外、Googleマップと実測値が近過ぎて驚きです。18mmの差しかない。

たった18mmの差は、偶然に出た良い結果でしょう。Googleマップ上で位置を決める時、0.01m(1cm)単位など最小ドラッグだけで大きく変化します。またGoogleマップの航空写真の解像度では、1cm単位の精度は出ないでしょう。何となく10cm単位で精度があるならば凄いと思います。

 

↓ Googleマップ上の距離が結構正確なので面積測定も期待出来ます。

↑ のような直線だけで線を引ける田んぼなら簡単ですが、曲線の多い田んぼの場合は、Googleマップ上で正確な面積測定は難しいと想像出来ます。

HF機で扱う160mから6mまでの各バンドのPSKREPORTERマップをタイムラプス動画にしてみました。

画像取得期間は2020年9月30日から同年10月20日まで、10回に分けて行いました。各動画のサムネイルは、比較の為に正午の画像で揃えています。

 

↓ PSKマップ50MHz(6mバント)FT8の1日をタイムラプス動画にしました。記録日は2020年10月13日(火)で、動画内の時計は日本時間です。

 

↓ PSKマップ28MHz(10mバント)FT8の1日をタイムラプス動画にしました。記録日は2020年10月20日(火)で、動画内の時計は日本時間です。

 

↓ PSKマップ24MHz(12mバント)FT8の1日をタイムラプス動画にしました。記録日は2020年10月18日(日)で、動画内の時計は日本時間です。

 

↓ PSKマップ21MHz(15mバント)FT8の1日をタイムラプス動画にしました。記録日は2020年10月16日(金)で、動画内の時計は日本時間です。

 

↓ PSKマップ18MHz(17mバント)FT8の1日をタイムラプス動画にしました。記録日は2020年10月8日(木)で、動画内の時計は日本時間です。

 

↓ PSKマップ14MHz(20mバント)オールモードの1日をタイムラプス動画にしました。記録日は2020年9月30日(水)で、動画内の時計は日本時間です。

 

↓ PSKマップ10MHz(30mバント)FT8の1日をタイムラプス動画にしました。記録日は2020年10月6日(火)で、動画内の時計は日本時間です。

 

↓ PSKマップ7MHz(40mバント)FT8の1日をタイムラプス動画にしました。記録日は2020年10月2日(金)で、動画内の時計は日本時間です。

 

↓ PSKマップ3.5MHz(80mバント)FT8の1日をタイムラプス動画にしました。記録日は2020年10月4日(日)で、動画内の時計は日本時間です。

 

↓ PSKマップ1.9MHz(160mバント)FT8の1日をタイムラプス動画にしました。記録日は2020年10月10日(土)で、動画内の時計は日本時間です。