NanoVNA V2をPCとつないでPCで測定状態を診る NanoVNA-QT

先日使い始めたNanoVNA V2(基本型)の画面は2.8インチ(6cm x 4.5cm)という小さなもので、近視かつ老眼進行中の「がとらぼ」の中の人にとっては「まぁ見えなくはないけど読みにくいよね」というのが正直な感想。できるならPCの大きな画面で余裕をもって見たいかなと思う。
普通のnanoVNA用にはNanoVNASaverという有名なのがある。これは最近はNanoVNA V2にも対応したので現在は利用できる。もう一つ、NanoVNA-QTというのがあってNanoVNA V2用として作られてる?のでNanoVNA V2のユーザーはNanoVNASaverが対応するまではNanoVNA-QTを使ってたみたい。今回はそのNanoVNA-QTを撫でるようにサラッと触ってみた。

Linux側の設定

Windowsではドライバのインストールが要るみたいだけどLinuxではデバイスと通信できれば特にすることは無い。ただし、最近のLinuxは初期状態でデバイスと通信できないのが普通だから、ちょっとだけ触る。
NanoVNA V2をLinux PCにUSB接続してNanoVNA V2デバイスの電源をオンにすると/dev/ttyACM0というデバイスファイルが出現する。これがNanoVNA V2のUSBシリアルデバイス。こいつでnanoVNAとシリアル通信する。

$ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0  9月 11 22:33 /dev/ttyACM0

読み書きのパーミッションがrootとdialoutグループにしか振られてないのでこのままでは一般ユーザーが使えない。sudo chmod 666 /dev/ttyACM0で変更しても良いが、このデバイスは生まれたり消えたりするので出現の度にパーミッションが戻る。/etc/udev/rules.d下にルールファイルを書いてパーミッションを自動設定するのが簡単かも。

/etc/udev/rules.d/40-nanoVNA.rules (新規作成)
KERNEL=="ttyACM0",MODE="0666"
極めて簡単にttyACM0デバイスはパーミッション0666にするというだけの指定。接続するデバイスに応じてとかもできるけど省略。
$ ls -l /dev/ttyACM0
crw-rw-rw- 1 root dialout 166, 0  9月 11 22:39 /dev/ttyACM0
これでLinux側は準備完了。NanoVNA-QT, NanoVNASaverを立ち上げる際は先にNanoVNA/NanoVNA V2をPCに接続して電源をオンにするとトラブらない(筈)。

NanoVNA QT

NanoVNA-QTは最初からNanoVNA V2用に作られたPC用のGUIツール。NanoVNA V2の本体の液晶画面でチマチマやるよりはPCの方が簡単よね。画面はシンプルでNanoVNA上でやるのと大して違わない印象。

https://github.com/nanovna/NanoVNA-QT/releases からなるべく新しいバージョンのダウンロードリンクからダウンロードする。Linux用、MAC用、Windows用はバイナリが用意されてるので簡単みたい。 Linux用はNanoVNA_QT_GUI-x86_64.AppImage(64bit用)またはNanoVNA_QT_GUI-i386.AppImage(32ビット用)をダウンロード。AppImageなのでそのままクリックして実行するだけ。
MacならNanoVNA_QT_MacOS.dmg、WindowsならCypressDriverInstaller_1.exe(ドライバ)とvna_qt_windows.zip。(未確認)

NanoVNA-QT 1
NanoVNA-QT起動直後はアプリ的にはNanoVNA V2と接続されていない状態なので画面に動きは無い。

NanoVNA-QT 2
上部メニューのDeviceからSelect Device欄の /dev/ttyACM0 をクリックする。(USBシリアルデバイスが1つしかない場合)

NanoVNA-QT 3
NanoVNA V2との接続が成功すると画面に線が描かれ始める。

NanoVNA-QT 4
右側でキャリブレーション。 アンテナ端子S11の方にNanoVNA V2付属ケーブルまたはアンテナに繋がるケーブルを接続する。 「Clear」を押す。
対向側の端子にNanoVNA V2付属の「ショート」のプラグを取り付ける。NanoVNA-QTの右列の「Short」を押す。数秒でボタンが紫色になる。上の画像の状態。
対向側の端子にNanoVNA V2付属の「オープン」のプラグを取り付ける。NanoVNA-QTの右列の「Open」を押す。数秒でボタンが紫色になる。
対向側の端子にNanoVNA V2付属の「ロード」のプラグを取り付ける。NanoVNA-QTの右列の「Load」を押す。数秒でボタンが紫色になる。
「Apply」のボタンを押す? ちょっと判らない。

