電源のとれないような不便な場所にアンテナを設置するのが理想的だ。超長波)の信号を受信するためにはとても大事なことである。特大アンテナで遠くの電波も受信したいのならなおさら最初の設置場所は充分に条件の良いところがよいだろう。一般的な解決策としては、理想的な場所にアンテナを設置し、そこから長い同軸ケーブルを引っ張って無線機につなぐことが挙げられる。この方法は、同軸ケーブルの長さによってはロスや非常に大きなノイズの発生原因となってしまうことがある。そこでもう少し改良した改善策は、アンテナの近くに無線機を設置し、遠隔で操作する方法だ。以前であればこういった方法は、実現性が薄かった。電源がなかったり遠隔制御システムの構築が非常に手間だったからだ。ソフトウェア無線)が進んできこと、端末の遠隔操作が非常に簡単に実現できること、不便な場所でもPoE(Power-over-Ethernet)で電源供給できることなどから、現実的なソリューションになりつつある。そこで今回はPoEに対応したラズパイ3B+からSDR端末をリモート制御する方法を試してみた。PoEはEthernetケーブルを通じて長距離の電源供給と通信が可能な技術である。通常、屋外に機器を設置する場合、電気工事士の資格が必要であるが、PoEであれば屋外に設置した端末に室内から電力を供給しつつ遠隔操作が可能だ。することで安全な場所から無線機を制御できるプラットフォームができた。安価なSDR受信機だ。2GHzの周波数に対応している。現在3つのバージョンが利用できる。RSP2のメタルケースバージョンRSP1Aは最も安価なバージョンだが、RSP2では雑音指数が改善されており(結果的に感度があがっていると考えることができる)、新たに追加された同軸入力が利用できる(さらにアンテナが複数あれば異なる帯域も利用できるため便利だ)。3つめの高インピーダンスアンテナを直接利用することもできるのだ。基準クロックI/O機能も強化されており、例えばGPS(もしくは地域)によって基準クロックを固定したい場合や、複数のユニットを同期させたい場合などに便利だ。RSPはUSBから電源を供給することが可能であり、追加の電源ソースが全く必要としない優れものだ。B+に搭載するのに非常に適していると言えるだろう。浸入防護)レートを持っているものが適しているだろう。ドライバーソフトウェアRSPハードウェアドライバ/APIのインストールは、こちらからダウンロードし、以下のコマンドを入力するだけで簡単に行うことができる。Piのローカル上(端末の中)で動作させることができるアプリケーションとして、私たちはいくつかの手段を選択することができる。Mode-Sのトランスポンダ信号を受信することができるものだ。このトランスポンダ信号は飛行機の個体認識や位置、速度などの取得に利用されている。ツールキットのトップにビルドされていることをご存じだろうか。Companionと呼ばれるビジュアルエディタも提供されており、信号を処理し、集約したグラフをすぐに表示することができるのだ。ブロックも必要であることに注意しよう。GrOsmoSDRは様々なSDRハードウェアを提供しており、便利なFFT(高速フーリエ変換)ディスプレイアプリケーションも備えている優れものだ。この記事を執筆している現在では、公開されているフォーク(一時的なバージョン)を利用しなければならず、詳細についてはSDRplayフォーラムで提供されるようだ。Radio自体をすべて構築することは、非常に大規模なコードで構成されており、ビルドに長時間かかってしまい、さらに時に問題が発生してしまうためあまりお勧めできない。Radioをインストールすることを推奨する。そのためのコマンドは以下を参照して欲しい。gnuradio-dev次にgr-osmosdrの構築を行ってみよう。今回利用しているバージョンにおいては、どんな小さなアプリケーションをインストールしたい場合には毎回ビルドを実行しないといけない。GqrxをRaspbianパッケージリポジトリからインストールする場合、gr-osmosdrのリポジトリパッケージが参照されるため、この場合には自身でこのビルドを実行しなければならない。これは明らかにSDRplayのサポート対象外だろう。サポートSoapySDRとは、モジュラアーキテクチャ型のニュートラルSDRサポートライブラリプラットフォームを提供しているベンダーの一つだ。SoapySDRPlayモジュールはSDRplayハードウェアに追加サポートを行っている。APIをサポートするアプリケーションを利用することができるようになる。以下はそのインストール手順だ。installSoapySDRPlayモジュールのインストールについては以下だ。installSDRplayがドライバインストール時に接続されていた場合は、一度抜いたのちに再度接続しよう。--findこれでインストールが完了したはずだ。SoapySDRを利用して、次のようにハードウェアが正しく認識されていることが確認できるようになった。これでSoapySDRが私たちのハードウェアを認識できるようになったことを確認できたので、次にCubicSDRもしくはそのほかのAPIをサポートしたアプリケーションをビルドしよう。実は、SoapySDRの素晴らしい特徴の一つとしてSDRハードウェアの遠隔操作を実現するリモートストリーミング機能がある。そこで、先にこのリモートストリーミング機能について触れておこう。リモートサポート機能によって、SDRハードウェアが搭載されたコンピュータを、そのほかのコンピュータ上で動作するアプリケーションから遠隔操作が可能になる。これにより遠隔からチューニングや、設定を変更出来るようになり、アンテナの選択やゲイン(利得)のセットなどを遠隔から制御できるようになるのだ。SDRハードウェアが接続されたコンピュータはサーバとなり、クライアントであるアプリケーションが動作するコンピュータへサンプリングされたそのままのデータが送信され、まるでリアルタイムに受信しているかのようにモニタすることができる。Pi上で動作するSDRアプリケーションを実行し、電波を復調した結果をネットワーク経由でそのほかのコンピュータに送信するのとは全く異なるものだ。(暗黙的)”なネットワークリソースの共有となるのだ。これは例えばプリンタやスキャナをネットワーク上で複数端末が共有するようなものと考えてもらえれば良いだろう。オプションのSoapyRemoteのインストールについては以下だ。installここまで問題ない場合、以下のコマンドでサーバを手動で実行できるはずだ。--bindこれにより、何も問題なく実行できたかどうか確認できるはずだ。問題がある場合などはターミナルに表示されるデバッグメッセージなどを参考にしてほしい。クライアントのマシンが接続されると、同様にターミナルの表示で確認できる。次に、SoapySDRとSoapyRemoteをクライアントマシンへとインストールしよう。Piや、もしくは一般的なノートパソコンが利用できる。Pi、つまりサーバだけに必要だ)。Piにインストールすると、以下のコマンドのようにSoapySDRUtilを使って、まるでクライアントにハードウェアが接続されているかのようにアクセスできることが分かるだろう。--find="remote=3bplus.local"ただし、上記のコマンドのにあるfindオプションのように、サーバのホストネームもしくはIPアドレスを指定する必要があることに注意しよう。Piでifconfigコマンドなどを利用して調べてほしい。ここまで計画通り進んでいるだろうか?問題がなければ、遠隔にあるハードウェアが検出され、SoapySDRServerプロセスが接続状態にあることを教えてくれるはずだ。ネットワークを介してストリーミングRFのサンプリングを行うためには豊富なリソースがひつようだ。そのため、より大きなO/Sバッファが必要だ。/etc/sysctl.confの最後に追記してほしい。net.core.rmem_max=104857600net.core.wmem_max=104857600追記はクライアントマシンとサーバの両方に行ってほしい。起動時にこの設定が反映されるはずだ。SoapySDRServer本体を再起動しなくとも、上記コマンドを入力すると新しいパラメータでサーバプロセスのみを再起動できる。テスト動作をテストするため、今回私たちはCubicSDRをインストールすることにした。Pi)にインストールされていたためだ。これにより、CubicSDRが自動的に遠隔にあるSDRをネットワーク上から見つけることができるのだ。Unit)を通常よりも大きな4096に設定している。B+がサポートしている“ジャンボフレーム”を利用することで可能だ。B+を利用している場合)。4096これについてもクライアントとサーバの両方のマシンで設定可能であれば設定しよう。細かいことだが、上記のコマンドではインタフェースがeth0となっているので、ご自身の環境に合わせたインタフェースを選択してほしい。最後に、スペクトルディスプレイで信号を覗いてみる。クライアントマシンから(もちろん)“遠隔”にラジオのチューニングを行い、FM変調(この信号もクライアントマシンに転送される)を聞いてみよう。まとめハードウェアとSoapySDRの組み合わせによって、様々な利用において柔軟性をもたらしてくれることをお分かり頂けただろう。Piと搭載されたRSPによってデジタル信号処理が簡単に可能であることが伝わったはずだ。これにより、ネットワークを介して音楽やビデオ、その他のデータをデジタル信号から復調することができる。Mode-Sの電波を受信したとしよう。APIを利用してデータベースや、ディスプレイに送信することができた。音声と動画についても同じようにストリームが可能である。(暗黙的)”なサーバとして利用し、「生のデータ」をそのままリアルタイムに送信、同時に遠隔操作できることも非常に便利だ。Companionで新しいアプリケーションの開発を行う場合だ。あなた自身が開発したい環境に合わせた新しい方法の選択肢の一つにしてほしい。B+」について語っています。Etehrnet)はオリジナルのセンシングプラットフォームを構築するのに非常に役に立つ。今回は例としてPoEを利用した温度計を作成し、MQTTでデータの収集を行ってみよう。PiでGPSレシーバを搭載させると、現在位置と性格な時間の両機能が使用できるようになります。移動中の機器の位置を突き止める場合や、正確な時間同期が必要なシステムに最適です。3向けのClickシールドのリリースにより、様々Clickボードを使用できるようになりました。