manahiyoの気まぐれ

備忘録を兼ねたブログです。

NanoVNAとANDROIDで通信してみた

はじめに

今までRTL-SDRやSDRPLAYなどでスペアナ表示をしてきましたが、NanoVNAもスペアナ代わりになるという話を聞き、トライしてみました。

インタフェースについて

こちらの動画にある通り、シリアルポートでのリモート制御になっており、大変シンプルでした。

www.youtube.com

まずはPCからアクセス

COMポート通信なので定番のTeraTermで接続してみました。下記の通り、infoで情報が表示されました。

例えば下記コマンドを入れると

sweep 100000 200000 101

ちゃんと周波数とポイント数が設定されました。

コマンドは下記PDFに一覧があります。

https://4ham.ru/wp-content/uploads/2020/05/NanoVNA_Console_Commands_Dec-9-19-1.pdf

ということで、PCからの接続は簡単にできました。

ANDROIDから接続してみる

RTL-SDRなどをつなぐときと同じようにOTGケーブルで接続します。

GooglePlayにシリアル通信のソフトがあったので、こちらでまず試しました。

play.google.com

PCの時と同じようにinfoコマンドをやると同じように表示できました。特にドライバなど入れる必要はありませんでした。Android標準のドライバが使われているのかもしれません。

自分のソフトから接続してみる

次に自作のソフトからアクセスするのにどうするか、考えてみました。UNITYから使いたいので、ちょうどよいアセットがないか見たところ、下記がとても簡単でした。

 assetstore.unity.com

PCもANDROIDも両方対応しているので、お試し版でやってみましたが、何もトラブルなくスムーズに接続してコマンド制御できました。素晴らしい。

ただ難点が・・・高い。約$87です。

趣味のシリアルポート通信にこんな払えるか!!・・・というのが正直なところ。

そこで、ほかにないか調べたら・・・ありました。

independence-sys.net

次が元のようです。

github.com

 

こちらのサンプルをAndroidStudio2022.1.1でコンパイルして動作させたところ、無事通信できました。

これをライブラリ化してネイティブプラグインでUNITYからアクセスできるようにすれば、目的が達成できそうです。