NanoVNA-QT 5
キャリブレーションが終わってケーブルからプラグを外して落ち着くとこんな感じ。

NanoVNA-QT 6
キャリブレーションが終わったらこの状態を保存しておく。キャリブレーション時に使用したケーブルも込みの状態で。
左上隅の「Calibration」から「Save as...」を選択。ファイル保存窓が開くので好きな場所に好きな名前(拡張子は.cal)で保存する。接続するケーブル毎に保存しておけば次回以降に毎回キャリブレーションを行う手間が省ける。NanoVNA V2本体にも似たような機能はあるけど好きな場所に思うままに好きな名前で保存するというのはできないのでこの点はNanoVNA-QTの方が流石に良い感じ。

NanoVNA-QT 7
描くグラフの種類を選択する。画像では右の方をma(s11)からswr(S11)に変更するように見えるかもだけど、変更しようとしているのは左の赤線グラフ。

NanoVNA-QT 8
NanoVNA-QTの初期値では200MHz〜1425MHzを描くようになっている。これは広すぎるし診たい周波数でないかもしれない。
表示する周波数の幅は一番上の「Device」から「Sweep parameters」から指定する。

NanoVNA-QT 9
例えばADS-Bの1090MHz帯を見ようとしたときに、(好みで)前後100MHzずつ取って990〜1190MHz(200MHz幅)を指定する。
測定ポイント(Frequency point)を100(箇所)に指定(初期値50)。200MHz幅に100箇所の測定ポイントなので測定間隔(Step Size)は初期値の4.00から2.00に変わる。
良さそうなら[OK]を押す。

NanoVNA-QT 10
表示したい周波数の範囲になったことを確認して、下部のスライダーを動かす。左の方に表示される周波数が変化するので診たい周波数に合わせる。今回接続したアンテナだとswrが1090MHz付近で最小になり値がグラフ上では1.0〜1.1程度?最下部の周波数の右側に赤と青の値がその周波数での値で、赤字のSWR(S11)は値が1.05ということらしい。 左のスミスチャートで赤い点がちょうど左右の中央50Ωで上下のズレもないので良い感じ。(なのかな?) スミスチャートの見方がこれっぽっちも判ってない人なのでスミマセン。

nanoVNA-QTはゴチャゴチャし過ぎてないのでド素人の「がとらぼ」の中の人でも初見で「全然わかんねぇ」ってほどではなくなんとか触れた。ただ、値が数値として何処に表示されるか判りにくいと思った。

1090MHz用PCBアンテナ 3
今回測ったアンテナ。測定前は中華の怪しい製品だと思っていたのとアンテナハイトパターンの罠にハマったのか実際の受信で能力が低いと思って退役させてたんだけど、今回測ってみたらド素人的には悪いところが判らず。むしろ良い感じ?

長さが違うけど使用したのと似たパイプ入りアンテナ

2020年最強コスパWi-Fiルーター Redmi路由器 AC2100 (後編)

Xiaomi Redmi ルーター AC2100

前編は、Wi-Fi5(IEEE 802.11ac)の超高速(最大2100bps)ルーターが3500円だったので買ってしまったという話。
中国から届いたXiaomiのRedmi路由器 AC2100を開梱して「技適未取得機器を用いた実験等の特例制度」の届け出を行って電源をオンにする準備まで行った。
今回は電源をオンにして、日本で使用することが許されない5.8GHz帯をオフにし、代わりに5.2GHz帯をオンにする。また、ルーターモードではなくAPモードに変更する。

電波暗室など電波を完全に遮断できる部屋で設定する場合

AC2100の下面に書かれている「2.4G Wi-Fi」(2.4GHzのSSID)を確認する。PKI(パスワード)は無い。
AC2100の電源をオンにする。
スマートフォンやノートPCのWi-Fi設定で新しい接続先として「2.4G Wi-Fi」にか書かれていたSSIDが表示されることを確認し、そのSSIDを選択して接続する。
5GHz(5.2,5.3,5.6,5.8GHz)のSSIDはこの時点では表示されない筈。(5.8GHz対応端末を使用している場合を除く)
ブラウザを起動し、URL欄にmiwifi.comまたは192.168.31.1を入力する。

AC2100をアルミホイルなどで電波的に密封して有線LANで設定する場合

PCとAC2100を有線LANで接続する。(L2SW経由でもOK)
PCのネットワーク設定で、IPアドレスを192.168.31.x (xは2以上254以下)、サブネットマスク255.255.255.0、デフォルトゲートウェイ192.168.31.1、DNSはテキトーまたは無しに設定する。
ブラウザを起動し、URL欄に192.168.31.1を入力する。

