Raspberry Pi Audio Cookbook #4

0 comments

Posted on 30th 5月 2017 by admin in Raspberry Pi Audio Cookbook |Tips


OSのinstall Raspberry Pi CM3 Lite編

2-1.Volumio2のインストールと起動

Raspbian Jessie Liteが正しく動作しましたか? RAL-KCM3MB1やCM3 LiteのH/Wに問題がないようでしたら、続いて本来の目的であるVolumio2のimageを書き込んだmicroSDカードの作成へと進みます。

まずVolumio2のimageを下記からdownloadして下さい。

https://volumio.org/get-started

左側のRASPBERRY PIを選択し(白ヌキになります)、DOWNLOADボタンをClickしてdownloadを実行します。
注) 21/May/2017現在ではVersion 2.175(2017-05-16)に更新されています。

Volumio2 ダウンロードページ

downloadに成功したら、zipファイルを右clickで解凍し imgファイルを作成します。
V.2.175のimgファイルのサイズは2,867,200kBでした。これをWin32DiskImagerを使用し、SDFormatterでformat済のmicroSDカードに書き込んで下さい。

Volumio2は起動時にmicroSDカードの容量の最適化を行い、internal storageというユーザ用のエリアを用意してくれます。また、Volumio2はデフォルト(標準)でsambaがinstallされていますので、そのエリアにWindowsからエクスプローラを使用して音楽ファイルをCopyすることができます。そのため、ユーザ用のエリアが充分とれるようにmicroSDは8GB以上のほうがよいと思います。

Win32Diskimagerでの書込み終了後、Windowsのエクスプローラで開くと、microSDカードはboot(G:)という名前になっています(G:はPCにより変わります)。

bcm27xx…dtbが6個ズラリと表示されますがbcm2710-rpi-cm3.dtbが見当たりません。
したがって、先にRaspbian Jessie LiteのmicroSDカード作成時にPCにcopyしておいた「bcm2710-rpi-cm3.dtb」をここにコピーします(カードスロットが複数あれば直接microSDからmicroSDへ直接copyしてもOKです)。 コピーが終了したらmicroSDをPCから取り外し、RAL-KCM3MB1にセットします。

RAL-KCM3MB1に電源を接続しStart/Shutdownボタンを押すとPower_LEDが点灯しVolumio2がスタートします。初回はmicroSDの空領域の拡張やファイルシステムの構築などで4,5分要します。

Note)Volumio2が正しく起動しているかをチェックする方法
Volumio2が正しく起動したかどうかを簡単にcheckするためにはiTunesを利用します。
Volumio2を起動した後しばらくしてからiTunesを起動すると、画面左上のVolume(音量)スライダの横にoutputアイコンが現れます。 そのアイコンをクリックし、そこに「Volumio」が表示されているかをご確認ください。
表示されている状態で「Volumio」を選択することができれば、Volumio2は正常に動作しています。

正常な動作が確認できれば、Chromeなどのブラウザでアドレス欄にvolumio.localを指定すればVolumio2のUIが現れます。
右上の歯車(?)アイコン(設定)をclickし、PLAYBACK OPTIONSでAudio出力先を「USB-DAC」に設定すれば、iTunesからの音楽がUSB-DACを通して再生されます。もし、Output Deviceのリスト内にUSB-DACが見つからない場合は、歯車アイコンでSHUTDOWNを選択し、Restartボタンを押してVolumio2を再起動して下さい。

右上の歯車マークから「Shutsown」を選択し再起動した場合

 

今度はUSB-DACが現れると思います。ちなみにRAL-KCM3MB1ではPWM出力のAudio Jack(3.5)を実装していませんので、VolumioのOutput Deviceとしては選択できますが、実際に音はでません。

