3年振りの「IC-9700 CI-V コマンドで遊ぶ」です。
IC-9700 の CI-V 通信を Bluetooth でやってみました
概要です。
IC-9700 には、データ通信用のポートとして「USBポート」「LANポート」「DATAジャック」の3種類が標準で搭載されています。私はふだん、USB ポートと LAN ポートを、ICOM 純正のリモートコントロールソフト「RS-BA1」で使用しています。
この状態で、他のアプリケーションでも CI-V 制御を行おうとすると、仮想 USB ドライバを使う必要が出てきて、設定が少し面倒になることがあります。また、リモート操作との併用時に自由度が下がってしまうことも気になっていました。
そこで今回は、IC-9700 に標準装備されているもう一つの CI-V ポートである「DATAジャック(2.5mm ステレオミニ端子)」を使って、別の方法で CI-V 通信を行ってみることにしました。
とはいえ、このジャックに合わせた変換アダプタを自作して、PC とケーブル接続するのは今どきっぽくありません。そこで、小型マイコンの「Seeed Studio XIAO ESP32C3」を使い、BLE(Bluetooth Low Energy)でワイヤレス通信できるようにしてみました。
この XIAO ESP32C3 は、縦 21mm・横 17.5mmという非常にコンパクトなサイズながら、BLE 通信に対応しており、今回の用途にぴったりです。

似たようなマイコンに「ESP32-C3 Super Mini」という製品もありますが、こちらは1個 200 円程度と非常に安価ですが、技適(技術基準適合証明)が取得されていないため、電波を使う BLE 通信には使用できません。
その点、XIAO ESP32C3 は技適マーク付きで安心して使えるため、今回はこの製品を選びました。プログラム(スケッチ)は、ESP32-C3 Super Mini と XIAO ESP32C3 のピン配置(電源・シリアル)は同じなので、特別な変更を加えずに、そのままコンパイルして書き込むことができます。


ブレッドボードで試作
まずはブレッドボードで動作確認を行いました。
こういったものに需要があるのかは分かりませんが、今後は 3cm × 5cm 程度のサイズで基板化する予定です。

ESP32C3 のシリアル信号は、そのままでは IC-9700 の CI-V と接続できないため、RS-232C インターフェース用の IC を使って電圧レベルを変換しています。
Android アプリを開発して動作確認
IC-9700 側が BLE に対応しているため、制御用のアプリさえあれば、iPhone や Android スマートフォンはもちろん、Windows や Mac からも操作できます。
とりあえずこれまでの記事「IC-9700 CI-V コマンドで遊ぶ -3-」と同じように、IC-9700 の PTT の ON/OFF を Android に実装してみました。

430メガ帯で長時間の交信をしていると、ハンドマイクの PTT(送信ボタン)を何分も押し続けるのは、意外と疲れます。なので、まずは PTT のオン・オフをソフトから操作できるようにするところから始めました。
今後は、スマートフォンから周波数の変更や音量の調整、メモリーボタンの操作などもできるように、ICOM CI-V コマンド一覧を参考にしながら、少しずつ機能を追加していく予定です。