twnoaa

気象衛星(NOAA/METEOR)およびSSTVの自動軌道計算・SDR自動受信・DSP復調・AI気象解析を行うデスクトップアプリケーション。TWSNMPシリーズプロジェクト。

View on GitHub

twnoaa 📡🛰️

twnoaa は、気象衛星(NOAA 15/18/19、METEOR-M2シリーズ)や宇宙通信(SSTV/ISS)の軌道計算・通過予測、RTL-SDRによる自動受信、リアルタイムDSP復調、衛星画像デコード、およびマルチモーダルAIによる気象画像解析を統合したオールインワンのデスクトップアプリケーションです。Wails と Svelte 5、Go で構築されており、TWSNMPシリーズプロジェクトの一つです。

🇬🇧 English README


🗺️ システム構成・ワークフロー

twnoaa System Workflow & Architecture

twnoaa は、衛星の軌道計算(Orbit Tracking)から RTL-SDR による電波受信、リアルタイムDSP処理(スペクトラム&ウォーターフォール)、衛星画像デコード、そしてマルチモーダルAIによる気象解析までの全パイプラインを統合したデスクトップアプリケーションです。


✨ 主な特徴


🛠️ 必要な機材 (Hardware Requirements)

気象衛星の信号を受信して鮮明な衛星画像をデコードするために必要なハードウェア構成です。

1. SDR 受信機 (Software Defined Radio)

RTL-SDR Receiver

2. 受信アンテナ

Vダイポールアンテナのベランダ設置例

ベランダの手すりにクランプマウントで設置された 120° Vダイポールアンテナの例

3. LNA (低雑音増幅器) & バンドパスフィルタ

Nooelec SAWbird+ NOAA LNAモジュール

Nooelec SAWbird+ NOAA LNAモジュール(SMAコネクタ同軸配線、Bias-Tee受電対応)

4. 同軸ケーブル & コネクタ


📡 アンテナの設置方法と LNA 接続ガイド

微弱な衛星信号からノイズのない鮮明な衛星画像を得るためには、アンテナの設置場所 と LNA の接続順序 が極めて重要です。

アンテナの設置環境

  1. 見晴らしの確保:
    • 屋上、ベランダの手すり、庭のポールなど、上空および南北・東西方向の視界が広く開けた場所に設置してください。
    • 周囲の建物、樹木、金属フェンス、電線などの遮蔽物は電波を減衰させ、画像のスノーノイズやライン抜けの原因になります。
  2. アンテナの向き(Vダイポールの場合):
    • V字のエレメントが広がる水平面を地上と平行にし、V字の開口部が「真南および真北」を向くように設置します(極軌道衛星は概ね南北方向に飛行するため)。

LNA(低雑音増幅器)の接続順序

[!IMPORTANT] LNA は必ずアンテナの直近(アンテナ直下)に接続してください!

[アンテナ] ──(数cm〜短尺ケーブル)──> [LNA Input] ──> [LNA Output] ──(長い同軸ケーブル)──> [RTL-SDR ドングル] ──> [PC]

🖥️ 画面と操作方法

twnoaa は、直感的なタブ切り替えインターフェースで衛星追跡から画像解析までシームレスに操作できます。

1. 衛星追跡画面 (Pass Tracker)

Pass Tracker

2. 3D 地球儀画面 (Globe View)

Globe View

3. 受信テスト画面 (SDR Control & Spectrum)

SDR Control & Spectrum

4. APRS パケットモニタ画面 (APRS Monitor)

APRS Monitor

Image Gallery

6. AI 気象解析画面 (AI Analysis)

AI Analysis

7. 環境設定画面 (Settings)

Settings


🔍 サポートする衛星・モード

衛星・通信 周波数 変調・モード 解像度・特徴
NOAA 15 137.620 MHz APT (FM / AM 2.4kHz Subcarrier) 4 km/px, 可視光 & 熱赤外線 2チャンネル画像
NOAA 18 137.9125 MHz APT (FM / AM 2.4kHz Subcarrier) 4 km/px, 可視光 & 熱赤外線 2チャンネル画像
NOAA 19 137.100 MHz APT (FM / AM 2.4kHz Subcarrier) 4 km/px, 可視光 & 熱赤外線 2チャンネル画像
METEOR-M2-3/4 137.100 / 137.900 MHz LRPT (72k/80k QPSK) 1 km/px, デジタル高解像度マルチスペクトル画像
ISS (SSTV VHF) 145.800 MHz SSTV (FM / PD120, Robot36等) 国際宇宙ステーションからのイベント宇宙通信画像
ISS (SSTV UHF) 437.550 MHz SSTV (FM / 各種SSTVモード) 近年のUHF実験送信・宇宙通信画像
ISS (FM Voice) 437.800 MHz FM Voice (クロスバンドレピータ下り) 世界中のアマチュア無線交信・宇宙飛行士の肉声 (上り 145.990 MHz)
ISS (APRS UHF / VHF) 437.825 / 145.825 MHz AFSK 1200 / AX.25 パケット デジピータ経由の世界中の局の位置ビーコン・メッセージ

🤖 AI連携による気象解析

衛星画像がデコードされると、受信メタデータ(衛星名、周波数、通過時刻、最大仰角、受信地座標)とともにマルチモーダルLLMへ自動送信され、以下のような分析が自動生成されます:

対応AIプロバイダー


🛠️ 技術スタック

コンポーネント 採用技術
デスクトップ基盤 Wails v2
バックエンド Go 1.27 + CGO (librtlsdr)
フロントエンド Svelte 5 (Runes) + TypeScript + Tailwind CSS
データベース bbolt(組み込みKey-Valueストア)
SDR / DSP github.com/jpoirier/gortlsdr, ピュアGo DSPエンジン(WFM, QPSK, FFT, I/Q)
軌道計算 ピュアGo SGP4 伝搬モデル + CelesTrak TLE パーサー
AIオーケストレーション langchaingo + 各種LLM APIクライアント
パッケージング macOS PKG (Apple Notarization 公証対応), Windows ZIP, Linux tar.gz

🚀 インストールと起動

配布パッケージの利用

Releases より、お使いのOSに合ったパッケージをダウンロードしてください。


💻 開発環境のセットアップ

前提条件

依存関係のセットアップ

# ツールチェーンのインストール
mise install

# フロントエンドの依存関係インストール
cd frontend
npm install
cd ..

開発モード起動 (ホットリロード)

# 開発サーバー起動
mise run dev
# または
wails dev

ビルド

# ローカルビルド
mise run build

# macOS 公証インストーラーパッケージ作成 (Developer ID & notarytool)
mise run release-mac

🗄️ データ保存場所

受信データ、ログ、衛星画像、および bbolt データベースファイルは以下のディレクトリに保存されます。

OS デフォルトパス
macOS ~/Library/Application Support/twnoaa/
Windows %APPDATA%\twnoaa\
Linux ~/.config/twnoaa/

📄 ライセンス

Apache License 2.0