Volumio3.xxxをmicroSDカードに書き込む

NWT01固有の設定を書き込む

 前回(2024年6月18日)記載の手順でVolumio3.xxxを書き込んだmicroSDカードをセットしてNWT01フロントパネルのStandby/Shutdownプッシュボタンを押して起動させることができましたか? この状態でもVolumio3.xxxは動作しますが、フロントパネルのLEDやプッシュボタンなどNWT01固有の機能が使えません。またVolumio3.xxxのシステムの年月日や時刻が日本の標準時間(JST)にセットされていないので時刻合わせを行うことが必要です。これらの設定作業の実際の方法に関しては本Blogの2022年4月25日公開の「NWT01/01P Volumio3 update(その3)、第三章 NWT01/01P固有の機能(LED,Pushボタン)と時刻の設定」で公開していますが、Console画面のHardCopyが不鮮明で読めないと不評でしたので今回はWindows11上で動作するターミナル定番ソフトウェア Tera Termを使った手順について説明します。なお、Tera TermはWindows用のみでMacOS用はありませんのでMacをお使いの方は2022年4月25日版を参照してterminalを使用してください。また、Tera Termを使ってLogin に成功した以降も、nanoというText Editorを使用して設定ファイルの記述などを行わねばなりませんが、タイプミス(誤入力)しても警告も何も出ず、実行時にスルーされるので慎重に入力して下さい。

1.Tera Termのdownloadとインストール

 Tera Termは1990年代に寺西さん個人によって開発されたWindows上で動作する定番のターミナルソフトウエアです。その後Tera Term projectというグループに引き継がれ、UTF-8文字コードへの対応やSSH2に対応するなど最新の機能が次々と提供されています。ライセンスに同意すれば無料で使用することができるためいろいろな多くの現場で使われています。

 ダウンロードはTera Term ProjectのHome Pageから行って下さい。下図のようなページが表示されます。

Tera Term Home Page

  ダウンロードというアンダーラインが引かれた文字列をクリックすると下図のようなページに移動します。Assets欄のteraterm-5.2.exeをクリックして適当なフォルダにダウンロードして下さい。

Tera Termのダウンロードページ teraterrm-5.2.exeを選択する

 適当なフォルダにダウンロードしたteraterm-5.2.exeをクリックするとインストールが始まります。いつものように最初に「ユーザアカウント制御 この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」というboxが表示されますが「はい」を選択して下さい。続いてセットアップに使用する言語を選択するよう求められますがデフォルトが日本語になっていますのでそのまま[OK]をクリックすると使用許諾契約boxが表示されます。「同意する」を選択後[次へ]をクリックして下さい。

  同意するを選択して次に進めるとインストール先のフォルダの確認を要求されます。デフォルトのc:\program files(x86)\teraterm5が表示されていることを確認して[次へ]をクリックして下さい。続く「コンポーネントの選択」では「標準インストール」を選択して下さい。リストboxから「標準インストール」を選択(デフォルト)するとインストールされるコンポーネントに青いcheck markが付けられます。「標準インストール」を確認後[次へ]をクリックして進めてください。

  インターフェイス言語は日本語(デフォルト)を選択して[次へ]をクリックして進めてください。「スタートメニューフォルダの指定」、「追加タスクの選択」(デフォルトは「デスクトップにTera Termのショートカットを作る」)に対してはそれぞれ[次へ]をクリックして進めてください。いろんな選択が終了すると「インストール準備完了」が表示されますので[インストール]をクリックするとインスト―動作が開始されます。

 インストールが終了すると「Tera Termセットアップウイザードの完了」が表示されますので[完了]をクリックしてインストールを終了して下さい。デスクトップに新たに作成されたTera Term 5というアイコンのショートカットも確認しておいて下さい。

2. Tera Term 5を使用してNWT01の設定を行なう。

 前回の手順でVolumio3.xxxを書き込んだmicroSDカードをNWT01の後面パネルのmicroSDカードスロットに差し込みStandbyボタンを押してください。初回はfile systemの構築などが行われるため、5分ほどするとVolumio3.xxxが起動するはずです。同じLANに接続されているPCやTablet,MacなどからChromeやEdgeなどのブラウザを使用してNWT01にアクセスして下さい。Chromeなどの接続先欄にはvolumio.localと入力すればVolumio3.xxxの初期設定ページが表示されるはずです。Volumio3の初期設定は本Blogの2022年4月23日の記事「NWT01/01P Volumio3へのupdateについて」の「第一章 Step.2 初期設定」を参照してください。今回は初期設定のみを実行しその他の設定は後で行って下さい。 初期設定が終了するとvolumio.local/playbackページが表示されます。その左上隅の三本線アイコンをクリックしリストから「ネットワーク」を選択すると、ネットワークの状態が表示されます。Volumio3.xxx自身(NWT01)のIPアドレスを確認しておいて下さい。

 デスクトップのTera Term 5ショートカットアイコンをクリックするとTera Termが起動します。TCP/IPとSSHを選択(デフォルトで選択されていればそのまま)、ホスト欄には上記で確認したIPアドレス(上図では192.168.1.231)を入力して[OK]をクリックして下さい。

 続いて「セキュリティ警告box」が表示され、Tera TermとNWT01との間のSSH暗号鍵に関する確認メッセージが表示されます。

 「続行」をClickするとSSH認証boxが表示されます。ユーザ名としてvolumio、パスフレーズとしてvolumioを入力して[OK]をクリックするとNWT01(Volumio3.xxx)に接続することができます。2022年4月25日の記事ではWindows11のPowershellもしくはMacOSのterminalコマンドを使う方法を紹介しましたが、Tera Termの方が使いやすいのでWindows11を使用されている方はTera Termを試してみてください。

