無線機を Raspberry Pi 3 で操作する (hamlib) [ham]
無線機と Raspberry Pi 3 を USB で繋いで無線機の制御をする。
1. hamlib インストール
1. hamlib インストール
https://dl1gkk.com/setup-raspberry-pi-for-ham-radio/
を参考に hamlib 3.3 をインストール。
パッケージ管理をしたかったので make install ではなく、
checkinstall を使った。
しかし、以下のエラーが出てうまく行かず。
を参考に hamlib 3.3 をインストール。
パッケージ管理をしたかったので make install ではなく、
checkinstall を使った。
しかし、以下のエラーが出てうまく行かず。
$ sudo checkinstall
・
・
・
/bin/mkdir -p '/usr/local/share/doc/hamlib/html'
/bin/mkdir: ディレクトリ `/usr/local/share/doc/hamlib' を作成できません: そのようなファイルやディレクトリはありません
Makefile:710: ターゲット 'install-dist_htmlDATA' のレシピで失敗しました
make[2]: *** [install-dist_htmlDATA] エラー 1
make[2]: ディレクトリ '/home/hoge/apl/hamlib-3.3/doc' から出ます
Makefile:783: ターゲット 'install-am' のレシピで失敗しました
make[1]: *** [install-am] エラー 2
make[1]: ディレクトリ '/home/hoge/apl/hamlib-3.3/doc' から出ます
Makefile:592: ターゲット 'install-recursive' のレシピで失敗しました
make: *** [install-recursive] エラー 1
**** インストールは失敗しました。パッケージの作成を中断します
クリーンアップ..OK
Bye.
仕方がないので下記を実行
$ sudo mkdir -p '/usr/local/share/doc/hamlib/html'
そのあと、checkinstall を実行して何とかインストールできました。
$ sudo checkinstall
・
・
/bin/mkdir -p '/usr/local/share/doc/hamlib/html'
/bin/mkdir: ディレクトリ `/usr/local/share/doc/hamlib' を作成できません: そのようなファイルやディレクトリはありません
Makefile:710: ターゲット 'install-dist_htmlDATA' のレシピで失敗しました
make[2]: *** [install-dist_htmlDATA] エラー 1
make[2]: ディレクトリ '/home/hoge/apl/hamlib-3.3/doc' から出ます
Makefile:783: ターゲット 'install-am' のレシピで失敗しました
make[1]: *** [install-am] エラー 2
make[1]: ディレクトリ '/home/hoge/apl/hamlib-3.3/doc' から出ます
Makefile:592: ターゲット 'install-recursive' のレシピで失敗しました
make: *** [install-recursive] エラー 1
**** インストールは失敗しました。パッケージの作成を中断します
クリーンアップ..OK
Bye.
仕方がないので下記を実行
$ sudo mkdir -p '/usr/local/share/doc/hamlib/html'
そのあと、checkinstall を実行して何とかインストールできました。
$ sudo checkinstall
2.無線機との接続(シリアルインターフェース ICOM CI-V)
これは Raspberry Pi 3 に繋ぐだけですぐ使えた。(ドライバのインストールは不要)
IC-911Dにつないで動作確認( 権限の関係でここでは sudo )
$ sudo rigctl -r /dev/ttyUSB0 -m 344
[sudo] hoge のパスワード:
Rig command: f
Frequency: 432420000
USB 経由で FT232 などのシリアルインターフェースを使う場合、ユーザが"root"や"pi"ではない一般のユーザだと権限の問題があり、結果的に hamlib が動作しないので、権限を付与するために下記を実行。
$ sudo adduser 使用したいユーザ名 dialout
権限については設定がいろいろ面倒なので、結局のところ自ユーザの権限を pi に合わせて設定した。
$ sudo usermod -aG \
> adm,dialout,cdrom,sudo,audio,video,plugdev,games,\
> users,input,netdev,gpio,i2c,spi ユーザ名
(セキュリティーにこだわらないのであればユーザ"pi"で全てインストールしてしまった方が良いかもです。)
IC-911Dにつないで動作確認( 権限の関係でここでは sudo )
$ sudo rigctl -r /dev/ttyUSB0 -m 344
[sudo] hoge のパスワード:
Rig command: f
Frequency: 432420000
USB 経由で FT232 などのシリアルインターフェースを使う場合、ユーザが"root"や"pi"ではない一般のユーザだと権限の問題があり、結果的に hamlib が動作しないので、権限を付与するために下記を実行。
$ sudo adduser 使用したいユーザ名 dialout
権限については設定がいろいろ面倒なので、結局のところ自ユーザの権限を pi に合わせて設定した。
$ sudo usermod -aG \
> adm,dialout,cdrom,sudo,audio,video,plugdev,games,\
> users,input,netdev,gpio,i2c,spi ユーザ名
(セキュリティーにこだわらないのであればユーザ"pi"で全てインストールしてしまった方が良いかもです。)
Raspberry Pi 3 で USBオーディオ変換アダプタを使用する [Linux]
Raspberry Pi 3 で音声の入出力が扱えるように USBオーディオ変換アダプタを使用する。
使用したアダプタは SANWA の MM-ADUSBTC1 で、これ自体は繋ぐだけですぐ使えた。
1.以下動作確認
(1)録音デバイスの確認。LXTerminalを起動して arecord コマンド実行。
# arecord -l
**** ハードウェアデバイス CAPTURE のリスト ****
カード 1: Device [USB Audio Device], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
使用したアダプタは SANWA の MM-ADUSBTC1 で、これ自体は繋ぐだけですぐ使えた。
1.以下動作確認
(1)録音デバイスの確認。LXTerminalを起動して arecord コマンド実行。
# arecord -l
**** ハードウェアデバイス CAPTURE のリスト ****
カード 1: Device [USB Audio Device], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
(2)音声出力デバイスの確認。aplay コマンド実行。
# aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
サブデバイス: 7/7
サブデバイス #0: subdevice #0
サブデバイス #1: subdevice #1
サブデバイス #2: subdevice #2
サブデバイス #3: subdevice #3
サブデバイス #4: subdevice #4
サブデバイス #5: subdevice #5
サブデバイス #6: subdevice #6
カード 0: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 0: ALSA [bcm2835 ALSA], デバイス 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: Device [USB Audio Device], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
(3)録音のテスト(Cntl-Cで録音終了)
# arecord -D plughw:1,0 -d 10 -f cd test.wav
録音中 WAVE 'test.wav' : Signed 16 bit Little Endian, レート 44100 Hz, ステレオ
(4)再生のテスト
# aplay -D plughw:1,0 test.wav
再生中 WAVE 'test.wav' : Signed 16 bit Little Endian, レート 44100 Hz, ステレオ
注)aplay arecord とも "-D plughw:1,0" でデバイスを指定する必要がる。
2.ユーザの権限
ユーザが root や pi ではない一般のユーザだと権限の問題があり aplay,arecord が動作しないので、一般ユーザで音声入出力を扱いたい場合は権限を付与する必要がある。下記を実行。
$ sudo adduser 使用したいユーザ名 audio
Raspberry Pi 3 のキーボード設定 (英語配列になってしまうトラブル) [Linux]
約2年前に買った Raspberry Pi 3
ほったらかしになっていたのでいじってみた。
すんなり行かない部分があったのでメモ。
キーボードの設定(英語配列になってしまうトラブル)
ほったらかしになっていたのでいじってみた。
すんなり行かない部分があったのでメモ。
キーボードの設定(英語配列になってしまうトラブル)
使用したキーボードは NBL102UBK1 というおそらく廉価版の普通のキーボード
対処方法は下記。
シェルで下記を実行
$ sudo raspi-config
図01〜図07で設定。
シェルで下記を実行
$ sudo raspi-config
図01〜図07で設定。
次に、デスクトップからパネルに表示されているキーボーのアイコンを右クリック(図A1)
「入力メソッドの設定」のウィンドウが開くので、
そのウィンドウの下側に「+」のボタンがあるのでクリックし、
入力メソッドを追加する(この場合「日本語(OADG 109A」図A2)
経緯
当初 図03を図91の如く「標準105キー」で設定したのだが、
JISの配列にならず、記号"|"が打てなかった。
試しに「Logitec 標準キーボード」にしたらうまく行った。
Description: Raspbian GNU/Linux 9.11 (stretch)
Release: 9.11
Release: 9.11
追記:2020-05-25
英語配列と言っても、UK配列とUS配列があるようで、この違いも認識しておく必要があるみたいです。