FT-818NDのリモート操作とPC環境セットアップ

【この記事の所要時間: 88秒】

P3102803 20190310090851

 

当初、FT-818NDとSCU-17経由で接続したRaspberryPiにWSJT-Xなど無線関係のアプリを入れて、MacBookPro/13からVNC経由でリモート操作するラジオコントロールサーバー的な運用を目指していたが…。

 

WSJT-Xの受信音レベル(RaspberryPiの音声入力レベル)調整が不十分でデコード率が芳しくない。
SCU-17の出力レベルを最小にしても大きすぎるため、RaspberryPi側で下げたいが音声入力デバイスが見つからない(音声出力デバイスは有る)。
また他にも、使いたいアプリ(818のコントロールや交信ログ管理)がほぼWindows一択という状況のため、RaspberryPiでの運用を諦めた。
現在はひとまず手持ちのWindowsPCに環境を仮構築して試用中だが、いずれは小型軽量なウルトラモバイルPC(UMPC)への移行を検討している。

 

 

USB接続のワイヤレス化思案(USBデバイスサーバ)

P3102800 20190310090844

ここで課題になるのがSCU-17とPC間の接続(USB)。
無線機から離れた場所でPCを操作するとなると、このUSBケーブルを長々と引き回さなければならない。

無線機の近くにPCを置いて、別のPC(例えばMacBookPro/13)からVNCでリモート操作する方法もあるが、試してみたところRaspberryPiの場合と比べて反応が遥かに遅くて実用は難しい…しかも手持ち品は常置するには少々大きい。
高性能、且つ、コンパクトな専属PCを新たに買い足すのは出費が厳しい。(1) 

USBを直接ワイヤレス化するアダプタを調べていると、RaspberryPiを用いてUSBデバイスサーバを構築するVirtualHereというアプリが有ることを知った。
ハード的な追加や変更は特に必要無く、RaspberryPi側にサーバアプリ/使用するPC側に各OS(Linux、Windows、MacOS)対応のクライアントアプリをセットアップするだけで、RaspberryPiに接続したUSBデバイスを他のPCから ネットワーク経由で使用出来る…というもの。

対象のUSBデバイスは、キーボードやマウス、プリンタ、メモリ、HDD/SSD(供給電力の強化が必要)等の一般的な機器の他に、ゲーム用コントローラーやICカードリーダー、シリアルI/Fでも使用実績がある様子。
SCU-17での事例は無いが、アプリをセットアップするだけなので先ずは試してみよう。

尚、サーバアプリは、使用するUSBデバイスが一台のみの場合は無料版で良いが、複数のUSBデバイスを使用したい場合や、各プラットフォームに最適化されたサーバアプリ(使用USBデバイス数の制限無し)を使いたい場合は有料版を購入する必要がある。
クライアントアプリは無料で使用USBデバイス数の制限も無い。
サーバ/クライアントのいずれも、RaspberryPiや一般的なNASを含むLinux、Windows、MacOS、Androidの各種OSに対応している。

 

 

セットアップ(RaspberryPi側)

P3102802 20190310090849

早速、RaspberryPiに無料版のサーバアプリ/PC側にWindows版のクライアントアプリをセットアップして、SCU-17が使用できるかどうか試してみた。

結論から書くと…問題無く使用できる。
但し、SCU-17は二台のUSB機器として認識されるため、制御と音声入出力を同時に使用するためには有料版のサーバアプリが必要になる。
先ず制御側を有効にした状態でWSJT-Xから818のコントロールを確認し、次に音声入出力側を有効にした状態でWSJT-Xへの受信音入力を確認した。
音声入出力の場合は遅延が気になるところだが、受信に関しては特に問題無くデコード出来ている様子。
送信は今後可能(デジタルモード追加変更が審査終了)になったら試して みよう。

 

MBP SS 2019 03 10 8 48 05

また、RaspberryPiにUSB接続したGPSレシーバーを有効にした状態でNMEATime2での時刻合わせが正常に行えることも併せて確認出来た。
無線環境は窓の近くにあるのでGPSレシーバーの設置がし易く、USBデバイスサーバに収容できればPCに直接繋ぐ必要が無くなる。
先日作ったBluetooth接続のGPSレシーバーも有るが、長時間運用では やはり電池の持ちが気になるので、USB接続が使い易い。

 

P3102801 20190310090847

