dmonitor と ICOM 60th ID-52 PLUS
Raspberry Pi Zero 2W を入手したので、dmonitor を入れてみました。簡単に使えました。
私は GUI いらないので軽い Raspberry Pi OS Lite 32bit で Zero2W 文字がある対応版を選択しました。これなら電源 OS 起動から 10 秒ほどで起動して http 接続できるので、意外と快適。
ポイントをメモで書いときます。
USB 接続で ID-52 PLUS を認識する様にファイル書き換え
dmonitor インストール直後は 60th ID-52 PLUS を認識しませんが、ファイルを一つ編集して USB 抜き差しすれば動きます。これは USB 接続した際に 99-dstar.rules にマッチせず dstar シンボリックリンクが作成できてない為です。手動でシンボリックリンクの編集やっても良いけど面倒なのでファイル編集しました。
ID-52 PLUS は一番下の行に追加しました。004c のやつです。
ファイル名 /etc/udev/rules.d/99-dstar.rules # USB Serial Cable SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="dstar", MODE="0666" # IC-705 SUBSYSTEM=="tty", ATTRS{idVendor}=="0c26", ATTRS{idProduct}=="0036", SYMLINK+="dstar", MODE="0666" # ID-52 SUBSYSTEM=="tty", ATTRS{idVendor}=="0c26", ATTRS{idProduct}=="003a", SYMLINK+="dstar", MODE="0666" # ID-50 SUBSYSTEM=="tty", ATTRS{idVendor}=="0c26", ATTRS{idProduct}=="0046", SYMLINK+="dstar", MODE="0666" # ID-52 PLUS SUBSYSTEM=="tty", ATTRS{idVendor}=="0c26", ATTRS{idProduct}=="004c", SYMLINK+="dstar", MODE="0666"
Android テザリングへ接続するときは LTE で
外出した時の使用を想定してスマホ HTC Desire 22 pro の テザリングでセットアップしてたけど、Raspberry Pi Zero 2 W 側からチャンネルが見えない時があります。iwlist scan で見えないんですよね。1日ハマりました。最終的に症状がでるのは Android 端末自体が Wi-Fi 接続し、更に Wi-Fi テザリング公開した場合です。Android 端末自体がLTE接続の場合は Raspberry Pi から見えます。
IP アドレス確認をどうするか
Raspberry Pi のイメージ作るソフトだと WiFi や ssh の設定ができるので HDMI や マウスなど未使用で可能です。電源ケーブルのみで動かせました。Windows PC もラズパイと同一ネットワークへへ接続して nmap -sL でラズパイのIP調査し、http、ssh接続します。
ただ、今のところIP不変の様子だけど毎回 IP アドレス調べるのも何なので、IP 取得した後 slack か discord の webhook で URL を通知するようにする予定です。そすればスマホアプリで簡単にURLクリックできるし。
/etc/NetworkManager/dispatcher.d/ 配下にスクリプト置くと動く形。はじめは /usr/bin/printenv などで環境変化ごとの実効値を調べてスクリプト組む形ですね。
シャットダウンを簡単に
dmonitor のウェブ UI にも OS シャットダウンがあるし、まあ、壊れても大したことないし電プチする方がおおいけどね。一応 connectbot を公開鍵認証すれば自動実行で sudo halt -p (sudo shutdown -p now) 動かせるのでワンクリックで実行できるように設定しておこうと思います。
ID-52 PLUS って Bluetooth で CI-V 接続操作できないの?
あとは bluetooth 側からの CI-V 接続。これがねぇ今のところ制御できていない。
bluetooth のペアリングしてSerialPort接続状態にはなるんだけど。制御できません。A4 E0 を B4 や 00 や送受信入れ替えたり、イマイチわかって無いので、いろいろしてみたけど制御はできなかったです。ペアリングは bluetoothctl コマンドで実施して sacan on からペアリングと trust 登録できました。
Bluetooth でペアリング状態になると /dev/rfcomm0 が出来上がってるので通信部分だけだとは思うんだけど。単純な bluetooth シリアル通信だよなぁ。
まだシリアルポート開いてコマンド操作試していないので、またやってみます。
以下メモ
# 以下編集&追記 $ sudo vi /usr/lib/systemd/system/bluetooth.service #ExecStart=/usr/libexec/bluetooth/bluetoothd ExecStart=/usr/libexec/bluetooth/bluetoothd --compat ExecStartPost=/usr/bin/sdptool add --channel=22 SP # bluetooth 再起動 systemctl daemon-reload systemctl restart bluetooth # bluetoothctl コマンドメモ bluetoothctl show bluetoothctl power on bluetoothctl scan on bluetoothctl pairable on bluetoothctl default-agent bluetoothctl agent on bluetoothctl discoverable on bluetoothctl advertise on #いまいちどれが有効んな手段かわかってない scan on と advertise on かな? bluetoothctl trust "MAC ADDRESS" bluetoothctl devices Paired bluetoothctl devices Bonded bluetoothctl devices Trusted bluetoothctl devices Connected
ちなみに Bluetooth プロトコルスタック BlueZ で、hci**コマンド、sdptool、rfcomm、など現在すべて非推奨扱い。
じゃあどうするよが見つからず。