Wavelog統合運用設定ガイド

Ubuntu環境におけるWavelog統合運用設定ガイド:JTDX、FLdigi、およびrigctldの連携

1. はじめに:統合アーキテクチャの優位性

本ガイドでは、Ubuntu Linux環境において、Webベースのロギングプラットフォーム「Wavelog」を中核とした高度なアマチュア無線運用環境を構築する手順を詳説します。

このシステムの要は、ゲートウェイとして機能する WaveLogGate (WLGate) です。WLGateを採用する最大の技術的メリットは、Webサーバー側のロギングロジックと、ローカル環境のリアルタイムなCAT制御・データ転送を疎結合に分離できる点にあります。これにより、JTDXやFLdigiといったアプリケーションとWavelog間の通信を安定させ、ネットワークの遅延や切断の影響を最小限に抑えたシームレスな運用が可能となります。

2. システムアーキテクチャとデータフロー

各コンポーネント間の通信仕様を整理します。本システムでは、ローカルループバック(127.0.0.1)と外部ネットワーク(Wavelogサーバー)への通信を明確に区別して管理します。

通信仕様およびポート一覧

送信元ユニット送信先ユニットポート / プロトコルネットワーク範囲データ内容
JTDX / FLdigiWLGate2333 / UDPLocalADIFログデータ
rigctld (systemd)WLGate4532 / TCPLocalCAT情報(周波数・モード)
WLGateWavelogHTTPS (API)NetworkQSOログ・無線機ステータス
WLGate (API)外部アプリ54321 / HTTPLocal周波数/モード制御コマンド
WLGate (WS)外部アプリ54322 / WebSocketLocalリアルタイムステータス放送

データの論理フロー

  1. CAT制御: 無線機とシリアル接続された rigctld が物理層を制御し、TCP 4532 ポートを通じてWLGateにデータを提供します。WLGateはこれをWavelogへ中継し、Live Logging画面をリアルタイムに更新します。
  2. ログ転送: QSO完了時、各アプリから2333/UDP経由でADIFがWLGateに送出されます。WLGateはAPI経由でWavelogサーバーへ即座にレコードを挿入します。

3. 事前準備:依存ライブラリとWavelog側の設定

Ubuntuの依存パッケージ

Ubuntu環境では、WLGateの正常な動作のために以下のライブラリが必要になる場合があります。あらかじめインストールを確認してください。

sudo apt update
sudo apt install libxcb-cursor0 hamlib-utils

Wavelogサーバー側の情報取得

WLGateの認証と宛先指定のため、Wavelog管理画面から以下の情報を正確に取得します。

  1. API Key: 右メニューの「API-Keys」から生成・取得します。
  2. Station ID: 右メニューの「Station locations」を開きます。各場所の横にある 「小さなバッジ(数値)」をクリック して、表示されるIDを確認してください。
  3. URL形式(重要): WLGateに設定するURLは、必ず https://[your-domain]/index.php の形式でなければなりません。末尾に index.php が欠けていると、API通信が失敗します。また、Wavelog側でHTTPSが有効かつ有効な証明書が設定されていることが必須です。

4. 物理制御の基盤:systemdによるrigctldの永続化

Linux環境においてCAT制御を安定させる定石は、rigctld を systemd サービスとしてバックグラウンドで常時稼働させることです。これにより、複数のアプリケーションが一つのリソース(無線機)を共有でき、システムの再起動時にも自動的にCAT制御が復旧します。

systemd ユニットファイルの作成

/etc/systemd/system/rigctld.service を以下の内容で作成します(IC-7300、ボーレート38400の例)。

[Unit]
Description=Hamlib rigctld Service
After=network.target
[Service]
ExecStart=/usr/bin/rigctld -m 3073 -r /dev/ttyUSB0 -s 38400 -T localhost -t 4532
Restart=always
RestartSec=5
User=your_username
Group=dialout
[Install]
WantedBy=multi-user.target

主要パラメータの技術解説:

  • -m 3073: 無線機のモデルID(IC-7300)。rigctl -l で確認可能。
  • -r /dev/ttyUSB0: デバイスパス。
  • -s 38400: ボーレート。無線機側の設定と一致させる。
  • -T localhost: rigctld がバインドするホスト名。
  • -t 4532: WLGateがデフォルトで接続を試みるTCPポート。

サービスの有効化と起動

sudo systemctl daemon-reload
sudo systemctl enable rigctld
sudo systemctl start rigctld

5. 統合ブリッジ:WaveLogGate(WLGate)の設定

WLGateは、運用スタイルに合わせて切り替え可能な2つの「設定プロファイル」を持っています。

