2014年12月3日水曜日

Soundcard Repeater 第3弾 HummingBoard i2eXで作る

Back


 第1弾はacerのノートパソコンで, 第2弾はG8BPQ改良型ソフトとUSBサウンドによるRaspberry Piで, 今回 第3弾はノートパソコン同様内蔵型サウンドとG4KLXオリジナルソフトで実現します。
 HummingBoard i2eXは64ビットデュアルコアと言うだけで無く,サウンドもOut/Inともオンボードで,周辺機器も多彩に接続可能となっています。
(詳しくはSolidRun Ltd.を参照)
 アナログFM無線機は第2弾でも使用した KENWOOD TH-F7を使用します。

ここでご紹介している D-STAR ネットワークへの接続ツール(各種ノード・DVAPなど)の運用においては 免許申請について(安田OMサイト)をご参照ください。 (2013年8月 ガイドラインが示されました。)

  1. パソコンと無線機を繋ぐケーブルの作成と主なパーツ

  2. Sound Card Repeater 用ケーブル(TH-F7用)の作成をご参照ください。

    また,今回は写真のように本体側が4極プラグのためパソコン用の3.5φステレオスピーカ用とマイク用を一つにまとめる4極<=>3極x2変換ケーブルを作成しました。 ピンアサインに付いてはメーカーサイトの回路図最終(6/6)ページに記載があります。

    コンバータケーブルを刺した時, LXTerminalで次のコマンドを実行するとケーブルを認識しているか探ることが出来ます。

    $ dmesg | grep serial
    [    0.761536] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58, base_baud = 5000000) is a IMX
    [    0.762221] 21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61, base_baud = 5000000) is a IMX
    [    0.762533] serial: Freescale lpuart driver
    [    0.786681] usbcore: registered new interface driver usbserial
    [    0.786721] usbcore: registered new interface driver usbserial_generic
    [    0.786758] usbserial: USB Serial support registered for generic
    [    3.462110] usbserial: USB Serial support registered for pl2303
    $ dmesg | grep pl2303
    [    3.462048] usbcore: registered new interface driver pl2303
    [    3.462110] usbserial: USB Serial support registered for pl2303
    [    3.462195] pl2303 2-1.1:1.0: pl2303 converter detected
    [    3.468251] usb 2-1.1: pl2303 converter now attached to ttyUSB0
    


     その他関連コマンドとしては次のようなものもあります。

    $ lsusb
    $ usb-devices
    



  3. HummingBoard i2eXの準備

  4.  HummingBoard用のOSはメーカーサイトに準備された多様なOSのメニューを持ったインストーラをダウンロードするようになっていますが, 今回ソフトウェアがスムーズに稼働することを確認した Debian Wheezy はそのインストーラでの作業の途中書き込みエラーを起こしました。 そこで,Debian Wheezyを単独でダウンロードする方法を採りました。

     詳しいインストール方法は HummingBoardにDebianをインストールするをご覧ください。


  5. ソフトウェアの準備とインストール

  6.  詳細に付いては、ircDDBGateway と DStarRepeater のコンパイルとインストールをご参照ください。


  7. ircDDB Gateway の設定

  8.  次の様に入力して設定画面を立ち上げます。

    $ sudo ircddbgatewayconfig
    


     詳しい設定内容については,ircDDB Gateway 初めての設定をご参照ください。


  9. Sound Card Repeater の設定

  10.  DSterRepeater の設定画面を立ち上げます。

    $ sudo dstarrepeaterconfig
    


     設定の詳細は,DStarRepeater 初めての設定をご参照ください。


  11. 全体的な調整作業

  12. Advanced Linux Sound Architecture(ALSA)の調整

     まず、音源が正常に作動しているかチェックしてみます。次のコマンドはルート権限で実行するのは好ましくないとの記述がありました。

    $ alsamixer
    


     操作方法は、[F3][F4][F5]で「再生」「録音」「すべて」を切り替え、[F6]でもし複数の音源がある場合セレクト出来ます。 また、[←][→]で横移動し、[↑][↓]でゲインコントロールします。[5]を押して「50%」という指定も出来ます。また「ミュート」の設定解除は[M]を押します。 [Esc]を押すと終了します。
    DStarRepeaterはDefaultしか使えません

     左図は,現在一応安定して動いている状態を示しています。

    $ sudo alsactl store 0
    


     上記のコマンドで設定を保存します。この時はルート権限で実行します。ただし、パソコンを再起動させなければ設定は継続されますので調整中は立ち上げっ放しでもいいでしょう。
    Defaultを示す0:ゼロを付けないと保存できません

    インプット(RX)の調整

     さてデスクトップのアイコン又はウィジェットからソフトを立ち上げてみます。リピータ、ゲートウェイの順に立ち上げると、うまく行った場合接続の声が聞こえて来るかも知れません。 でも、現実は相当に苦労すると覚悟した方が良さそうです。

     RXとはアクセスポイントとしてのサウンドカード・リピータの受信であるので、運用する者としてはハンディ機等で送信してみます。 RX State: Proccess DataRPT1: JL3ZBS B RPT2: JL3ZBS Gが表示されたら送信されています。 もし、他の接続デバイスがあれば同じところに接続してモニターしてみると分かりやすいと思います。 RX の調整の方が調整要素が少ないので、まずここを抑えてインターネット側に声が出ている様なら、 エコーサーバ(REF047 Eなど)に接続しエコーでサウンドカード・リピータのTXを調整するといいでしょう。
     もしアクセスできない時は、図の RX Level を調整してみます。それでもダメな時は RX Inversion を切り替えてみましょう。

    アウトプット(TX)の調整

     右図は,現在一応安定して動いている状態を示しています。

     通常DV機の送信する電波を、他のアナログFM機で受信すると「ピッザーーー」という音に聞こえます。 最初の「ピッ」がヘッダー部分で、続く「ザー」が音声データです。基本的にこの音がサウンドカード・リピーターから出力され(TX=ヘッドフォン端子で聞ける)、 それがケーブルを通じてノード用アナログ無線機から送信され、DV機でそれを受ければ音声が返ってきたことになります。
     すなわちDV機と同周波数のアナログFM機をもう一台用意できれば(最悪DV機をFMモードにする)、その返ってきた「ピッザーー」の音の大きさを聞きながら調整出きるというわけです。
    もし音がどの位置でも聞こえなかったら、TX Inversion のON/OFFを切り替えてみましょう。

     なお,DStarRepeater とその設定用 DSterRepeaterConig が別ソフトになっているので,DStarRepeaterを稼働させたまま設定変更することが出来なくなっています。 そこで,動的に調整する方法として,私はそこそこの値にDStarRepeaterConfigで調整しておき,稼働させながらalsamixer側をスライドさせてバランスを取っています。


  13. 電源を入れるだけの自動起動

  14.  例えばノード専用パソコンとして電源を入れたらログインをすることなく基準設定した接続先に繋がってくれれば便利です。 ここでは、Windowsのサービスのようなデーモン(Daemon)を起動します。
     まず次のファイルを作成してください。

    $ sudo nano /etc/init.d/dstarnode
    


     GNU nano 2.2.6          File: /etc/init.d/dstarnode

    #!/bin/bash
    #
    ### BEGIN INIT INFO
    # Provides:         dstarnode
    # Required-Start:   $syslog
    # Required-Stop:    $syslog
    # Default-Start:    2 3 4 5
    # Default-Stop:     0 1 6
    # Short-Description:    D-STAR Node
    # Description:
    ### END INIT INFO
    
    DAEMON1=/usr/local/bin/dstarrepeaterd
    DAEMON2=/usr/local/bin/ircddbgatewayd
    PID1=dstarrepeaterd
    PID2=ircddbgatewayd
    T=8
    
    case "$1" in
        start)
            echo "Starting D-STAR Node ... "
            nice --adjustment=-20 $DAEMON1 -daemon &
            sleep $T
            $DAEMON2 -daemon &
            ;;
        stop)
            kill `pgrep -f $PID1` > /dev/null
            kill `pgrep -f $PID2` > /dev/null
            echo "D-STAR Node has been stopped. "
            ;;
        restart)
            echo "Restarting D-STAR Node ... "
            kill `pgrep -f $PID1` > /dev/null
            kill `pgrep -f $PID2` > /dev/null
        sleep 2
            nice --adjustment=-20 $DAEMON1 -daemon &
            sleep $T
            $DAEMON2 -daemon &
            ;;
            *)
            echo "Usage: $0 {start|stop|restart}"
            exit 1
            ;;
    esac
    exit 0
    
    


    * sleep $T ircDDBGatewayの立ち上がりが早いと「Linking to....」が一度流れて、しばらくして接続が完了したときもう一度「Linked to...」と2度アナウンスされるのでタイミングを調整します。(無くても良い)

     次に、作成したテキストファイルを立ち上げ可能に属性変更し、自動立ち上げリストで自動起動をONにします。

    $ sudo chmod +x /etc/init.d/dstarnode
    $ sudo apt-get install chkconfig         # すでにインストールされていれば不要
    $ sudo chkconfig dstarnode on
    


     これで、再起動すれば自動起動します。なお、ログインして手動で止めたり、起動したりは次の様にします。

    $ sudo /etc/init.d/dstarnode start
    $ sudo /etc/init.d/dstarnode stop
    $ sudo /etc/init.d/dstarnode restart
    


     グラフィックなアプリを立ち上げて調整し、終わったら上のコマンドでデーモンの様子を見ると言うような作業ができます。

    Back


    73
    J E 3 H C Z @REF047 C

0 件のコメント:

コメントを投稿

クリエイティブ・コモンズ・ライセンス