HN 日本語サマリー

← 一覧へ戻る
オープンソース

SDR–; パッチ可能な信号グラフ、Rust DSP、Web UIを備えたオープンソースSDR

SDR–; open source SDR with a patchable signal graph, Rust DSP, web UI (github.com)

36 pointsby newspicel3 コメント

要約

sdr--は、視覚的な信号パスを持つソフトウェア定義無線(SDR)アプリケーションです。デバイス、デコーダー、ディスプレイ、レコーダーをキャンバス上で接続し、使用するコントロールをラックに固定できます。Rustサーバーが無線および信号処理を担当し、Reactインターフェースはデスクトップウィンドウまたはブラウザで実行されます。現在活発に開発されており、多くのデコーダーがテスト済みです。

全文翻訳

sdr-- sdr--は、視覚的な信号パスを持つソフトウェア定義無線アプリケーションです。デバイス、デコーダー、ディスプレイ、レコーダーをキャンバス上で接続し、使用するコントロールをラックにピン留めできます。Rustサーバーが無線および信号処理を処理します。Reactインターフェースはデスクトップウィンドウまたはブラウザで実行されます。これらを1台のコンピュータで実行することも、サーバーをアンテナの横に置いてネットワーク経由で接続することもできます。内蔵の信号ジェネレーターにより、SDRなしで試すことができます。 ステータス sdr--は活発に開発中です。ほとんどのデコーダーは生成されたIQフィクスチャでテストされており、オンエアで検証されたのは一部のみです。チャネルカタログには、各モードの証拠とその制限がリストされています。実験的なモードでは、デコードされたオーディオまたはビデオなしで取得または測定を提供できます。 できること AM、NFM、ステレオとRDSを備えた放送用FM、SSB、およびサポートされているデジタル音声モードを聞くことができます。航空機、船舶、アマチュア無線、ページャー、センサー、その他の無線トラフィックをデコードできます。完全なチャネルリストを参照してください。スペクトル、ウォーターフォール、デコードされたメッセージ、位置マップ、受信した画像を表示できます。周波数をスキャンし、ワークスペース、プリセット、ブックマークを保存できます。デバイスIQ、チャネルベースバンド、またはオーディオを記録し、IQを同じデコーダーで再生できます。方向探知、アンテナ結合、ビームフォーミング、パッシブレーダー用のコヒーレントレシーバーを使用できます。UDPまたはTCP経由でIQをエクスポートし、デコードされたイベントをWebhook、Matrix、またはMQTTに転送できます。REST、WebSocket、またはMCP経由で実行中のレシーバーを制御できます。 インストール GitHub Releasesからデスクトップインストーラーまたはポータブルサーバーをダウンロードしてください。インストール手順には、各パッケージ、Homebrew、Nix、およびコンテナの手順が含まれています。 macOSでは、Homebrewでデスクトップアプリをインストールします: brew tap newspicel/tap brew install --cask sdrminusminus ヘッドレスサーバーには、brew install sdrmmを使用します。 LinuxでDocker Composeを使用してサーバーを実行するには: git clone https://github.com/Newspicel/sdrminusminus.git cd sdrminusminus docker compose up -d http://localhost:8080 を開きます。 サーバーはデフォルトで認証なしで動作します。ネットワークアクセスを設定する際は、設定とセキュリティを参照してください。 レシーバーを試す スターターデバイスノードで、Signal Generator(仮想)を選択します。接続されたScopeに生成された信号が表示されます。 + Node を選択し、NFMチャネルを追加します。Device IQをNFM IQに接続し、NFMオーディオをSpeakerオーディオに接続します。チャネルをラジオの中心周波数から300 kHz上に設定し、Speakerでオーディオを開始します。1 kHzのトーンが聞こえるはずです。最初のレシーバーは、コントロールとハードウェアへの切り替えを案内します。 標準ビルドには、ネイティブRTL-SDR、HackRF、SDRplay、およびCR-8ドライバーが含まれています。SDRplayとCR-8にはベンダーライブラリも必要です。デスクトップインストーラーとコンテナには、Airspy/AirspyHF、bladeRF、LimeSDR、PlutoSDR、およびSoapyRemote用のSoapySDRモジュールがバンドルされています。ハードウェアガイドを参照してください。 スクリーンショット これらのキャプチャは、内蔵信号ジェネレーターまたはリポジトリIQフィクスチャを使用しています。cargo xtask screenshots で再生成できます。 スペクトルとウォーターフォール ラックビュー FT8デコード 信号識別 航空機位置 船舶位置 スロー・スキャン・テレビ アマチュアテレビ ページャーメッセージ 放送用FM ソースからビルド リポジトリのピン留めされたRustツールチェーン、C/C++コンパイラ、CMake、Node 26、pnpm 11、およびSoapySDR 0.8開発ファイルが必要です。ビルドガイドにプラットフォームの前提条件が記載されています。 git clone https://github.com/Newspicel/sdrminusminus.git cd sdrminusminus pnpm --dir web install --frozen-lockfile pnpm --dir web build cargo run -p sdrmm http://localhost:8080 を開きます。 開発中は、cargo xtask dev でサーバーとフロントエンドをホットリロード付きで http://localhost:5173 で起動します。バックエンドのファイルが変更されたときに再起動するには --watch を追加します。 仮想ソースとネットワークレシーバーのみでビルドするには: cargo run -p sdrmm --no-default-features --features net-client 開発パス 目的 apps/sdrmm ヘッドレスサーバーバイナリ apps/desktop Tauriデスクトップシェル crates/dsp, crates/modem 信号処理プリミティブと再利用可能なモデムアルゴリズム crates/engine デバイスと信号処理のオーケストレーション crates/channels デモジュレーターとプロトコルデコーダー crates/device-* ネイティブ、SoapySDR、ネットワーク、仮想、および配列バックエンド crates/wire 共有API、WebSocket、および設定タイプ crates/server HTTP、WebSocket、MCP、永続化、および組み込みフロントエンド web Reactアプリケーション docs mdBookドキュメント コマンド 目的 cargo xtask check フォーマット、リンティング、型チェック、ビルド、生成コードのチェック cargo xtask drift cargo xtask test ハードウェアなしでRustおよびフロントエンドテストを実行 cargo xtask smoke サーバーに対してブラウザテストを実行 cargo xtask codegen OpenAPIおよびTypeScript APIタイプを再生成 cargo xtask audit cargo-denyで依存関係をチェック 貢献と開発ガイドを参照して、テスト、生成ファイル、リリースを確認してください。 ドキュメントとAPI ユーザーおよび開発者ガイド Swagger UI: 実行中のサーバーの /api/docs OpenAPI: /api/openapi.json またはチェックインされた openapi.json ライセンス Copyright (C) 2026 sdr-- contributors. sdr--はGNU General Public License、バージョン3以降でライセンスされています。THIRD_PARTY_NOTICES.mdには、配布されている依存関係とバンドルされているハードウェアコンポーネントがリストされています。それらのライセンステキストは、アプリの[About]パネルでも利用できます。