この黒くて丸い物(サイズ:直径φ45×15mm程度)が今回新調したUSB接続のGPSレシーバーだが、 この様に窓から離れた位置に置いても十分な数の衛星を素早く捕捉し時刻補正してくれる。

さて、上記の結果から、これなら十分実用になると確信したので、RaspberryPi 3B+に最適化された有料版サーバソフトを購入。
SCU-17の制御と音声入出力、GPSレシーバーからの受信入力を同時に有効化し、各アプリで正常に認識・使用出来ることを確認した。

併せて、RaspberryPiから発生するノイズを減らすために、装着していたLCDを外した。
ノイズは大幅に少なくなり、無線環境の中に置いてもほぼ影響無し。
ケースもよりコンパクトな物に交換したが、発熱が大きいチップ全てが熱伝導シートを介してアルミ削り出し製ケースに繋がる構造で、ケース全体が放熱器になることで放熱効果が非常に高い。
ユーザー評価(複数)でも、他社の冷却ファン搭載ケースよりも温度上昇抑えられるとのこと。

 

 

セットアップ(PC側)

これで818の制御と音声入出力、GPSレシーバーからの受信入力がWi-Fi経由で行えるようになったので、続いてPC側の環境を整えよう。
今のところデジタルモード(FT8)での交信が主な目的なので、その方向で進める。(2) 

 

ハード構成図 201903100841

ソフト構成図 201903100841

既にセットアップしているWSJT-XとTurboHAMLOGを引き続き使いたいので、この両アプリで818の制御を共有するためにVSPE(Virtual Serial Ports Emulator)を 導入。
VSPEの「Splitter」を使って一対一の仮想COMポートを生成する。(3)
WSJT-XとTurboHAMLOGのCOMポート設定では両方とも同じ仮想COMポートを指定する。
この「両方とも同じ仮想COMポートを指定する」ということになかなか気づかず、しばらく試行錯誤を繰り返した。
一点、VirtualHereによる仮想COMポートだからか、VSPEの起動時に初期化エラーでエミュレーションが開始出来ないことがたまにある。
発生するのは初回起動時のみで、数回エミュレーション始動を繰り返せば正常動作になり、その後はシャットダウンするまで安定稼働するため、実用上の問題は無い。

尚、使用例の多いOmniRigも試してみたが、TurboHAMLOGの挙動が不安定になった ため見送り。
恐らくVSPEの設定を詰めれば解決しそうだけど、現時点でOmnirigを使う必要が無いので現状維持…安定している環境は必要が無ければ弄るなとも言うしね。

 

MBP SS 2019 03 10 8 52 23

他にはWSJT-Xのサポートアプリを二つ。
発信局に関する各種通知やQRZ.comのデータベースと連携した様々な情報を表示してくれるJTAlart、WSJT-Xでの交信記録をTurboHAMLOGへ転送してくれるJT_Linker
余談だが、他者の情報を参照するだけではなく、自分の情報も参照して貰えれば…とQRZ.comへの登録も済ませた。

 

MBP SS 2019 03 10 10 24 01

そして、818の各種コントロールをするHamRadioDelux
818は表示や操作系が小さく、各種機能が深い階層状態になっていて、お世辞にも操作性が良いとは言えない。
PCを使うことでその操作性を補ってくれるのが、このアプリ。
現在は有料だが、無料の旧バージョンがネット上で入手可能だ。
早速、無料最終版(Ver.5.24.38 2012/10公開)を入手して試したところ、事前に試用した有料最新版(Ver.6.50 $99〜)よりも軽くて安定している印象。
818の前機種に当たる817(HRD上では817を選択)は古い機種なので、機能的には無料最終版で必要十分だろう。

JTAlartには、起動時に他のアプリを連続(待ち時間設定可)して自動起動し、終了時にはこの自動起動したアプリを自動終了する機能が有る。
この機能を使い、JTAlartを起動するとTurboHAMLOG⇒WSJT-X⇒JT_Linkerの順でそれぞれ少し時間を空けて起動するようにした。

 

次は音声(マイク/スピーカー)のワイヤレス化。
それと、SCU-17を経由してPCを使ったCWの送受信も可能なので、いずれ試してみたい。

 

