CUIでCI-Vコントロール その2
最近,ICOMでこのようなツイートがありました.
2つのアプリをリリース!
— アイコム株式会社 Icom Inc (@Icom_Inc_Japan) 2021年11月30日
外部GPS対応アプリST-4002A(Android版)と時計設定アプリST-4003A(Android版)/ST-4003W(Windows版)を公開しました。ぜひ、ダウウンロードして、運用にお役立てください。
ST-4002Ahttps://t.co/oq8bYKdALg
ST-4003Ahttps://t.co/xRsNhZtq1q
ST-4003Whttps://t.co/d9mtZtskxz pic.twitter.com/xokpzxB22V
スマホやWindows PCからICOMのリグに対してGPS位置情報や時刻設定を流し込むアプリケーションのようです.
自分はAndroidスマホもWindowsノートPCも持っていないのでアプリの恩恵を受けることができません.加えて云うと「このアプリを動かすためにいちいち無線機に接続するのもなぁ」という感想です.他のプラットフォームでも動かせるようにオープンソースなり情報で欲しかったなぁ.
しかしリンク先を見て動きを類推すると,どうやら必要なGPSなり時刻情報をスマホなりPCから取得してCI-Vで設定しに行くだけなのではないかと思えてきました.
ちょっと前にこんな記事を書いたことがあります.
jo1mmi.hatenadiary.com
WindowsのWSLのLinuxからUSBで繋がったIC-9700の周波数を変更するコマンドを作ったという記事です.このときのやり方が適用できそうです.
実は時刻設定に関してはモチベーションがあります.IC-7300MはGoBoxに入れっぱなしにしているのですが,運用するときにバッテリを接続する使い方をしています.運用期間が空くと7300の時計設定が失われてしまいます.一発で時計を設定する機能が欲しいと思っていました.
当局では基本的に無線機に1台ずつ Raspberry Pi を繋いであって,主にFT8のデジタルモードの運用に利用しています.というわけで,Linuxコマンドとして時刻設定を無線機に対して発行すればいいということになります.
試しにIC-705で実験してみたところ,うまく行きました.
#!/bin/bash export ADR='A4' export DSET="0165" export TSET="0166" stty 19200 -F /dev/ttyUSB705 raw -echo echo "FEFE""$ADR""E01A05""$DSET""`date '+%Y%m%d'`""FD" | xxd -r -p > /dev/ttyUSB705 echo "FEFE""$ADR""E01A05""$TSET""`date '+%H%M'`""FD" | xxd -r -p > /dev/ttyUSB705
stty でシリアルデバイスを設定して,日付および時刻情報は date コマンドで取得しながら echo で作った文字列を送り込むものです.パイプした xxd でバイナリにしてデバイスにリダイレクトです.デバイスはIC-705のコントロール用シリアルデバイスをこの名前にエイリアスしておいたものです.
文字列生成にあたり,ADR が IC-705 の CI-Vアドレス,DSET が IC-705 の日付設定サブコマンド,TSET が IC-705 の時刻設定サブコマンドです.これらサブコマンドは 1A-05 コマンドの配下にあります.
CI-Vアドレスと日付・時刻設定サブコマンドを IC-7300用に変更*1し,シリアルデバイスをIC-7300に接続してあるRspberry Piのものに合わせれば,IC-7300にも適用できるはずです.
追記
ようやく IC-7300 でも試してうまくいきました.
デバイスを適切なものに変更した上で,スクリプト上のパラメータもIC-7300に合うように変更する必要があります.パラメータの変更部分は以下です.
export ADR='94' export DSET="0094" export TSET="0095"
本当は同じデバイスを使っている他のアプリケーション(FLRigとかWSJT-Xとか)とかち合わないようにしなければいけないのかもしれません.このあたりは追って勉強します.
さて,次は IC-9700 にGPS情報を送り込むべく,がんばります.
*1:日付や時刻設定など汎用っぽい設定項目のサブコマンド配置が無線機ごとに異なるとけっこう面倒くさいですね.