0

標準ブロック セットを使用して、GNURadio を実行している 2 台のコンピューター間で通信を実装する簡単な方法はありますか?

私が今持っているのはこれです:

Linux コンピューターでは、GNUradio が実行されており、ラジオ周辺機器からの入力を受信して​​います。そのコンピュータでは、受信した波形を WX スコープで見ることができます。スライダーや入力ボックスを使用して、受信機の周波数などを変更することもできます。

私がやりたいことはこれです:

Windows コンピューターには、WX スコープとスライダーがあります。スライダーを動かしたり、入力ボックスを変更したりすると、そのデータが Linux に送信されます。Linux はまだ Gnuradio でラジオ受信機を実行しています。受信した信号はストリームを介してウィンドウに戻り、Windows の WX スコープに表示されます。

他の誰かが ZMQ ブロックの使用を提案しましたが、Linux から Windows に正弦波を送信するために PUSH/PULL をセットアップしようとしたとき、何も起こりませんでした。そのアプローチを推奨した人も同じことを試みましたが、うまくいかなかったので、ブロックが壊れているのではないでしょうか?

それで、私がやろうとしていることを実行できる代替ブロックはありますか? できれば、よく文書化されていて、GNUradio-companion で入手できるもの。

4

3 に答える 3

0

レシーバからのデータ レートによっては、UDP ブロックなどを使用して生の波形データを送信しようとすると、パフォーマンスの問題が発生する可能性があります。この場合、センダは次のようなエラーを出力することがあります。

gr::log :WARN: udp_source0 - Too much data; dropping packet.

通常、スコープ ウィジェットは入力データの一部しか表示しないため、波形をリモートで視覚化するより理想的な方法は、レンダリングされたスコープ ウィジェットのみを送信することです (たとえば、VNC や X2Go などのリモート デスクトップを使用)。このソリューションは元の問題を超えていますが、双方向の GUI 対話を伴う場合には、長期的にはおそらく使いやすいでしょう。

于 2016-08-01T05:33:08.027 に答える
0

スコープウィジェットデータの場合、UDP シンクソースブロックは GNU Radio にネイティブのようであり、@Zephyr が言及したように、ファイアウォール構成を再度考慮して、この問題に対して十分に文書化されたソリューションであるか、十分に単純です。

GRC から、UDP ブロックで指定します。

  1. 表示コンピュータのホスト名または IP アドレス、および

  2. まだ使用されていないポート番号を選択します(1024未満のポートではなく、Linux、OS X、またはUNIXのようなものを使用していましたか)。

ネットワーク経由で変数を設定するには、別の回答で説明されているように、XMLRPC ブロックを試すことができます。ただし、これらは最近廃止されました。

パフォーマンスの問題が発生した場合の代替案については、他の回答を参照してください。

于 2016-08-01T05:37:16.440 に答える
-1

Linux と Windows の両方に、接続をブロックしている可能性のあるファイアウォールが必要です。

gnuradio-companion に表示されるエラー メッセージを投稿する必要があります。

于 2016-07-28T23:54:17.863 に答える