2017/12/07

初期のRaspberry PiをNet- Radioに再活用

4,5年前に買った初期の「Raspberry Pi Type B 」( CPU:700 MHz 1コア)
メモリーが512MBなので、非力です。 しかし数ワット/時と低消費電力で、24時間連続通電でも、1カ月で80円程度なのが魅力です。

model2(2コア、メモリー1GB)が出てからは使用していませんでしたが、 Net- Radioとして再活用するように手を加えたときの備忘録です。

Raspberryと秋月電子のUSB-DAC(自作用1800円程度)を使って、ステレオアンプに接続する構成です。

なお、離れた居間のアンプにつなぎますので、lan接続にはUSB-wifi子機を使用。
(BuffaloのWLI-UC-GNME(780円)は、問題なしに認識されました^^)

以下はOS側での作業内容です。

(1)OSのインストールと初期作業
 2017-11-29-raspbian-stretch.imgを使用し、raspi-configを使用して以下を設定
 piのパスワード設定
 言語は英語のまま(リソース節約)で、キーボードとタイムゾーンを設定
 boot立ち上げは、「Desktop+パスワード入力」(重要)
 sshは使用で設定、VNCは別のを使用するので、初期はインストせず
 wifiの接続設定もDesktop状態で済ませておくと楽です。
 updateの実行
  $ sudo apt-get update
  $ sudo apt-get upgrade
 rootのパスワードを設定
  $ sudo passwd root
   *****
  $ sudo su でチェック



(2)ufwのインスト
 $ sudo apt-get update
 $ sudo apt-get install ufw
 $ sudo ufw disable (ファイヤーウォール無効)
 $ sudo ufw default DENY (入信は原則遮断)
 $ sudo ufw allow from 192.168.**.* to any port ****  (ssh用)
 $ sudo ufw allow from 192.168.**.* to any port 5900  (VNC用)
   (遠隔操作接続の許可は、lan内の母艦に限定しておきます)
 $ sudo ufw enable (ファイヤーウォール有効)
 $ sudo ufw status  (ufw ステータス確認)


(3)sshの設定
 $ sudo nano /etc/ssh/sshd_config
  4行目
  port 22 のポート番号22を ****に変更(重要)
  27行目:noに変更してrootログイン禁止
  PermitRootLogin no

  $ sudo /etc/init.d/ssh restart

(4)SD寿命対策
(参照 http://www.pc-links.com/blog/raspberrypi/fsprotect/)
 # nano /etc/fstab で以下の3行を追加
  tmpfs    /tmp    tmpfs    defaults    0    0
  tmpfs    /var/tmp    tmpfs    defaults    0    0
  tmpfs    /var/log    tmpfs    defaults    0    0
 その後
  # mount /tmp
  # mount /var/tmp
  # mount /var/log


(5)VNCサーバーのインスト、自動立ち上げ
 インストール:
  $ sudo apt-get install -y tightvncserver

 手動で一回立ち上げて、パスワード設定:
  $ sudo vncserver

 lightdmで設定編集し、自動立ち上げ可能にする
  $ sudo nano /etc/lightdm/lightdm.conf
  ...
  ... 最後方。コメントはずして以下に編集
  [VNCServer]
  enabled=true
  command=Xvnc
  port=5900
  width=1280
  height=800
  depth=24

 raspi-config の Boot Optionsは、パスワード入力立ち上げにしておくこと!
 これでセキュリティは以下の3重になる。
  ルーターのファイアウォール
  ローカルからの接続限定ファイアウォール
  piのパスワード

(6)VLCのインスト
  $ sudo apt-get install vlc

(7)usb_DAC_優先順位の設定
  (参照)https://tomosoft.jp/design/?p=8142

 $ cat /proc/asound/modules
   0 snd_bcm2835
   1 snd_usb_audio

優先度を変更するために必要なalsa-base.confファイルは、次のように新規に作成する必要があります。
 $ sudo nano /etc/modprobe.d/alsa-base.conf
  options snd slots=snd_usb_audio,snd_bcm2835
  options snd_usb_audio index=0
  options snd_bcm2835 index=1

変更が終了するとrebootして、優先度が変わっていることを確認します。
 $ cat /proc/asound/modules
   0 snd_usb_audio
   1 snd_bcm2835

(8)母艦で、ネット放送ShoutcastからPlaylistを作成し、Raspiへ入れます。
 https://www.shoutcast.com/ へ接続し、お好みの局を選択して、⇩印をクリック。
これは、Raspiでも可能ですがブラウザの動作が遅いので、母艦で作業をします。
次にWinamp(pls)を選択し、plsファイル保存を指示します。
Downloadされたplsファイルをraspberryに送っておきます。

(9)Raspberryで演奏
VNC接続したRaspiの画面でplsのファイルホルダーを開き、聞きたいplsファイルを右クリックし、「vlcで開く」を選択すれば、その曲の演奏が始まります。
なお、Shoutcastに登録された局の50%程度は、「あんたの国では聞けないよ」って言われますので、その局は廃棄しちゃいましょう。。。^^)
SSはVNC接続している母艦の画面です。
この場合の母艦もLinux機(Debian)で、Vnc-viewerはreminaを使用しています。
reminaの設定はハマりやすいので、SSを添付。


これで素敵な音楽が、24時間365日OKになりました~^^)
Net-Radioだけではなくて、一般のmp3もこれで聞けます。







0 件のコメント:

コメントを投稿