画像が無いが、初起動時は2つ質問される。(以下)
先ず、Wi-Fiルーターのネットワーク設定。とりあえず最初に表示されている自動割当てのDHCPで良いので下の「下一歩」ボタンを押す。
次に、AC2100のSSIDとパスワード(PKI)を入力する画面が表示される筈。わかりやすいSSIDとパスワードを決めて入力する。下の「下一歩」ボタンを押す。確認画面が表示されるので表示されるSSIDとパスワードをメモる。2.4GHz用SSIDは入力した値、5GHz用は入力した値+「_5G」になる。パスワードは2.4GHz,5GHz共に入力した値。
ここで指定することで、次回以降の接続ではSSIDがAC2100下面の「2.4G Wi-Fi」「5G Wi-Fi」の値ではなくなるので忘れないこと。文字化けによるトラブルが報告されているのでアルファベットと数字と半角記号以外は入力しない方が良いらしい。また、Wi-Fiルーターのリプレースの場合、これまで利用していたWi-Fiルーターと同じSSIDとパスワードを指定すると接続する子機側の再設定は不要なので個人的にはオススメ。

接続が切れるので新しいSSIDとパスワードで再接続する。

Redmi AC2100の設定 1
ブラウザを起動し、URL欄にmiwifi.comまたは192.168.31.1を入力する。
管理画面に入るためのパスワード入力欄。初期値はたしか「無し」の筈なので[Enter]キーを押すか<右向き矢印ボタンを押す。
Xiaomiのルーターでは伝統的に"admin"が初期パスワードとして使われてきたようです。また、ルーター本体ウラ面に初期パスワードが記載されている場合があります。しかし、Redmi AC2100では1つ前の手順で入力したWi-Fi用のパスワードが管理画面の初期パスワードになるようです。Wi-Fi用に設定したパスワードを入力してください。入力間違いを数回繰り返すと一時的にロックアウトされるようなのでご注意ください。(これは全くの新品時ではなくリセットなどで初期化した場合だけかもしれません)

Redmi AC2100の設定 2
ルーターの状態表示画面が表示される。

Redmi AC2100の設定 3
一番上の「常用设置」を選択。アイコン付きの「Wi-Fi设置」を選択する。
先に設定したSSIDで2.4GHzと5GHzの設定が表示されている筈。そのままでも良いが、2.4GHzと5GHzで同じSSID名を使いたい場合は「Wi-Fi双頻合一」のスイッチをOnにする。
2.4GHzのチャネル設定は自動で構わないが、5GHzは初期値が5.8GHzを使用するようになっているので必ず変更。
36〜48の間でどれかを選ぶ。保存を忘れずに。

所謂5GHzのチャネル
5.2GHz帯: 36, 40, 44, 48 (AC2100対応)
5.3GHz帯: 52, 56, 60, 64
5.6GHz帯: 100, 104, 108, 112, 116, 120, 124, 128, 132. 136, 140
5.8GHz帯: 149, 153, 157, 161, 165 (AC2100対応、日本では絶対使用禁止)

これで初期値の5.8GHzから5.2GHzに切り替わった
また、日本の5GHz対応機器にAC2100のSSID(5GHz)が表示されるようになる筈。あくまで仮定だけど5.8GHzを出してると日本の機器は非対応なのでSSIDは表示されないし接続もできない。
日本のWi-Fi機器にAC2100の5.2GHzのSSIDが表示されるのを確認してようやく安心できる。

Redmi AC2100の設定 4
一番上の「高級设置」(高度な設定)を選択。この高度な設定は、ルーターモードでは設定できるがAP(ブリッジ)モードでは設定自体表示されず機能もしない。今回はAPモードに切り替えて使うので存在の紹介だけ。

Redmi AC2100の設定 5
一番上の「常用设置」を選択。アイコン付きの「上网设置」(インターネット設定)を選択。
初期値はおそらくDHCP設定あたりの筈。上部に現在の設定が表示されている。
上から2番めの項目の「上网设置」でインターネット(WAN側)と接続する方式を選択。初期値はDHCPなので必要に応じてPPPoEや静的IP設定に変更する。AP(ブリッジ)モードで使用するならおそらくLAN内のDHCPサーバを使う筈なのでそのままDHCPで良いかと。LAN内にDHCPが無いということであれば静的IPで設定。
モード切り替えは下から3番めの項目の「工作模式切换」。今回はルーターとしてではなくAP(アクセスポイント)として使うので変更する。「切换」ボタンを押す。(次へ)