Userとしてvolumio、Passwordとしてvolumioを入力する
接続成功、セッションが確立された

   NWT01(Volumio3.xxx)へLogin後、Unixコマンドを使ってNWT01固有の設定を行なって下さい。正しく設定できたことを確認後、セキュリティ強化のためにユーザ名とパスワードをユニークなもの(他人にはわかりにくいもの)に変更しておいて下さい。ユーザ名やパスワードの変更はターミナルからのUnixコマンドや操作に慣れてから行うことをおすすめします。それでも、もし変更後のユーザ名やパスワードを思い出せない場合は、もう一度microSDカードをフォーマットし、volumio3のイメージ(img)を書き込みなおせば元に戻りますので慌てる必要はありません。

2-1. 時刻(JST日本標準時間)の設定

Volumio3をインストールlした後のTime Zone(日付、時刻)はUTC(協定世界時)という 国際度量衡局が原子時計を基準にして決めている時刻に設定されます。このままでは日本標準時間とは9時間の時差があり(UTC+09:00)、同一Network上のNASやPC、Tabletなどと日付や時刻が一致しませんのでlog listなどで不都合が出ることがあります。NWT01(Volumio3)の日付と時刻を日本標準時間に合わせるためには下記のように行います。

 Tera TermからSSH経由でloginしたままの状態でTera Termから下記のコマンド文字列を打ち込んで下さい。

$ timedatectl
  現在の設定が表示されます。既にJST Time ZonがAsia/Tokyoに設定されている場合は年月日、時刻を確認
  しておいて下さい。
$ sudo dpkg-reconfigure tzdata
  raspi-config実行時の「Time Zone 設定 Window」が表示されますのでカーソル移動キー(↓、↑キー)を
 操作してAsia/Tokyoを選択してReturnキーを押してください。

 再度
$ timedatectl
 コマンドで日本標準時間(JST)の時刻、Time Zoneが「Asia/Tokyo」に設定されていることを確認して
 下さい。
 この設定は電源をOFFにしても保存されますので電源ONの都度設定する必要はありません。

JST(日本標準時間)に設定する
Asiaを選択する
Tokyoを選択

2-2. LED機能の設定

 LED機能の設定は/boot/userconfig.txtに下記の2行を追加することによって行います。NWT01PのMMCメモリやNWT01のmicroSDカードにはこれらが追加されたuserconfig.txtを書き込んでおいたのですが、Volumio3へのupdate時に内容が空のuserconfig.txtによって上書きされてしまいましたので再度2行追加するか、NWT01/01P用のuserconfig.txtに置き換える必要があります。

2-2-1. Text Editer ‘nano’を使用する方法

userconfig.txtに追加する2行は下記のようになります。注意点は一つの文中にスペースは入れないようにして下さい。スペースがあるとセパレータとして認識され記述した内容が正しく実行されません。またタイプミスがあってもbootの実行は止まらずそれらを無視して続行されますので正確に記述して下さい。

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

Step.1 /bootフォルダにuserconfig.txtがあるかどうか確認してnanoを起動する。

 前記のようにVolumio3のinstall後、最初に起動すると5~7分かけてfile systemの構築が行われます。内容が空(comment行が1行記述されているだけ)のuserconfig.txtが追加されます(既に存在すれば上書きされてしまいます)。このuserconfig.txtが存在するかどうかは

volumio@volumio:~$ ls /boot

のようにlsコマンドを使用します。コマンド入力後/bootフォルダの内容が表示されますのでuserconfig.txtが存在するかどうか確認して下さい。もし存在しない場合はテキストエディタ(nano)が自動的に生成します。

