📄

ソフトウェア無線(SDR)を使ってLoRaの電波をモニタする

2022/11/12に公開

LoRa通信が出来ない、もしくは通信できたり出来なかったりと不安定な時、LoRaの電波をモニタ出来れば問題の切り分けが出来て解決しやすくなります。個人的にも特定のチャンネルで通信した時にデータが届かなくて、ゲートウェイのチャンネル設定が誤っていることに気が付いたり、ノードの電池が消耗してて電波が普段より弱く出ていたりと、モニタして解決できたことがあります。

とは言え、電波の検査機器を買おうとすると高価な物ですので、それ方面で仕事をする人でなければ入手のハードルが高いと感じます。ここではそういった機器を使わずに手軽に入手できるソフトウェア無線のデバイスとWindows PCを使って簡易的にモニタする方法について紹介します。

ソフトウェア無線デバイスを入手する

ソフトウェア無線とは(SDR:Software Defined Radio)とも呼ばれてます。無線電波を受信した先の復調に関する処理をソフトウェアで行うデバイスです。細かい話はここでは触れませんが、要するにソフトウェア次第で様々な電波に対応できますで、LoRaのデバイスではなくても無線部の周波数が対応していればモニタすることができます
SDRを前提とした無線デバイスを使っても良いですが、更に手軽に入手できるのが1セグチューナーです。すべての1セグチューナーがソフトウェア無線とは限りませんが、安価に手に入る物は RTL2832U というチップが載ったソフトウェア無線である可能性があります



手元にあるのは何年か前にドン・キホーテで購入しましたが、最近は近隣の店舗では見かけなくなりましたので、これと同じものを見つけるのは難しいと思います。ただ、ネットで調べる限りでは RT-DT308RT-DT310 など RT-DT3xx の型番がある物はソフトウェア無線な気がします。保証はできませんが、博打した方がおりましたらコメント頂けると嬉しいです。

ドライバをインストール

Windowsインストール直後ではソフトウェア無線のデバイスを接続しただけでは、何のドライバも読み込まれず、デバイスマネージャーで確認すると黄色い!が付いた状態で「RTL2832U」が表示されます。

もしも、1セグチューナーとして利用していた場合は1セグ視聴用のドライバが読み込まれているかもしれませんが、ここでインストールするドライバと競合する可能性がありますので、視聴用のドライバは削除するのが無難だと思います。

以下から、Zadigをダウンロードします。
https://zadig.akeo.ie/

「Download」の章を探して、ダウンロードのリンクをクリックします

ダウンロードしたzadigのプログラムファイルを開きます。ユーザーアカウント制御のダイアログが開いたら「はい」をクリックして起動します。

始めて起動した時にUpdateのチェックを行うか聞かれますが、どちらを選んでも構いません。今ダウンロードしたばかりなので、古いことは無いと思いますので「No」でも良いと思います

起動すると、リストに「RTL2832U」が表示されていれば、[Install Driver]ボタンをクリックするとインストールが始まります。リストに何も出てこない場合は [Options]の[List All Devices]にチェックを入れるとPCに繋がっている全てのデバイスがリストに表示されますので、その中にソフトウェア無線のデバイスが無いか確認します。それでもリストに見つからない場合は何かトラブルシューティングが必要なデバイスか、ドライバが対応しないデバイスかもしれません。

インストールが進みます

インストールが完了すると「The driver was installed successfully.」と表示されます。zadigのウィンドウを閉じます。

一旦、ソフトウェア無線のデバイスをUSB端子から抜き差しします。

デバイスマネージャーを開いて、「ユニバーサル シリアル バス デバイス」の中に「RTL2832U」が表示され、黄色い!が表示されていなければドライバのインストールは完了です。

SDR# (SDRSharp)を使う

LoRa無線のモニタにはSDR# (SDRSharp)というソフトウェアを使います。

SDR# (SDRSharp)のインストール

SDR#は以下からダウンロードできます。
https://airspy.com/download/

本記事作成時の画面では以下の[Download]ボタンをクリックしてダウンロードできました。 Software Defined Radio Package の contains に SDR# (SDRSharp) revision 1902 (2022-11-09) – The best free SDR software for Airspy and RTL-SDR dongles! と書かれてました。
screenshot

sdrsharp-x86.zip (環境次第では .zip が表示されません)という名前でダウンロードされます。ZIP圧縮ファイルを展開して作成された sdrsharp-x86 ディレクトリを開きます。

install-rtlsdr.bat (環境次第では .bat が表示されません)をダブルクリックします。RTL-SDRに必要なファイルがインストールされます。

「続行するには何かのキーを押してください」と表示されたらキーボードのEnterキーなどを押せばウィンドウが閉じます。

SDR#のインストール作業は以上です。

SDRSharp.exe (環境次第では .exe が表示されません)をダブルクリックするとSDR#が起動します。次回からは SDRSharp.exe をダブルクリックするだけでOKです。

初回起動時には「Microsoft Defender SmartScreen」によるアプリ起動の停止ウィンドウが表示されます。[詳細情報]をクリックして[実行]をクリックします。

設定

LoRaをモニタする為に必要な設定を行います。

  • Sourceを「RTL-SDR USB」に変更します
  • 歯車アイコンの[Configure Source]ボタンをクリックしてSource設定ウィンドウを開きます
    • Deviceの欄に「RTL2832U」のデバイスが表示されることを確認します。
    • デバイスがPCに接続されていない、もしくはドライバのインストールに失敗した場合など、SDR#に認識がされてないとDeviceが空欄になります。
    • 確認したら[Close]をクリックして設定ウィンドウを閉じます。
  • Radioを「WFM」にします。

LoRaの電波をモニタする

  • 周波数を「921.000.000」~「923.000.000」(921MHz~923MHz)の範囲のいずれかにします。変更したい桁の数字の上部か下部をクリックすると、その桁の数字が増減します。
  • 三角形のアイコンの[Start]ボタンをクリックするとモニタが開始します。
  • LoRaWANのサーバーの指示により使用される周波数が変化します。LoRaノード(デバイス)からデータを送信させてみて、グラフに変化が現れることを確認します。
  • LoRaの電波を上手くキャッチできると、通信に使用されている周波数帯の値が高くなります。

調整

  • 「zoom」をクリックしてグラフを見やすいように調整します
    • 幅広い周波数を確認できるように、「zoom」のスライドバー (一番上) を最低にします
    • 全体的に値が大きく出ているので、「Offset」(一番下) を下げてグラフを下に落とします

Discussion