アマチュア無線機器のリモート操作, IC-7300 + Raspberry Pi 4b + wfview + wireguard で構築

 いつもの稲取にアンテナを設置し、リモートから送受信できるような体制にしようと思い、いろいろとソフトウェア選定などを行って構築した。

使ったものはこのようなものです。

  • トランシーバにIC-7300。
  • リモートサイトの無線機につなぐのは、Raspberry Pi 4B。
  • 無線機制御と遠隔操作には wfview 。
  • 遠隔操作時にVPNが必要だったので wireguard
  • リモートの画面の操作で tightvnc 。
  • 遠隔で電源を落とせるように、遠隔操作できるコンセント を。
  • インターネット回線は比較的最近のフレッツ光で、IPv6を用いる。
  • 適切なアンテナ、電源、インターネット回線

リモートサイトを構成するにあたって、まずは遠隔操作できるコンセントをご利用ください。無線機の再起動や暴走時の停止に有用です。最近ですと1個2千円ぐらいでインターネットから遠隔操作できるものがありますので、この手のものを使っていただければと思います。私の場合は TP-Linkの製品を使っております。

Raspberry Pi のインストールなど

Raspberry Pi には Ubuntu 22.04LTS Server をインストールしました。32bitでも64bitでもどちらでも良いかと思います。

リモートからSSHなどでログインする場合や、WireguardでのVPN接続を張るときには、IPv6を使って入る様にしております。IPv6を使うことで、ルータのPort forwardの設定が不要であったりするところが便利です。しかしリモートサイトと接続元のPCまでIPv6で疎通できることが要求されますので、一長一短かと思います。

リモートデスクトップでの操作が必要ですが、これは tightvnc を使っております。


IPv6 でログインできる様にDDNSなど構成

インターネット側から Raspberry Pi にSSHログインなどを行いたくなります。最近ですと各社の固定インターネット回線ではIPv6に対応しているため、IPv6で接続する様に構成します。
手元のRaspbeery Piに割り当てられたIPv6を都度覚えるのは大変なので、Dynamic DNSに登録する様にします。今回も Open IPv6ダイナミックDNS を用いてIPv6のDNS登録を行います。
詳細な登録手順は Open IPv6ダイナミックDNS の説明をご覧ください。

IPv6アドレス更新用のホストに、起動時や定期的にPingを送って更新することとなるでしょう。 この様なスクリプトを /etc/cron.daily/update-host.sh として作成しました。
#!/bin/bash
ping6 -c 1 update-1234567890abcdef.i.open.ad.jp &> /dev/null

上記のスクリプトのファイルを作成したら、 chmod 755  /etc/cron.daily/update-host.sh  しておいてください。

また、システム起動時にPingを出せる様に、/etc/rc.local にこの様な内容を書いてください。(ただし、最近のLinux distributionでは rc.local を無視することがあるのでご注意)

ping6 'update-1234567890abcdef.i.open.ad.jp' -c 1 &> /dev/null

Tight VNC によるリモートデスクトップ環境

wfview がX11などのウィンドウシステムを利用するため、ウィンドウシステムをリモートから利用できるようにします。 VNC の実装の一つである TightVNCをインストールしました。

sudo apt install tightvncserver xvce4 -y

VNC Serverを起動します。このコマンドはRaspberry Piを起動するたびにユーザアカウントで実行してください。初回起動時には設定するパスワードを聞いてきます。

vncserver  -geometry 1280x1024 -localhost no

ネットワーク経由でも利用できる様に、localhost以外からの接続も受け入れられる様にして実行します。

今回の接続元のクライアントにはMacを使っています。Macの場合は標準装備のFinderにある接続ツールでVNC接続ができました。

wfview の利用


ICOM IC-7300をリモート操作をするためのソフトウェアに wfview を用いました。 今回のRaspberry Piでは Ubuntuを使っており、適切なBinary packageがなかったため、https://wfview.org/download/ の中の Debian Build Script にある内容を使ってビルドしました。

Raspberry Piの中で動かす wfview は、仮想の画面としてVNCサーバを使っています。


遠隔地にあるPC, Macから無線機の操作を行いたいのですが、音声の転送の都合もあるため ICOM の RS-BA1 と同じ UDP 50001, 50002, 50003 ポートを使う形式にしました。 UDPポートだと SSHのPort Forwardingなども

コメント

このブログの人気の投稿

ICOM IC-7300 と RS-BA1 Version 2 でリモート操作

Windows 11 で Win10Pcap のアンインストール方法

大型特殊自動車免許を取った時の話。