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 による論理ブリッジを組み合わせたこのアーキテクチャは、現代的なアマチュア無線運用における最も堅牢で効率的なソリューションの一つです。

コメントを残す