2016年5月18日水曜日

BeagleBoneGreen MPD インストール

MPDインストールをBeagleBoneBlackの時の手順と同じ様にやってみたがすんなり音出しが出来なかった。間違い探し、設定の見直し等 色々やって4日間たって何とか音出しまでこぎ着けた。

インストール手順は、BeagleBoneBlackのやり方でこれは、問題なし

・パッケージリストの更新
 pacman -Syy

・パッケージのアップグレード    ・・・・・これが必要かどうか良く分からない。やたら時間がかかる。
 pacman -Syu

・必要なユーティリティのインストール
 pacman -S cifs-utils
  pacman -S alsa-pluginns
  pacman -S alsa-utils
  pacman -S alsaplayer
  pacman -S mpd
  pacman -S mpc
  pacman -S ncmpc

・ディレクトリの作成
 mkdir /var/lib/mpd/music
 mkdir /var/lib/mpd/playlists  ・・・・・・・playlistsは、既に出来ているようなのでこの手順は不要

 mkdir /var/log/mpd             ・・・・・前回この手順は、やらなくてOKだったのだが今回これがなくてMPDが起動しなかった。


・mpd.confの編集   ・・・・・・・・・・・・・BeagleBoneBlackとの変更点は、audio_output の部分 BeagleBoneGreenは、HDMIがないのでボード上の音源なし、USB音源だけの設定とする。
 nano /etc/mpd.conf

#
music_directory         "/var/lib/mpd/music"
#
playlist_directory              "/var/lib/mpd/playlists"
#
db_file                 "/var/lib/mpd/tag_cache"
#
log_file                        "/var/log/mpd/mpd.log"
#
pid_file                        "/var/run/mpd/pid"
#
state_file                      "/var/lib/mpd/state"
#
sticker_file                   "/var/lib/mpd/sticker.sql"
#
user                            "mpd"
#
group                           "audio"
#

input {
        plugin "curl"
#       proxy "proxy.isp.com:8080"
#       proxy_user "user"
#       proxy_password "password"
}

#
# An example of an ALSA output:
#
audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"        # optional
#       format          "44100:16:2"    # optional
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
}

mixer_type                      "disabled"
#
audio_buffer_size               "2048"
#
buffer_before_play              "80%"
#
filesystem_charset              "UTF-8"
#
id3v1_encoding                  "UTF-8"


・fstabの編集
 nano /etc/fstab

追記する部分 ・・・・・・ArchlinuxarmサイトのBeagleBoneBlackインストール手順が以前と変更されているので単純にこれだけで良い。
//192.168.0.104/Music /var/lib/mpd/music cifs username=root,password=samba,uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8 0 0

・MPDサービスの開始 ・・・・・・これが未だに良く分からない。
 


2016年5月14日土曜日

BeagleBoneGreen ArchLinux IPアドレス固定

ケースに蓋をして電源を入れればSDカードから起動できる様になったので各種設定をやってみよう。
BeagleBoneBlackの時は、ファイルの書き込みが出来ない、SSH接続出来ないとかあったが今回は、問題ない。あとOSの設定でやることは、IPアドレスの固定くらいである。BeagleBoneBlackのやり方でそのまま設定変更して再起動かけたがDHCPで割り当てられてしまう。こうなるとネットで調べて出来るまで何度もやり直しになってしまう。色々やったあげく上手く固定化できたのだが何だか良く分からない。多分大丈夫だと思う手順を書いておく。

