作ってみた!ラズパイガジェット達はこちら

Speaker pHATをMopidyでiPhoneから操作してmp3を再生する携帯ミュージックボックス化(前編)

speaker-phat-image 作ってみた

Speaker pHATとRaspberry Pi Zero W で携帯型ミュージックボックスを構築しました。

iPhoneでいいじゃん・・・と言わないでください・・・。
またはiPhoneとBluetoothスピーカーでいいじゃん・・・と言わないでください(^_^;

 

制作のポイント

  1. モバイルバッテリーを使い屋外で聴きたい
  2. iPhoneとはRaspberry Pi Zero WのWi-Fi経由で繋ぐ
  3. ウェブブラウザsafariにてMopidyのWEBインターフェイスで操作する

 

speaker pHAT

ケースに入れたRaspberry Pi zero W + Speaker pHAT(クリックで拡大)

 

今回の材料

制作した環境

Raspberry Pi Zero Wはモニターとキーボードを繋げて作業しました。(途中までヘッドレスインストールでもOK)

Raspbianは「RASPBIAN STRETCH LITE (2017-11-29版)」

制作したパーツ

  1. Raspberry Pi Zero W (1,296円)
  2. Speaker pHAT (約1,600円)
  3. Adafruit Raspberry Pi Zero用ケース(819円)
  4. モバイルバッテリーcheero Power Plus 3 (1,980円)

RaspbianOSのインストール

RASPBIAN STRETCH LITEのイメージファイルをSDカードに書き込み、通常通りのセットアップをします。

詳しくはこちらの記事を参考にしてください。

イメージファイルからRaspbianのインストール
Raspberry Pi に専用OSであるRaspbianをインストールするには主に2つの方法があります。 一つは公式サイトのNOOBSを使用する方法。もう一つはRaspbianOSのイメージファイルを直接SDカードに書き込んでインストールする方法です。 今回はRaspbianのイメージファイルからのインストール方法を紹介します。(初心者向け) ...

Wi-Fiの設定

Wi-Fiはひとまず自宅のWi-Fiで設定します。その後、hostapdを利用してRaspbian側にアクセスポイントを構築してiPhoneで接続します。

Wi-Fiの設定は次の記事で通常通りに設定します。

Raspbian のWi-Fi設定(Raspberry Pi 初期設定)
Raspberry Pi にOSであるRaspbianをインストールした後、Wi-Fiに繋げるセットアップ方法をご紹介します。 (※大変人気の記事です。ありがとうございます。情報は随時、加筆・修正しております。) GUIとCUIと分けますが、モニター、キーボード、マウスなど用意できればGUIの方が初心者でも難しくありません。現在のRaspberry Pi...

hostapdのインストールは最後にして先に必要なMPDなどのインストールと設定をします。

Mopidyのインストール

OS内に音楽ファイル置いて聴く形式を取ります。(正確にはOS仮想イメージ内)
そのためまずはMPD環境を整えます。今回もMopidyを使います。

どうもVolumio2はPimoroniのHAT系が上手く設定できませんでした。・・・最新バージョンは対応していると記載があったのですが、LED系が上手くできません。う〜ん、またチャレンジします。

pHAT BEATの時の記事が参考になります。Raspbianのバージョンも上がったので、改めて順番に記載します。

GPG keyの登録:

$ wget -q -O - https://apt.mopidy.com/mopidy.gpg | sudo apt-key add -

パッケージソースのダウンロード:

$ sudo wget -q -O /etc/apt/sources.list.d/mopidy.list https://apt.mopidy.com/jessie.list

Mopidyのインストール:

以下コマンドにてインストール

sudo apt-get update

 

$ sudo apt-get install mopidy

Mopidy.confの修正と追加

mopidy.confにて動作させるための設定をします。

sudo nano /etc/mopidy/mopidy.conf

最終行から追加と変更をします。

[http]
enabled = true
hostname = 192.168.XX.XX #(IPアドレスまたはホスト名※1)
port = 6680
static_dir = /usr/local/lib/python2.7/dist-packages/mopidy_moped/static/
[audio] # ※2
mixer = software
mixer_volume = 50 #起動時のVolume設定。100が最大。
output = alsasink
[softwaremixer]
enabled = true
[alsamixer]
enabled = true
card = 0
control = PCM
[mpd]
enabled = true
hostname = :: #コロン2つ続けて(Listens on all interfaces, both IPv4 and IPv6)※3
port = 6600

 

 

※1
IPアドレスの場合、固定させないとなりません。別途、dhcpcd.confにてstaticで設定します。Raspbianの設定でホスト名を決めて、そのホスト名で処理すると楽です。例:sp-mopidy.local

 

※2
【】が2つになっていますが、実際には一つです。Wordpressのショートコード回避のため2重にしてあるだけです。

 

※3

::

は半角コロンを続けて2つです。全角と間違えないようにしてください。

mpdクライアントをインストール

pipというツールコマンドでインストールします。Raspbian Wheezy 以前と Jessie Liteではpipがインストールされていません。pip自体をインストールされていない場合はapt-getでインストールしてください。

$ sudo apt-get install python-pip

上記はPython 2系です。

Mopidyクライアントのインストール

ブラウザから制御するクライアントソフトを用意します。Mopidyにエクステンション(拡張)アプリケーションを入れないとなりません。

$ sudo pip install Mopidy-Moped

サービスに登録

サービスに登録します。これでシステム起動と同時に起動します。

$ sudo systemctl enable mopidy

mopidyを再起動。

$ sudo systemctl restart mopidy

ステータスの確認

ステータスを確認します。アクティブになっていれば大概はOKです。

$ sudo systemctl status mopidy
● mopidy.service - Mopidy music server
Loaded: loaded (/lib/systemd/system/mopidy.service; enabled; vendor preset: e
Active: active (running) since Sat 2018-01-20 08:06:14 UTC; 8s ago
Process: 3189 ExecStartPre=/bin/chown mopidy:audio /var/cache/mopidy (code=exi
Process: 3186 ExecStartPre=/bin/mkdir -p /var/cache/mopidy (code=exited, statu
Main PID: 3192 (mopidy)
CGroup: /system.slice/mopidy.service
└─3192 /usr/bin/python /usr/bin/mopidy --config /usr/share/mopidy/con
Jan 20 08:06:13 sp-mopidy systemd[1]: Starting Mopidy music server...
Jan 20 08:06:14 sp-mopidy systemd[1]: Started Mopidy music server.

 

ブラウザ(safariなど)からコントールする

今回はiPhoneのsafariブラウザに下記を入力(localhostはIPアドレスまたはホスト名)

http://localhost:6680/

この記事ではホスト名が

sp-mopidy

なので次のようになります。

http://sp-mopidy.local:6680/

画像はMacBook Proのデスクトップからです。

Mopidy-Moped

音楽を転送できるようにsambaのインストール

音楽ファイルをWi-Fi経由でコピーしたいので、sambaを入れ共有フォルダを設定します。今回も分かり易い様に、mopidyで音楽ファイルの場所であるローカルの/var/lib/mopidy/mediaをSambaで共有する形にしてあります。適時読み替えてください。

sambaのインストール

sudo apt-get install samba

パスワードは設定しましょう。質問形式でパスワードを2回入れます。

$ sudo smbpasswd -a pi

設定ファイル(.conf)の編集

$ sudo nano /etc/samba/smb.conf

下記6行を最終行に追記します。

[media]
 path = /var/lib/mopidy/media
 read only = No
 writable = Yes
 guest ok = Yes
 create mode 0777

パーミッションの変更

書き込み出来るように権限を変更します。

フルアクセスの777にしています。気になる方は適時読み替えてください。

$ sudo chmod 777 /var/lib/mopidy/media

音楽ファイルのスキャン

ライブラリを更新は以下コマンドです。ローカルの音楽ファイルを入れた後にまず一度スキャンしてください。

$ mopidy local scan

ライブラリの更新はAPIのみで可能で以下のコマンドを実行します。

$ curl -d '{"jsonrpc": "2.0", "id": 1, "method": "core.library.refresh"}' http://localhost:6680/mopidy/rpc

 

こちらの制作でもMopidyを使いました。

pHAT BEATとRaspberry Pi Zero Wでミュージックサーバ
2017年現在、Raspberry Pi でミュージックサーバーというと、Volumio2が思い浮かべられます。小さい拡張ボード(pHAT)とRaspberry Pi Zero Wで使えたらと思いましたが、これハマりました。UVメーターが光りません・・・。こうなるとこのHATの意味が無いので、素直に推奨環境で動作が認められているRaspbian環境で構築しま...

iPhoneで操作する

どうやってiPhoneをRaspberry Pi Zero WとWi-Fiで繋ぐのか?
Wi-Fiはルーター側(RT)かアクセスポイント側(AP)か変えられます。今回は音楽再生の操作をしたいので、
Raspberry Pi 側のWi-Fiをアクセスポイントとして動作させます。iPhoneがクライント側ですね。

iPhoneとペアで接続したいので、DHCPで番号を振ることまではしません。アクセスポイント(AP)と言ってもインターネットには繋がないので、ローカル環境以前にiPhoneだけがアクセスポイント(AP)であるRaspberry Pi Zero Wへ接続する形です。

hostapdというアプリケーションを利用しアクセスポイントを立てます。

 

続き >> hostapdのインストールと設定へ

購入した物

Raspberry Pi Zero Wの購入は国内の流通は比較的安定してきましたが未だに入手困難です。
こちらの記事を参考にしてください。

https://raspida.com/raspberrypistock

 

Adafruit Raspberry Pi Zero用ケース
  • スイッチサイエンス
  • 販売者 スイッチサイエンスウェブショップ
クリックして今すぐチェック

主に参考にしたサイト

参考
mopidy公式ドキュメント
https://docs.mopidy.com/en/latest/installation/

 

記事に間違いがありましたらお問い合わせフォームからお知らせください。

保存保存