WavelogおよびRadio設定

  1. Connection: 手順3で取得したURL(index.phpを含む)、API Key、Station IDを入力します。
  2. Radio Type: 「Hamlib」を選択。
  3. Host / Port: 127.0.0.1 および 4532 を指定。
  4. 疎通確認: すべて入力後、「Test」ボタン をクリックしてください。設定が正しければボタンが 「緑色」 に変化します。これが運用開始の絶対条件です。

6. アプリケーション別の連携設定

各アプリケーションのADIF送出先を、WLGateが待受けるポート 2333 に向けます。

JTDX (WSJT-X互換)

  1. Settings -> Reporting タブを開きます。
  2. Secondary UDP Server 項目で「Enable」にチェックを入れます。
  3. ポートを 2333 に設定します。
    • 注意: メインのUDPサーバー(JTAlert等で使用)とは別の設定項目です。混同しないよう注意してください。

FLdigi

  1. Configure -> Logging -> ADIF を選択します。
  2. 「Transmit logs via UDP」を有効にします。
  3. 宛先ホストに 127.0.0.1、ポートに 2333 を入力します。

7. 高度なカスタマイズとトラブルシューティング

Linuxデスクトップ向けの環境変数

Ubuntuでタイル型ウィンドウマネージャー(i3, Hyprland等)を使用している場合や、リソース消費を抑えたい場合は、WLGate起動時に以下の環境変数を利用できます。

  • WLGATE_RESIZABLE=true: 固定サイズのウィンドウをリサイズ可能にします。
  • WLGATE_SLEEP=true: 非アクティブ時のリソース消費を抑えるスリープ機能を有効化します(※CAT通信に影響が出る可能性があるため、検証が必要です)。

よくある問題と解決策 (Troubleshooting)

  • 接続テストが緑にならない:
    • WavelogのURL末尾に index.php が含まれているか。
    • WavelogがHTTPSで運用されているか(HTTPのみの環境はWLGateでサポートされません)。
  • 周波数が反映されない:
    • systemctl status rigctld を実行し、サービスが active (running) か確認してください。
    • WLGateのRadio設定が「Hamlib」で、ポート4532になっているか確認してください。
  • ポート競合の確認: netstat -tuln を使用し、2333 (UDP), 4532 (TCP), 54321, 54322 の各ポートが他のプロセスに占有されていないか確認してください。

8. 結論:運用の自動化と効率化

本システムを構築することで、デジタルモードでのQSO完了からWavelogへの記録、さらには無線機とのCAT連携による周波数追従までが完全に自動化されます。Ubuntu上の rigctld による物理制御と WLGate による論理ブリッジを組み合わせたこのアーキテクチャは、現代的なアマチュア無線運用における最も堅牢で効率的なソリューションの一つです。

SkyRoofについて

SkyRoofという新しいオープンソースの衛星追尾ソフトがあることがわかった。これは、FT4の送受信機能も標準で装備している他、SDRとのシームレスな統合が図られている。ユーザーインターフェースはシンプルで使いやすく、無線機やローテーターは、Hamlibのrigctld及びrotctldを通じて、TCPでコントロールできる。オープンソースなので当然無料だ。開発したのは、あのCWSkimmerなどを開発した VE3NEA。衛星側の周波数については、SATNOGデータベースから自動でダウンロードされる機能があるが、その他に、JE9PELの個人データベースからもダウンロードするようになっているようだ。添付の資料は、AIエージェントのNotebook LMに資料を与えて作らせたものだが、このAIの能力もすごいですね。

LoTW証明書(tq6とtq12)

LoTW証明書(tq6とtq12)の違い

拡張子名称発行元内容主な用途
.tq6サイン済み証明書ARRL公開鍵(署名済み)初回の利用登録
.tq12証明書パッケージ自分 (TQSL)証明書 + 秘密鍵バックアップ・PC移設

1. .tq6 ファイル

  • 入手元: ARRLに「.tq5」リクエストファイルを送り、承認されるとメール添付で届く。
  • 特徴: ARRLが「あなたのコールサインを承認した」という公式な証明書。
  • 注意: 秘密鍵が含まれていないため、これ単体を保存しても別のPCでの環境復元はできない。

2. .tq12 ファイル

  • 入手元: 自分のTQSLソフト上で「Callsign Certificate」をエクスポートして作成。
  • 特徴: 「証明書(.tq6)」と「秘密鍵」を一つにパックしたもの。
  • 重要性: PCの故障や買い替え時、これがあれば一瞬で環境を復元できる。自分自身で作成し、クラウドやUSBメモリに保管しておくべき最重要ファイル。

運用メモ: LoTWが使えるようになったら、必ず .tq12 形式でバックアップを作成しておくこと。

SATNOGSとは何か?

ChatGPTに対し、SATNOGSとは一体何なのか、オープンソースの地上局ネットワークとも言われていますが、今一つ理解できない面があるので、正確にそのヒストリーや目的などについて教えてほしいと質問した。以下その回答。