注)起動時にHDMI-TV、USBキーボードを接続している場合、login名、Passwordはどちらもvolumioを入力します。接続するUSBキーボードのモデルによって ’~’ や ’^[[26~’ などの文字が続いて表示されることがあります。これはRaspberry piの初期からある問題で、キーボードのモデル(USBコントローラ)を変えるしかありません。


2-2.ACT-LED, PowerOFF機能の設定

VolumioにはデフォルトでSSHがenableに設定されているため、Teraterm(Windows)やTerminal(MacOS)でloginすることができます。

Volumio2へログインすると上記の画面が表示される

ホスト名は、volumio.local
ユーザー名は、volumio
パスワードも、volumio です。

Loginに成功したら

volumio@volumio:~$ sudo nano /boot/config.txt [⏎]

でテキストエディタ(nano)を起動しconfig.txtに下記の2行を追加してください。

dtoverlay=pi3-act-led,gpio=16
dtoverlay=gpio-poweroff,gpiopin=5

をCtrl-O [⏎] でconfig.txtをsaveした後、Ctrl-Xでnanoを終了して下さい。 nano終了後、Volumioの右上の設定(歯車)アイコンをclickしてSHUTDOWNを選択、Restartボタンを押して再起動させて下さい。起動時にACT_LEDが点滅するようになるはずです。起動したら今度はSHUTDOWNでPower OffボタンをClickして下さい。終了処理が行われ、Shutdown_LEDが点灯し約14秒後に電源が遮断されるはずです。

ACT-LED, PowerOFF機能の設定

 


2-3.強制Shutdownボタンの設定

Raspbian やVolumio2などが動作している場合、終了や電源OFFはShutdownアイコンをclickし、Power Offボタンで終了処理と電源OFFを実行しますが、コンソールとの通信が切れてしまった時や、Raspberry piが暴走している時などに終了処理をして電源をOFFにしたい場合があります。 RAL-KCM3MB1にはそのような場合に使用するShutdown Buttonを用意しました。
動作中に押すとCPUにRequestを出し、Shutdown -h nowというコマンドを発行後、14秒後に電源を遮断します。何度も実験を繰り返しましたがこの14秒というインターバルでRaspbianのFile Systemが壊れたことはありません。

ただし、この機能を実現するためにはPython(Volumio2のimageには2.7しか入っていません)のプログラミング能力などが要求されます。 必要のない方はこの章をスキップして下さい。特に難しいことは行いませんので各Stepのタイトルで検索を行えばいろんな例を入手することができると思いますが、RaspbianのVersionの違いなどで動作が異なる場合があることに注意して下さい。

Step. 1)Sambaの設定
Volumio2ではデフォルトでsambaがインストールされており、internal storage, USB, NASという楽曲データ用のフォルダが公開されています。これらを使用することも可能ですが、Pythonプログラム格納用に、/home/volumio という既存のフォルダを設定し、Windowsからアクセスできるようにします。

Sambaの設定ファイル /etc/samba/smb.confの最後に下記の6行を追加します。
まずvolumio@volumio:~$ sudo nano /etc/samba/smb.conf と入力(‘$’以降)しnanoを起動し、続いてsmb.confの最後に書きの6行を追加して下さい。

[volumio]
comment = User work folder
path = /home/volumio
read only = No
guest ok = yes
force user = volumio

samba

 

タイプミスなどがなければCtrl-O[⏎]、Ctrl-Xでnano終了後、次のコマンドを入力し、追加された設定が有効になるようにsambaを再起動して下さい。

volumio@volumio:~$ sudo service smbd restart

続いてWindowsPCからエクスプローラで「¥¥volumio.local」というドライブ名を指定すると、Internal storage, USB, NASというフォルダに加えてvolumioというフォルダが表示されます。 ついでにInternal storageというフォルダをopenし、そこへ楽曲ファイルをいくつかコピーしておいて下さい。

Step. 2)Rpi.GPIOライブラリのインストール
Volumio2のOSにはPython 2.7.9がinstallされていますが、GPIO用のライブラリRPi.GPIOが含まれていませんので、インストールしておく必要があります。

まず、Volumio2のOSにPythonがインストールされているかどうかの確認は

volumio@volumio:~$ sudo python
注)以降文末の<Return>キーの記載を省略、volumio@volumio:~$は$と標記します。

するとPythonが起動し、Versionが表示されインタラクティブモードのプロンプトとして「>>>」が表示されます。ちなみにsudo python3と入力するとエラーが表示されますのでVolumio2 OSにはPython3はインストールされていないことがわかります。今度は「>>>」に続いて、「import RPi.GPIO as GPIO」と入力してみて下さい。エラーが表示されなければRPi.GPIOライブラリをインストールする必要はありませんがエラーが表示された場合はインストールを行う必要があります。Version 2.175には含まれていません。

>>> exit() でPythonを終了し、下記を入力して下さい。

$ sudo apt-get update
$ sudo apt-get install python-rpi.gpio

$ sudo python

>>> import RPi.GPIO as GPIOでエラーが出なかったらインストール成功。
>>> exit()でpythonを終了して下さい。

Step.3) Python Programのコピー
List1はShuutdownボタンが押されたことを検出し、シェルでshutdownを発行するPythonプログラムです。このプログラムを/home/volumioの下にsaveしておきます。

※以下のテキストデータの文字コードは「UTF-8」です。

—List 1——————————————————————————————————–

#!/usr/bin/env python2.7
# _*_ coding: utf-8 _*_
#
#    RAL-KCM3MB01 Start/Shutdown Button handler
#
#       Rev.1R0  5/May/2017
#       C.Okamura / RATOC Systems, Inc. Osaka, Japan
#
import RPi.GPIO as GPIO
import time
import os

btnINT = 6     #GPIO 06 for LTC2951 /INT
#Shtdwn_LED = 5 #GPIO 05 for Shutdown start LED

GPIO.setmode(GPIO.BCM)  # Use Broadcom pin numbering
GPIO.setup(btnINT, GPIO.IN, pull_up_down=GPIO.PUD_UP)
print “RAL-KCM3MB1 Shutdown Button handler”

def isr_shutdown(self):
print(“Shutdown Button is activated !!”)
#GPIO.output(Shtdwn_LED, 1)
os.system(“sudo shutdown -h now”)

GPIO.add_event_detect(btnINT, GPIO.FALLING, callback=isr_shutdown, bouncetime=2000)

while(True):
time.sleep(1)

GPIO.cleanup()

—List 1——————————————————————————————————–

List 1は Raspberry pi Audio Cookbookからdownload可能ですが、/home/volumioにコピーされる場合は文字コードに注意して下さい。Windowsのテキストエディタを使用した場合は必ずUTF-8で書き込まれるように設定を忘れないで下さい。

Step.4) 自動起動の設定
Step.3のPythonプログラムの名前を下記のように/etc/rc.localの最後行(exit 0)の直前に記入しておきます。これでPower_Onで自動的にLoadされボタンの検出と通知が行われます。

sudo python /home/volumio/shtdwn_button_01.py &

行の最後の&は忘れないで下さい。他の処理が止まってしまいます。追加入力後Ctrl-O、 [⏎]、Ctrl-Xでnanoを終了して下さい。

以上すべてが終了したら、$ sudo rebootと入力し、Volumio2を再起動して下さい。

Volumio2の使用方法はVolumioのホームページなどを参考にして動作させながら体得していって下さい。


 

Raspberry Pi を本格オーディオ機器へ
もっと楽しむ Raspberry Pi オーディオ組込用
マザーボーボード
製品情報
RAL-KCM3MB01