SSブログ

無線機を Raspberry Pi 3 で操作する (hamlib) [ham]

無線機と Raspberry Pi 3 を USB で繋いで無線機の制御をする。

1. hamlib インストール

https://dl1gkk.com/setup-raspberry-pi-for-ham-radio/
を参考に 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



2.無線機との接続(シリアルインターフェース  ICOM CI-V)


使用した USB インターフェースは下記、
https://jq1qnv.sakura.ne.jp/body/ft232rl/ft232rl.html

これは 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"で全てインストールしてしまった方が良いかもです。)

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

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


(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

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

Raspberry Pi 3 のキーボード設定 (英語配列になってしまうトラブル) [Linux]

約2年前に買った Raspberry Pi 3
ほったらかしになっていたのでいじってみた。
すんなり行かない部分があったのでメモ。

キーボードの設定(英語配列になってしまうトラブル)


使用したキーボードは NBL102UBK1 というおそらく廉価版の普通のキーボード


対処方法は下記。
シェルで下記を実行
$ sudo raspi-config

図01〜図07で設定。

01.png
図01


02.png
図02


03.png
図03


04.png
図04


05.png
図05


06.png
図06


07.png
図07


次に、デスクトップからパネルに表示されているキーボーのアイコンを右クリック(図A1)

A1_s.png
図A1


「入力メソッドの設定」のウィンドウが開くので、
そのウィンドウの下側に「+」のボタンがあるのでクリックし、
入力メソッドを追加する(この場合「日本語(OADG 109A」図A2)

A2.png
図A2



経緯
当初 図03を図91の如く「標準105キー」で設定したのだが、
JISの配列にならず、記号"|"が打てなかった。
試しに「Logitec 標準キーボード」にしたらうまく行った。

91.png
図91

Raspbian のバージョンは下記


Description:    Raspbian GNU/Linux 9.11 (stretch)
Release:    9.11


追記:2020-05-25

英語配列と言っても、UK配列とUS配列があるようで、この違いも認識しておく必要があるみたいです。


nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。