SATNOGS(サットノグス/正式には SatNOGS)は、
**「オープンソースで構築された、世界分散型の衛星地上局ネットワーク」**です。
単なる「受信サイト」でも「データベース」でもなく、複数の役割を持つエコシステムだと理解すると分かりやすくなります。

以下、ヒストリー → 目的 → 構成要素 → 何ができるのか → 誤解されやすい点の順で、正確に整理します。


1. SatNOGS の誕生とヒストリー

起源

  • 2014年頃
  • ギリシャのハッカー/エンジニア集団
    Libre Space Foundation(LSF) により開始
  • 背景:
    • CubeSatなどの超小型衛星が急増
    • 大学や市民が衛星を打ち上げても
      地上局を24時間運用できない
    • 商用地上局は高価・クローズド

👉 「市民が協力して、世界規模の地上局網を作れないか?」
という発想から生まれました。


2. SatNOGS の根本的な目的

SatNOGSの目的は、次の3点に集約されます。

① 衛星通信の民主化

  • 衛星データを「一部の組織」だけのものにしない
  • 誰でも受信・解析・共有できる環境を作る

② オープンソース & オープンデータ

  • ソフトウェア:すべてOSS
  • ハードウェア:自作可能な設計を公開
  • 受信データ:原則公開(例外あり)

③ 世界分散型インフラ

  • 中央集権的な巨大地上局ではなく
  • 各地のアマチュアが運用する小さな局の集合体

3. SatNOGS を構成する「4つの柱」

SatNOGSは「1つのサイト」ではありません。

① SatNOGS Network(地上局ネットワーク)

  • 世界中のボランティア地上局が参加
  • 各局は:
    • アンテナ
    • SDR
    • ローテータ(自作含む)
    • Linux PC / Raspberry Pi

👉 あなたの地上局も参加可能


② SatNOGS Database(衛星データベース)

  • 衛星の:
    • 周波数
    • 変調方式
    • テレメトリ定義
  • コミュニティによって更新

👉 Gpredict / SatDump / SDRangel なども参照する重要DB


③ SatNOGS Client(地上局ソフト)

  • 地上局側で動くOSS
  • 機能:
    • パス予測
    • 自動受信
    • SDR制御
    • データアップロード

👉 完全自動地上局が作れる


④ SatNOGS Network Web(Webサイト)

  • ユーザーが見る「入口」
  • できること:
    • 観測予約
    • 受信結果の閲覧
    • 地上局の稼働状況確認

4. SatNOGSで「何ができるのか」

① 世界中の地上局で衛星を受信

  • 自分が地上局を持っていなくても
  • 他人の局が受信したデータを閲覧可能

② 観測の予約

  • 特定の衛星・周波数を指定
  • パスに合わせて自動受信

※ 実際に受信するのは「誰かの地上局」


③ 学術・教育用途

  • 大学のCubeSat運用
  • 学生実験
  • 衛星テレメトリ解析

④ アマチュア無線との関係

  • 多くは アマチュア衛星(AMSAT系)
  • ただし:
    • SatNOGS自体は「アマ無線組織」ではない
    • 免許遵守は各地上局の責任

5. 「オープンソース地上局ネットワーク」とは何か

この言葉が分かりにくい理由はここです。

❌ 誤解

  • 「SatNOGSが巨大な1つの地上局を持っている」
  • 「中央で全部制御している」

✅ 実態

  • 地上局は完全に分散
  • SatNOGSは:
    • 共通ルール
    • 共通ソフト
    • 共通データ形式
      を提供しているだけ

👉 GitHub + Wikipedia + アマチュア地上局網
を足したような存在です。


6. 商用地上局ネットワークとの違い

項目SatNOGS商用地上局料金無料高額ソースOSS非公開ハード自作可専用データ原則公開クローズド目的公共・教育商業


7. なぜ「今一つ分かりにくい」のか

理由は明確です。

  • サイトが「説明より機能重視」
  • 対象が:
    • 衛星
    • 無線
    • OSS
      という専門分野の交差点
  • 「ユーザー」と「地上局オーナー」が混在

👉 読む人の立場で見え方が全く変わるのです。


8. あなたのこれまでの質問との関係

これまで伺った内容(SDR、SatDump、GPredict、Hamlib、アンテナ自作)から見ると、

  • SatNOGSは「次のステップ」
  • 個人受信 → 自動化 → 共有 → 国際ネットワーク

という流れの集大成に位置します。


9. まとめ(1文で)

SatNOGSとは、世界中の市民が協力して運用する、オープンソース・分散型・公共目的の衛星地上局ネットワークであり、衛星通信の民主化を目指すプロジェクトである。