lsコマンドで/bootフォルダの内容を確認する

  続いてテキストエディタnanoを起動して下さい。先頭のsudoは管理者モードで設定などを行うためには必須です(suはSuper Userの頭文字)。最初はvolumio(ユーザ)のpwを要求されます。Tera Termの起動時と同じpw(volumio)を入力して下さい。

volumio@volumio:~$ sudo nano /boot/userconfig.txt
[sudo] password for volumio: volumio  

* passwordとしてvolumioを入力。ただしpasswordは表示されません。
passwordの要求に対してvolumioを入力する
Step.2 nanoを使ってuserconfig.txtに2行追加する。

 nanoが起動したら前記の2行を入力します。行の終わりは[Enter]キーをタイプして下さい。なお、Volumio3のベースになっているRaspbianOSではpi3-act-ledはpi4やpi5の登場にともなってact-ledに変更されています。ただし、pi3-act-ledというエントリーも残されていてact-ledにredirect(引き継がれる)されますのでpi3-act-ledの記述のままでもOKです。

2行を追加する

 2行をタイプミスなく入力したら[Cntl]キーとOキーを同時に押してuserconfig.txtの内容を更新します。下部に確認メッセージが表示されますのでファイル名を確認して[Enter]を押してください。続いて[Cntl]キーとXキーを同時に押してテキストエディタnanoを終了して下さい。

File Name to Write: に対して[Enter]キーを押す

  nanoを終了させてvolumio@volumio:~$に戻ったらexit[Enter]と入力しTera TermとNWT01(Volumio3)のセッションとTera Termを終了させてください。Volumio3のHome(PC上のブラウザ)に戻って、左上隅の三本線をクリック、表示されたメニュー最下部の電源アイコン(シャットダウン)をクリックして「再起動」を選択して下さい。再起動時にフロントパネルの三個並んだLEDの中央、Act-LEDが点滅することを確かめておいて下さい。点滅しない場合は”dtoverlay=pi3-act-led,gpio=16″(もしくはdtoverlay=act-led,gpio=16)のどこかにタイプミスがないかもう一度nanoでテキストファイルを開いて確認してください。ミスがあれば修正して更新し、もう一度再起動してみてください。  Act-LEDが点滅してVolumio3が再起動したら、再び電源アイコン(シャットダウン)をクリックし、「電源オフ」をクリックして下さい。フロントパネルの右端のLED(Sht dwn)が点灯し10秒後に左端のPOWER LEDと同時に消灯すれば2行目の記述 “dtoverlay=gpio-poweroff,gpiopin=5″にタイプミスはありません。もしLEDが正しく動作しない場合はnanoでuserconfig.txtの内容を確認してください。

2-2-2. userconfig.txtをwebからダウンロードして/bootにcopyする方法。

 userconfig.txtに追加するのは2行のみでしたのでRasberianOS(VolumioのOS)に標準install済のテキストエディタ(nano)を練習がてら使用するのもよいのですが、フロントパネルのプッシュボタン(Standby/Shutdown)のためのPython Code(ボタンが押されたのを検出し、OSにShutdownコマンドを発行する)をnanoで入力するのは少し難しいのでwebからdownloadしてinstallする方法を習得しておきましょう。そのための練習としてRALページ上にupされているuserconfig.txt(他のfileと合わせて圧縮されzip形式のfileとなっています)をdownloadし。/bootファルダにcopyして既存のuserconfig.txtを置き換えてみることにしましょう。 まず最初にzipファイルを解凍するコマンドをVolumio3側にinstallしておき、続いてRALページからzipファイルをdownload、解凍しておきます。その後、/bootへcopyもしくはmv(移動)させます。

Step 2-2-2-1. zipファイルをdownloadして解凍、installする
   $  sudo apt update
         入手可能なpackage(unzipなど)のlistを更新しておきます。これを忘れると次の行
      (apt install unzip)でエラーメッセージが表示され、installに失敗することが
      あります。
      
   $  sudo apt install unzip
         zipファイルを解凍するためのコマンドをdownload、installしておきます。

   $  wget https://ratocaudiolab.com/img/dl/firm/nwt01p_config_01.zip
   RALページからzipファイルをdownloadします。

   $  unzip -d /home/volumio nwt01p_config_01.zip
   zipファイルを解凍し、/home/volumioフォルダの下にnwt01p_config_01というフォル
   ダを作成し展開します。

   $  ls nwt01p_config_01 -l
   nwt01P_config_01フォルダの内容を表示させ、確認します。

   $  sudo mv nwt01p_config_01/userconfig.txt /boot   
  /home/volumio/nwt01p_config_01フォルダにあるuserconfig.txtを/bootフォルダに移動させます。
  /bootに既にあるuserconfig.txt(Volumio3のinstall時に更新された空のファイル)を上書きします。
  'failed to preserve ownership...'というエラーメッセージが表示されますが無視して下さい。
  