Redmi AC2100の設定 6
上から「普通のルーター」モード(初期値)、「無線中継」モード、「有線中継」モード(ブリッジのことみたい)。今回はAP(ブリッジ)モードにするので3つ目を選択。「下一歩」ボタンを押す。

Redmi AC2100の設定 7
確認や案内が表示されるので全て青塗りのボタンを押す。

Redmi AC2100の設定 8
「確定」で変更完了になる。
1つ気付いたことがあるが、普通はDHCPモードになっていればDHCPサーバ側で割当IPアドレス変更後に再起動するなどで次回からは(変更後の)割り当てられたIPアドレスを使うことになる筈だが、Redmi AC2100はどうもこの画面で表示されたIPアドレスを後生大事に使い続けるみたい。別のIPアドレスを使って欲しいということになった場合は、モード変更で一度ルーターモードに戻してWAN側の設定をし直して再度AP(ブリッジ)モードに変更しないと割当変更が効かないみたい。Wi-Fi AP機器のIPアドレス割当ての変更はそうそう行うものではないとは思うが、ちょっとヘンね。

Redmi AC2100の設定 9
管理画面右上に表示されているのがこの機器の名称(ホスト名のようなもの)。その横の「」がメニューになっている。上から、「修改路由器名称」(この機器の名称の変更)、「系统升级」(ファームウエア更新)、「下载客户端」(スマホアプリのDLリンク)、「重启」(この機器の再起動)、「注销」(ログアウト)
難しいのは無い。

Redmi AC2100の設定 10
Xiaomiのスマホ Redmi Note 9SをAC2100に接続してみた。接続中のSSIDの表示を見ると何故かXiaomiのロゴが表示されている。手持ちの他の機種ではXiaomiのロゴは表示されなかった。これが何か意味があるのかは知らない。Xiaomiの機器同士なら表示されるのかな。

こんな感じで、Redmi AC2100は基本性能が高い割にすごく簡単。設定項目は日本ブランドの製品でいえばエントリーモデル並だと思う。中国だと購入して使う人が多いと思われるのでそれを考えるとアホみたいに意味の解らない機能とか設定は無くして当然ということか?ブリッジとして使うと、さらにできることは少なくなる。これは日本ブランドを含め他の製品も基本的には似たようなもの。基本的には電源とNWケーブルつないでチョイチョイと選択したら、もう壊れるまでそのまま。そんな使い方を想定しているのでしょう。
ただし、製品の想定外の使い方(今回でいえば中国向けの製品を日本で使う)をする際は少しだけ普通は行わないようなことをしなくてはならない。あと、中国向け専用品とはいえ、せめて英語表示に切り替えられるようにはして欲しいかな。

最強コスパという点では今年すでにWi-Fi6(IEEE 802.11ax)のルーターRedmi路由器 AX5が本体価格約4000円になっていて、少しだけ悩んでみたけど、手持ちにWi-Fi6対応機器が無いのとMIMOでの最大速度(の論理値)がAC2100の方が(AX5の最大1800Mbpsより)上だったということで最強コスパとしてはAC2100を選んだ。2021年はもしかしたらRedmi AX5の後継機がコスパ最強とか言って買ってるかも。

2021年4月17日追記:
「技適未取得機器を用いた実験等の特例制度」では「短期間の実験等」を半年以内で行うということになっていて、一度届け出を行ったら半年以内に廃止届け出を行う必要がある。もちろん、廃止届け出を行ったらその機器は電波を出す(つまり使用する)ことはできない。なお、違う実験を行うとして改めて届け出することは可能。
それで、今回は廃止届け出を行った後に改めて届け出するということは行わなかった。
何故かというと、LAN内のDNSサーバのクエリーログを見ると、AC2100から7秒毎にapi.miwifi.comのAレコードとAAAAレコードを引いてたのが気になったから。7秒毎となると劇的に多いとまでは言わないけどちょっと嫌な頻度の高さ。ほとんどはapi.miwifi.comだけどbroker.miwifi.comというのも時々ある。名前解決後にどんな通信を行っているのかまで確認しなかったのを「しまったぁ」と思ってるけど、まぁ何か勝手に中国のサーバに送ってるのかと思うと気味悪い。
もしかするとファームウエアの更新版の有無を確認してるだけとかいうことかもしれないが、それなら頻度が高すぎるとしか。

関連記事:
Up