・IPアドレスの固定  
  IPのstatic設定用ファイルをコピーして編集する。
 # cp /etc/netctl/examples/ethernet-static /etc/netctl/static

 # nano /etc/netctl/static

 Description='A basic static ethernet connection'
 Interface=eth0
 Connection=ethernet
 IP=static
 Address=('192.168.0.110/24'')
 Gateway='192.168.0.1'
 DNS=('192.168.0.1')

保存

サービスの有効化
# netctl enable static
DHCPからのIPアドレス停止
# rm /etc/systemd/network/eth0.network

再起動

IP検索ソフトで確認すると固定IP 192.168.0.110 で立ちあがっていた。

2016年5月13日金曜日

BeagleBoneGreen SDカードから起動

すんなりSDカードからArchLinuxが立ち上がったとぬか喜びしていたが実は、emmcからDebianが起動していただけだった。BOOTスイッチを押して電源接続したらSDカードからArchLinuxが立ち上がるところまで確認してみた。
IP検索ソフトで確認したIPでSSH接続してみると今度はArchLinuxが立ち上がっている。SDカードには、問題なくインストール出来ていてSSH接続までできているので良いのだがBOOTスイッチを押さないでSDカードから起動する方法を確立しないといけない。折角TAKACHIケースに取り付けたのに蓋が閉められないのでは使い勝手が悪すぎる。
ネット上の情報を調べてみると"emmcのMLOをリネームしてemmcから起動できなくすることとSDカードの第1パーテーションにブートフラグを立てる" この二つを実行すれば無条件にSDカードから起動してくるようである。

emmcのMLOをリネームするのは、やろうとすると結構面倒そうである。色々考えた末 別の方法を取ることにした。emmcの第1パーテーションのブートフラグを外せば起動しようがなくなるのではないかと考えた。fdiskのaオプションでブートフラグは、簡単に付け外しが出来そうなのでやってみることにした。


1.emmc 第1パーテーション ブートフラグ外す。
  SDカードからArchLinuxを起動してfdiskコマンドを打つ
 
2.SDカード第1パーテーション ブートフラグ付ける   *ArchLinuxArmのインストール手順では、パーテーションは、1のみである。
    カードリーダーにマイクロSDHCを挿してAlix3D2に接続してVoyageを起動してfdiskコマンドを打つ

手順としては、このとおりだが 実際やってみたら上手くいかなかった。電源を接続するだけだとやはりemmcのDebianが起動してくる。emmcの第1パーテーションと第2パーテーションの中身を確認してもMLOは、見当たらない。BeagleBoneGreenのDebianのブートシステムは、BeagleBoneBlack Rev.Cとは、異なっているようである。
この後どうするかだがemmcのDebianのブートファイルを全て削除すれば出来そうな気もするがもっと簡単な方法を取ることにしたい。ネットで色々探ってみると基盤のソケットP8の1番ピンと43番ピンがブートSWにアサインされているようである。ということは、ケースのフロントパネルにSWを取り付けて1番ピンと43番ピンに配線すれば良いことになる。この方がよっぽど使い勝手が良くなる。SWをオルタネートタイプを使えばONでSDカード起動、OFFでemmc起動となる。モメンタリーSWを使えば基盤上のブートSWと同じ扱いになる。

念のため確認してみた。
GPIO P8 1番と43番をジャンパー線で接続して起動
この状態で電源接続するとSDカードからArchLinuxが起動してくる。
このまま蓋を取り付けてしまえば何の問題もなく使える。

自分としての完成形としては、フロントパネルに電源SW、SD-emmc切り替えSW取り付け、リアパネルに5VDC端子まで付けてみたい。GPIO端子の電源ON、5V供給、GNDのピンアサインの確認さえ取れれば簡単に出来そうである。

2016年5月5日木曜日

BeagleBoneGreen ArchLinux インストール

ケースの工作から間が空いてしまった。あまり本人がニーズを感じていないせいもある。億劫がらずに作業を進めることにした。やる事といえばArchLinuxのインストールとMPDの構築だけである。今まですんなりできたことがないので中々手が付けられないのである。

先ずは、マイクロSDHCカードにArchLinuxをインストールする。使用したカードは、GREENHOUSE 4GB class4である。EDION、YAMADA等のチラシを見て安売りしている時に購入したものである。

インストールの手順は、ArchLinuxArmのサイトの指示どおりやってみた。
サイトのurl
https://archlinuxarm.org/platforms/armv7/ti/beaglebone-black

踏み台としてVoyageMPDが動くAlix3D2を使う。普段は、USBHDDを接続してNASにしている。誤ってUSBHDDをFDISKで消去したくないので外して作業することにした。USBカードリーダーにマイクロSDHCカードを挿してからAlix3D2に接続




予めSDカードのディバイス番号を確認しておく。
root@voyage:~# ls /dev/sd*

ArchLinuxArmのサイトの手順      ・・・・・2年位前と手順が変わっている。

1.Zero the beginning of the SD card:   ・・・・・なんの事だか分からないがこのままやってみる。
 dd if=/dev/zero of=/dev/sdX bs=1M count=8
    sdxは、自分の環境に置き換えて 今回は、sdaでやってみた。

2.Start fdisk to partition the SD card:
 fdisk /dev/sdX

    sdxは、sdaでやってみた。

3.At the fdisk prompt, delete old partitions and create a new one:
  1. Type o. This will clear out any partitions on the drive.
  2. Type p to list partitions. There should be no partitions left.
  3. Now type n, then p for primary, 1 for the first partition on the drive, 2048 for the first sector, and then press ENTER to accept the default last sector.
  4. Write the partition table and exit by typing w.

     c.のところは、使用するSDカードによってsectorの表示が変わるので迷うところである。
     数値を入力しないでデフォルトのままリターンすれば問題ない。

4.Create and mount the ext4 filesystem:
  1. mkfs.ext4 /dev/sdX1
    mkdir mnt
    mount /dev/sdX1 mnt
sdx1は、sda1でやってみた。

5.Download and extract the root filesystem:
  1. wget http://os.archlinuxarm.org/os/ArchLinuxARM-am33x-latest.tar.gz
    bsdtar -xpf ArchLinuxARM-am33x-latest.tar.gz -C mnt
    sync
bsdtar -xpf は、voyageには、無いコマンドなのでtar -xf に置き換えてやってみた。
    エラー表示は、出るがこれで問題なく出来る。

6.Install the U-Boot bootloader:
  1. dd if=mnt/boot/MLO of=/dev/sdX count=1 seek=1 conv=notrunc bs=128k
    dd if=mnt/boot/u-boot.img of=/dev/sdX count=2 seek=1 conv=notrunc bs=384k
    umount mnt
    sync
sdxは、sdaでやってみた。

7.Insert the SD card into the BeagleBone, connect ethernet, and apply 5V power.
   カードリーダーからsdカードを外してBeagleBoneGreenに挿し電源接続


8.Use the serial console or SSH to the IP address given to the board by your router.
  • Login as the default user alarm with the password alarm.
  • The default root password is root.

 ここが何時も躓くところだが今回は、BOOTSWを押すとかuenv.txtを差し替えるとかしなくてもすんなり起動してきた。IP検索ソフトを使ってIPアドレスを調べてみると192.168.0.4らしい。
Tera TermでSSH接続してみる。ユーザー名、パスワードともにrootを入力



あっさりSSH接続できてArchlinuxが立ち上がっているのが確認できた。
こんなに簡単にできたのは、初めてである。     *訂正 emmcから起動したdebianだった。BOOTスイッチを押さないで電源を入れたので普通にemmcから起動しただけなのは当たり前か。
今日は、ここまで。
IP固定とかパッケージの更新とかMPDのインストールをやりだすとまたトラブルだらけになるかもしれないが今日は、これで良しとする。

2016年4月26日火曜日

BeaglBoneGreen ケース工作

久々に工作をしてみた。買い置きしておいたBeagleBoneGreenをタカチ HEN110312に収納してみる。

ボードの取り付け位置と穴あけ加工を作図

ケースの加工
ボード取り付け穴 4か所をφ2.5で穴あけしてからM3タップ
LAN端子、USBの角穴を加工。φ2穴を沢山開けてニッパーでカットしてからヤスリがけしてきれいに仕上げる。
角穴の仕上げは、こつこつ丁寧にやれば何とかなる。
ボード取り付け穴4か所を精度よく電動ドリルで穴明けするほうが難しい。実際穴の位置がずれて真鍮のサポーターを取り付けてからボードをねじ止めしようとしたらネジがはまらなかった。ボードの穴をリーマーで広げて修正した。

フロントパネルとリアパネルを組み立て
BeagleBoneBlackより構造がシンプルで必要な端子が片側にインライン配置となっているので組み上がった時の見てくれがオーディオ機器らしくなる。

SDカードにArchLinuxをインストールして音出しまでしたいがすんなりできるかどうかやってみないとわからない。HDMI端子がないのでディスプレイに繋いで確認が出来ないのは不安である。インストール後の設定と確認は、BeagleBoneBlacKでやった方が確実だろう。SSH接続、シリアル接続がうまく出来るとは思えないのである。インストールの手順は、ArchLinuxArmの最新のインストール手順に従うことになる。



2016年3月9日水曜日

ホームAV&オーディオ

居間のシステムの紹介である。スカパーチューナーとブルーレイプレーヤーのアナログ音声出力をセレクターで切り替えてアンプのライン入力に接続している。映像出力は、それぞれのHDMIを液晶TVに直接接続。地上波デジタル放送は、見ない主義なのでアンテナも設置していない。
音声周りの接続の様子である。2系統しかないのでシンプルそのものである。セレクターの上にUSB接続のHDDを置いてあるがブルーレイプレイヤーのフロントUSB端子に接続してリニアPCM(WAV)音声を再生する目的である。CDをリッピングしたファイルをため込んである。
スピーカーは、長岡式自作スピーカーR101ヒドラである。
右CH


2015年9月21日月曜日

BeagleBoneBlack MPDインストール

前日 整理しておいた手順で環境設定をやってみた。IPアドレスの固定に手こずったがそれ以外は、上手くいったようだ。

この勢いでMPDのインストールと音出しまで一気にやってみた。

・パッケージリストの更新
 pacman -Syy

・パッケージのアップグレード
 pacman -Syu

・必要なユーティリティのインストール
 pacman -S cifs-utils
  pacman -S alsa-pluginns
  pacman -S alsa-utils
  pacman -S alsaplayer
  pacman -S mpd
  pacman -S mpc
  pacman -S ncmpc

 *まとめてインストールしてみても良いがひとつづつ確認しながらインストールしてみた。
 実際にエラーが出るときがあるが画面のメッセージに従って処置出来た。

・ディレクトリの作成
 mkdir /var/lib/mpd/music
 mkdir /var/lib/mpd/playlists  ・・・・・・・今回 playlistsは、既に出来ていた。

・ファイルの作成
 raspberryPiでもそうだったが特にファイルの作成はしなくても大丈夫なようだ。

・mpd.confの編集
 nano /etc/mpd.conf

#
music_directory         "/var/lib/mpd/music"
#
playlist_directory              "/var/lib/mpd/playlists"
#
db_file                 "/var/lib/mpd/tag_cache"
#
log_file                        "/var/log/mpd/mpd.log"
#
pid_file                        "/var/run/mpd/pid"
#
state_file                      "/var/lib/mpd/state"
#
sticker_file                   "/var/lib/mpd/sticker.sql"
#
user                            "mpd"
#
group                           "audio"         #・・・・・ここの記述をコメントアウトすると音がでなくなる。
#

input {
        plugin "curl"
#       proxy "proxy.isp.com:8080"
#       proxy_user "user"
#       proxy_password "password"
}

#
# An example of an ALSA output:
#
audio_output {
        type            "alsa"
        name            "My ALSA Device"
        device          "hw:0,0"        # optional    ・・・・・BBBの音源用の記述
#       format          "44100:16:2"    # optional
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional
}
#
audio_output {
        type            "alsa"
        name            "My ALSA Device2"
        device          "hw:1,0"        # optional    ・・・・・USB音源の記述
}
#
mixer_type                      "disabled"
#
audio_buffer_size               "2048"
#
buffer_before_play              "80%"
#
filesystem_charset              "UTF-8"
#
id3v1_encoding                  "UTF-8"


・fstabの編集 NASの接続設定    RaspBerryPiと同様の設定にしてみた。SDカードのマウントが
 これでいいのかどうか良く分からない。基本の勉強が必要である。
nano /etc/fstab

#
# /etc/fstab: static file system information
#
# <file system> <dir>   <type>  <options>       <dump>  <pass>
/dev/mmcblk0p1  /boot   vfat    defaults        0       0
/dev/mmcblk0p2  /       ext4    defaults        0       0
//192.168.0.104/Music /var/lib/mpd/music cifs username=root,password=samba,uid=mpd,file_mode=0644,dir_mode=0755,iocharset=utf8 0 0

・パーミッションの変更
 chown -R mpd /var/lib/mpd

 *mpdの後ろにaudio(group)を記述しなかったがこれで問題ないようである。

・mpdサービスの開始 これが良く分からないところだか

 systemctl enable mpd

  systemctl start mpd

 *この2行を実行してもGMPCから接続は出来なかった。

 再起動後 teratermでSSH接続してコマンドmpdを叩いてからGMPCで接続した。
 mpd.confのgroupをコメントアウトした状態で再生しようとしたがaudiooutputが出来なかった。
 パーミッションの設定と関係しているはずだがuserとgroupの設定もしていないのて゛groupの記述は、不要と思ったのだが良く分からない。結果 group行を有効にしたら音が出るようになった。

分からない事だらけだが ど素人でもネットの情報を頼りにMPDを自力構築できたのは、収穫である。今後のスキルアップに繋げていこう。