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 / FLdigi | WLGate | 2333 / UDP | Local | ADIFログデータ |
| rigctld (systemd) | WLGate | 4532 / TCP | Local | CAT情報(周波数・モード) |
| WLGate | Wavelog | HTTPS (API) | Network | QSOログ・無線機ステータス |
| WLGate (API) | 外部アプリ | 54321 / HTTP | Local | 周波数/モード制御コマンド |
| WLGate (WS) | 外部アプリ | 54322 / WebSocket | Local | リアルタイムステータス放送 |
データの論理フロー
- CAT制御: 無線機とシリアル接続された
rigctldが物理層を制御し、TCP 4532 ポートを通じてWLGateにデータを提供します。WLGateはこれをWavelogへ中継し、Live Logging画面をリアルタイムに更新します。 - ログ転送: QSO完了時、各アプリから2333/UDP経由でADIFがWLGateに送出されます。WLGateはAPI経由でWavelogサーバーへ即座にレコードを挿入します。
3. 事前準備:依存ライブラリとWavelog側の設定
Ubuntuの依存パッケージ
Ubuntu環境では、WLGateの正常な動作のために以下のライブラリが必要になる場合があります。あらかじめインストールを確認してください。
sudo apt updatesudo apt install libxcb-cursor0 hamlib-utils
Wavelogサーバー側の情報取得
WLGateの認証と宛先指定のため、Wavelog管理画面から以下の情報を正確に取得します。
- API Key: 右メニューの「API-Keys」から生成・取得します。
- Station ID: 右メニューの「Station locations」を開きます。各場所の横にある 「小さなバッジ(数値)」をクリック して、表示されるIDを確認してください。
- 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 ServiceAfter=network.target[Service]ExecStart=/usr/bin/rigctld -m 3073 -r /dev/ttyUSB0 -s 38400 -T localhost -t 4532Restart=alwaysRestartSec=5User=your_usernameGroup=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-reloadsudo systemctl enable rigctldsudo systemctl start rigctld
5. 統合ブリッジ:WaveLogGate(WLGate)の設定
WLGateは、運用スタイルに合わせて切り替え可能な2つの「設定プロファイル」を持っています。
WavelogおよびRadio設定
- Connection: 手順3で取得したURL(index.phpを含む)、API Key、Station IDを入力します。
- Radio Type: 「Hamlib」を選択。
- Host / Port:
127.0.0.1および4532を指定。 - 疎通確認: すべて入力後、「Test」ボタン をクリックしてください。設定が正しければボタンが 「緑色」 に変化します。これが運用開始の絶対条件です。
6. アプリケーション別の連携設定
各アプリケーションのADIF送出先を、WLGateが待受けるポート 2333 に向けます。
JTDX (WSJT-X互換)
- Settings -> Reporting タブを開きます。
- Secondary UDP Server 項目で「Enable」にチェックを入れます。
- ポートを 2333 に設定します。
- 注意: メインのUDPサーバー(JTAlert等で使用)とは別の設定項目です。混同しないよう注意してください。
FLdigi
- Configure -> Logging -> ADIF を選択します。
- 「Transmit logs via UDP」を有効にします。
- 宛先ホストに
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でサポートされません)。
- WavelogのURL末尾に
- 周波数が反映されない:
systemctl status rigctldを実行し、サービスがactive (running)か確認してください。- WLGateのRadio設定が「Hamlib」で、ポート4532になっているか確認してください。
- ポート競合の確認:
netstat -tulnを使用し、2333 (UDP), 4532 (TCP), 54321, 54322 の各ポートが他のプロセスに占有されていないか確認してください。
8. 結論:運用の自動化と効率化
本システムを構築することで、デジタルモードでのQSO完了からWavelogへの記録、さらには無線機とのCAT連携による周波数追従までが完全に自動化されます。Ubuntu上の rigctld による物理制御と WLGate による論理ブリッジを組み合わせたこのアーキテクチャは、現代的なアマチュア無線運用における最も堅牢で効率的なソリューションの一つです。