sudo apt update を実行しなかった場合
apt updateを先に実行した場合、unzipのインストール成功
downloadしたnwt01p_config_01.zipを解凍すると3個のファイルが得られる
mvコマンドでuserconfig.txtを/bootに移動する

  /bootにmvコマンドで移動させられたuserconfig.txtが存在するかどうかはlsコマンドで、内容はcatコマンドで確認しておいて下さい。この後は2-2-1の後半と同様にexitでvolumio3とTera Term間のセッションを終了させ、Volumio3のシャットダウンボタンで再起動を選択して下さい。再起動時に中央のLED(Act)が点滅すればOKです。

2-3. PushボタンによるShutdown Command Request機能の設定

続いて、Pushボタンが押されたことを検出してOSにShutdown -h nowコマンドリクエストを発行するプログラム(Phythonで書いています。webからダウンロードして解凍しておいて下さい)をVolumio3起動時にメモリ上に常駐させる手続きをscript fileに書き込んでおきます。

$ sudo nano /etc/rc.local
  エディタ(nano)を管理者モード(sudo)で起動し、/etc/rc.localという起動時に実行されるスクリプトファイルに1行追加します。

 exit 0 の前の行に

 sudo python /home/volumio/nwt01p_config_01/shtdwn_button_01.py &

  という1行(最後に&が必要です)を追加し

Cntl-o で保存、

Cntl-x でnanoを終了します。

 LEDの場合と同様にexitでセッションとTera Termを終了し、Volumio3を再起動して下さい。Volumio3では「電源オフ」という選択ボタンがあるため、フロントパネルのShutdownボタンを押して電源オフする機会が少なくなりましたが、先にPCやTabletをシャットダウンしてしまった場合などにはオーディオ機器風の便利な機能です。

/etc/rc.localに1行追加する

2-4. sambaの設定

 Volumio3のOS(RaspbianOS)にはWindowsPCからExplorerを使用してfileにアクセスできる便利な機能があります。sambaという便利なprogramが組み込まれています。その機能を使えるように設定を行っておきましょう。  下記のように組み込まれているtext editor nanoを使用します。

$ sudo nano /etc/samba/smb.conf
 最後部に下記の6行を追加してCntl+oで上書きし、Cntl+xで終了します。
[volumio]
         comment = RAL-NWT01Plus volumio work folder
         path = /home/volumio
         read only = no 
         guest ok = yes 
         force user = volumio

 nanoを終了後 $ sudo service smbd restart でsmbdを再起動させます。
 

/etc/samba/smb.confに[volumio]以下の6行を追加する

  smbdを再起動させた(Volumio3は再起動させる必要はありません)後、同じLAN内にあるWindows11PCでExplorerを実行してみて下さい。Explorerの左のlistのネットワークの下にVOLUMIOが見当たらない場合はNWT01のIPアドレス”192.168.xx.xx”(Volumio3のネットワークページで表示されます)を入力しフォルダを指定して下さい。 (注) Explorerのアドレス欄には¥¥に続けて表示されたIPアドレスを入力してください。

smb.confに記述したフォルダがネットワークドライブとして認識される
ネットワークのlistに認識される

VOLUMIOをクリックするとNetwork storage, nas, usb, volumio(smb.confに[ ]で記述されていたvolume名)のアイコンが表示されます。volumioアイコンをクリックすれば先程ダウンロードしたzipファイルや解凍して得られたshtdwn_button_01.pyというPythonプログラムが表示されると思います。ちなみにUSBやNASというフォルダも表示されます。もしCM3MB1のUSBポートにUSBメモリスティックやUSB HDD,SSD、USB Memory Card Readerなどが接続されていればそれらに格納されているフォルダやファイルが表示され、PCのUSBポートに接続している場合と同様にRead/Write/Copyを行うことができます。

3. NWT01/01P設定終了とVolumio Next Versionへのupdateについて

以上でNWT01/01P固有の機能の再設定は終了です。次回以降のVolumioのupdateは機器固有の設定などが勝手に初期化されなければこれらの機能の設定をupdateごとに行う必要はありません。そうあることを願いますがRaspberry piもどんどん変化していますので、いつまた大幅なVersion upが行われゼロからのフルインストールが要求されるのかということはわかりません。その時はまた本BlogにしたがってmicroSDカードのformatから始めてください。次回はNWT01P/CM3 +の基板上のeMMCに書き込む方法についてeMMCをWindows11にSDカードとして認識させる方法を再度(本Blog 2020年3月5日「Raspberry PiをAudio機器に組み込む」を参照のこと)説明します。SDカードとして認識させてしまえばあとはSDcardFormatter,Raspberry pi imagerなどの使い方、NWT01P固有の設定は全く同じですので本Blogを参照してください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です