ちなみに、冒頭の写真は我がシャック(^^ゞの全景。
幅50×奥行40cmの小さな台(ベッドサイドテーブル)の上に全ての器材を設置している。
見ての通りPCを置くスペースは無いし、ベッドの横ではないけど狭い所に置いているため、離れた場所にPCを置いてリモート操作するのは必須条件だった。
アンテナはモービルホイップ(RHM8B)を簡易スタンドに装着して、室内窓寄りに仮置きしている。

  1. その分をUMPCの購入に充てたい。 []
  2. 音声はそのうち、CWは多分無いかな…PCを使った送受信は試すかも。 []
  3. 他にも様々な機能が有るが、現時点で使うのはこのSplitterのみ。 []

[RaspberryPi] ラズパイ事始め

【この記事の所要時間: 1123秒】

P1262665 20190126195106

 

最近、模型とか電子工作(ラジオ、アンプ、等)、トイガンのカスタマイズなど小物弄りをしたい欲求が高まっている。
とはいえ、模型と電子工作はしばらく離れていたので道具を揃えなきゃだしスキル不足も否めない。
トイガンの方は今のところ組みたいモデルが無いし深みに嵌まると怖いのでボツ。
電子工作みたいにあとあと活かせる物となると他にはPC系か。
これなら手持ちの道具で事足りる、ハード的なスキルも必要充分、ソフト的なスキルは入門書やネット情報で補える。

ふと、以前から興味があったRaspberry Piを思い出した。
手持ちの余剰品(ディスプレイ、キーボード、マウス)を活かせば初期投資を抑えられるし、Linuxマシンなので色んな使い途が有りそう。
万が一使い途が思い付かなくても、超コンパクトなので邪魔にならないしね。

というわけで一通り揃えて、とりあえずセットアップしてみた。

 

 

購入品

P1262647 20190126183802

新規に買ったのは、Raspberry Pi 3 Model B+ スターターキット、アルミ合金製ケースと3.5インチLCDのセット、入門書。

 

スターターキット

P1262648 20190126183805

他にUSBキーボード/マウス、HDMI対応ディスプレイを用意すればOK…というセット。

  • Raspberry Pi 3 Model B+ 本体
  • 5V/3Aスイッチ付き電源
  • プラスチック製ケース
  • HDMIケーブル
  • MicroSDHCカード(SanDisk Ultra 32GB、NOOBSシステムインストール済)
  • MicroSDHCカードリーダー/ライター(USB-A/USB-C対応)
  • ヒートシンクセット
  • 日本語説明書

 

 

P1262651 20190126183813

肝心の本体は実に質素なパッケージで、箱は破いて開ける構造、内部は一切の梱包・緩衝材無しでボードがそのまま放り込まれている。

 

アルミケース&LCD

P1262649 20190126183808

上下二分割のケース、3.5インチLCD(SPI接続)、タッチペン、組み立てネジやゴム脚などパーツのセット。

外付けのHDMIディスプレイが有るので購入する予定は無かったが、事前にディスプレイの動作確認をしたところHDMI接続で表示されなかったため、急遽直付けLCDの購入を検討。
キットにもケースは付属しているが、LCDと本体を一体化出来て、放熱性や雑音低減の点から有利な金属製のケースが良いな…と調べて、唯一見つけたのがこの製品。

直付けLCDはこのSPI接続の他にHDMI接続の物が有り、セットアップはHDMI接続の方が容易らしいのだが…金属製ケースに収まる物が無かったので見送り。(1) 
しかし…このSPI接続を選択したことによる難行苦行が待ち構えているのであった…。

 

 

所有品

P1262650 20190126183810

手元に有る余剰品を流用。

  • HDMI接続対応のミニディスプレイ(他にDVI/VGA/コンポジットにも対応)
  • USBミニマウス
  • ワイヤレスミニキーボード(タッチパッド内蔵)

 

 

組み立て

P1262652 20190126183817

ケースの下半分にはボード裏面のチップ(DRAM)が当たる位置に出っ張りがあり、そこに熱伝導ゲル(写真中の水色のシート)を貼ってチップに接触させることで、ケース自体を放熱器として使用する。
そのため、スターターキットに付属しているヒートシンク(熱伝導ゲル右横の銅板)は使用しない。

セットアップで長時間使用しているとケース全体が結構暖かくなっているので、効果はある様子。
vcgencmd measure_temp で取得したCPU温度は、平常時:約40℃/中負荷時:約50℃(室温24℃)。
ケースの外からUSB扇風機などで風を当てることで更なる冷却化が図れるだろう。

 

P1272668 20190127121033

ケース下半分にボードを収めて、四隅のスペーサー(金色の筒状の物)で固定する。
ボード上のチップにもヒートシンク(SoC用:中央やや左よりの金色の物、CTL用:USBポート左隣の青色の物)を装着する。
尚、青色のヒートシンクは手持ち品で、スターターキットには付属していない。

 

 

外観

P1262659 20190126183839

P1262660 20190126183842

アルミニウム合金削り出しで、精度が高くピッタリ噛み合う。
全体を金属で覆う感じになるが、六面のうち一面(二段目の写真でやや凹んだ面…ボード上でワイヤレスアンテナが有る向き)が樹脂製パネルになっていて、Wi-FiやBluetoothの接続も問題無し。
また、このパネルはスモークなので内部の状態表示LEDを視認することも出来る。
覗いてみると、RaspberryボードとLCDボードの間は間隔が広く、結構余裕がある様子。

 

P1262661 20190126183845

裏には滑り止めのゴム脚(別添付品)を貼付。

 

 

セットアップ

P1262654 20190126183822

 

システムセットアップ

スターターキットにはNOOBSがインストールされたSDHCカードが付属しているが、NOOBS経由でセットアップしたシステム(Raspbian)は直付け(SPI)LCDとの相性が良くないらしいので、事前に直接RaspbianをセットアップしたSDHCカードを準備。

  1. SDメモリカードフォーマッターをダウンロードして、MacBookPro/13にインストールする。
  2. 手持ちのSDHCカードをSDメモリカードフォーマッターでフォーマットする。
  3. 公式のダウンロードサイトから Raspbian Stretch with desktop (ZIP版)をダウンロードする。
  4. ダウンロードしたZIPファイルをMacBookPro/13で解凍する。

後は解凍して抽出されたイメージ(img)ファイルをSDメモリカードに書き込めば出来上がりだけど、この手順は文章にすると結構複雑なので割愛。(2) 
今回併せて購入した入門書に記載されている手順に従って進めた。

作成したシステムディスクでひとまず起動OK。
自宅のWi-Fiへの接続も難無く出来たのでアップデートと日本語化を進める。
この時点では直付けLCDのドライバが入っていないので、表示が真っ白なまま。
尚、外付けディスプレイは手持ちのHDMIケーブルでは表示出来なかったが、スターターキット付属のHDMIケーブルで無事表示出来た。

続けてMacBookPro/13からのSSHとVNCでの接続設定も問題無く完了。

[tip]・SSH有効化 …【設定】⇒【Raspberry Pi の設定】⇒【インタフェース】で SSH を有効にする。
・VNC有効化 …【設定】⇒【Raspberry Pi の設定】⇒【インタフェース】で VNC を有効にする。

・SSH接続 … ssh pi@raspberrypi.local
・VNC接続 … vnc://raspberrypi.local[/tip]

 

これでより広い画面&キーボードを使って操作出来る。
ミニキーボード内蔵のタッチパッドでもマウスカーソルの操作は出来たが、操作性を考えてUSBミニマウスを使用。

 

P1262657 20190126183834

このミニキーボードは、Bluetoothではなく専用のUSBドングルを使用する。
そのため汎用性が乏しくて仕舞い込んでいたが、今回スンナリ使えたので良かった。

キーボードは小さいがそこそこ盛り上がっていて、クリック感もしっかりしているので、使い勝手は悪くない。
ただ、 TAB キーが無いのが残念… 複数キーの組み合わせでもいいから対応して欲しかった。

右2/3くらいのスペースがタッチパッド(①)になっていて、マウスカーソルの移動が出来る。
キーボード左下には左クリック(②)と右クリック(③)のキーが有り(3) 、また、タッチパッド右上にはページアップ/ダウン(④)のキーが有る。
このキーボードはリモコン?としても使用出来、タッチパッドとリモコンボタンの切替が可能(⑤)。

余り明るくないけれどもバックライト機能も有り。

 

P1262656 20190126183828

サイズはiPhone8とほぼ同じくらい。
iOSにも対応しているが…専用ドングルを接続するためにLightning⇔USB-Aのアダプタが必要。

 

LCDドライバセットアップ

起動までは順調、いよいよ直付けLCDのセットアップ。
アルミケース&LCDのセットには説明書らしき物は一切付属していなくて、Amazonの商品説明内にドライバの入手とインストール手順を英語で記したページのURLが書かれているのみ。
ネットで調べてみるとSPI接続LCDのセットアップは結構苦労している様子なのでちょっと不安だったけど、記されている手順自体はさほど複雑ではないので大丈夫だろう…。

Raspberry Pi上でダウンロードとインストールを済ませ、いよいよ表示先を直付けLCDにして再起動。
まだ外付けHDMIディスプレイを接続したままだが、起動時のメッセージの羅列は直付けLCDの方に表示された。
成功か!と思ったら…デスクトップは外付けHDMIディスプレイの方に表示され、直付けLCDは真っ白なまま。

外付けディスプレイの解像度が直付けLCD(480×320)と同じで狭い。
MacBookPro/13からVNC接続しても当然同じ解像度なのでGUIではほぼまともに操作出来ず、表示先を外付けディスプレイに切り替えて再起動して設定を調整する⇒また直付けLCDに切り替えて再起動…の繰り返し。

しばらく試行錯誤しても一向に改善しないため、ドライバの問題(ベンダーやバージョン等の不適合)かも。

 

P1262658 20190126183836

直付けLCDに記されたこの情報を基に調べてみたところ、同じLCDを別のドライバでセットアップした記事を見つけた。
Raspberry PiのボードとRaspbianの版数は自分の環境と異なっているようだったが、ダメ元でドライバをダウンロードして入れ替えたところ、無事直付けLCDにデスクトップが表示された。
但し、解像度はデフォルト(480×320)のまま。

次はこの解像度の変更。
直付けLCDの方は実解像度の縦横二倍(960×640)程度、VNC接続時には広め(1280×1024)にしたい…と色々試してみたが、LCDとVNCで異なる解像度にする設定が分からず(不可?)、結局両方とも1280×1024で落ち着いた。
3.5インチのLCDでこの解像度はかなり厳しいが、この画面で直接操作することは無く、状態確認程度なので大丈夫だろう。
また、LCDのタッチパネル・キャリブレーションは行っていないが、特に位置誤差は無く使用出来ている…尤もスタイラスペンを目的の位置に当てるのは結構大変だけどね。

[tip]・直付けLCDへ表示切り替え: LCD-show/LCD35-show を実行。
・外付けディスプレイへ表示切り替え: LCD-show/LCD-hdmi を実行。

LCD-show/boot/config-35.txt の編集例

 hdmi_drive=2
 hdmi_group=2
 hdmi_mode=35
 hdmi_force_hotplug=1
 hdmi_cvt 960 640 60 6 0 0 0

 framebuffer_width=1280
 framebuffer_height=1024

 ※試行錯誤の結果なので無用/無効な設定も有るかも。[/tip]

最初は /boot/config.txt を編集していたが、表示先を切り替える度に ドライバ側のコンフィグファイル(上記のLCD-show/boot/config-35.txt )で上書きされることに気付かず…しばらく悩んでしまった。
(ドライバと呼ばれてはいるが、実際はこのコンフィグファイルの書き換えを行っているだけらしい。)

 

 

諸々

P1272666 20190127121028

5V/2.4A出力のモバイルバッテリーでもとりあえず使える。(4) 
写真のバッテリーは8000mAhだけど残量の減り具合がかなり早いので、実用するにはもっと大容量のバッテリーが必要だろうね。

 

P1272667 20190127121031

iPad mini 4からもVNC接続完了。
これくらいの表示サイズになればソフトウェアキーボードでも充分実用になる。

 

 

さて、ひとまず完了。
いろいろ悩んだものの良い頭の体操になったし、小物弄り欲求もほぼ満たされた。
さて、次は活用…何に使おうか・どう使おうか。
やってみたいことは幾つかあるけれど、焦らずノンビリ進めて行こう。
また試行錯誤に陥るだろうけれど、それもまた頭の体操だ。

 

 

 

  1. Raspberry PiのHDMI端子と外部でブリッジ接続する構造のため、全面をカバーするケースは難しそう。 []
  2. 始めたばかりの素人が説明するよりも遙かに詳細で分かりやすく解説されているサイトがたくさん有るからね。 []
  3. タッチパッドをタップすることでも左クリックになる。 []
  4. 推奨は5V/2.5A以上。 []