RaspberryPiで据置型MP3プレーヤを作る(妄想)

ずっと前に買って以来、全く使われていなかった Raspberry Pi を使って MP3 プレーヤを作ってみようと妄想中。

きっかけは 日経Linux 2013年9月号 に載っていた、Raspberry Pi と 秋月電子USB DAC キットを使ったミュージックサーバの記事でした。

秋月の USBDAC は安いのに音がいいと好評らしく、これを使って家で使える MP3 プレーヤを作れないか考えてます。

妄想としてはこんな感じ。

mp3プレーヤの構想

  • 音楽はUSBメモリに入れる
  • 音楽はUSBDAC経由でアナログ出力する
  • USB のリモコン受光器も繋げておいて、赤外線リモコンで操作を行う
  • 再生曲などの表示はバックライト付きLCDか、OLEDで行う

常用できるものを作りたいので、とりあえず家電っぽく使えるのを目指したいと思います。
AirPlay とかもやってみたいけど、まずは欲張らずに基本機能を作ります。

表示部は LCD より OLED が使いたいな。緑色のOLEDは蛍光表示管みたいでかっこいいし。使うなら Strawberry Linuxグラフィック有機ELモジュール が良さそう。

赤外線リモコン部にはビットトレードワンの USB接続 赤外線リモコン キット を使う予定。
これはリモコン受信だけじゃなくて送信もできるスグレモノで、HID デバイスとして認識され、リモコン操作がキー入力として扱えるみたい。
USB PICを使ってて、ソースコードも公開されていて改造もできてしまうらしい。太っ腹。
うまく作れば、このモジュールだけ別電源にしておいて、電源ON/OFF制御をさせることもできちゃうかも。

 

久しぶりにビットトレードワン覗いたら電流帰還式ポータブルヘッドフォンアンプなんて発売してたんだ・・・。据置型の方すごく評判いいみたいで気になってたんだよな。くそー欲しいじゃないか。

ServersMan@VPS Entryを使った感想

久しぶりの投稿です。

ついカッとなって契約した ServersMan@VPS の Entry プランですが、早いもので使い始めて1ヶ月位経ちましたので、その感想を。

ちなみに、試用した用途としては以下の3つです。

  • ownCloud でオレオレクラウド
  • wordpress でブログ
  • imap でメールストレージ

現在このブログを運用している CORESERVER.JP の更新期限も来月に迫ってきているので今後どうするかも考えないといけません。

良かった点

ownCloud が SSL 経由で使える

オレオレ証明書を使った ownCloud on SSL が構築できます。

これが一番やりたかったことなので、概ね満足です。

webdav, caldav, carddav などを使う場合、オレオレ証明書だと、アプリケーションによってはエラーになることもあるのがちょっと難点ですが。

VPSならではの自由度

これはレンタルサーバとの比較になりますが、やはり使いたいサービスを自分でインストールすることができるのはいいですね。

git リポジトリのサーバや、 scp でのファイルバックアップなど、レンタルサーバにはできないことも VPS ならできてしまいます。

悪かった点

重い・・・

ワンコイン以下の値段なので仕方がないのかもしれませんが、ちょっと重いです。リクエストを送信してからレスポンスが返ってくるのが遅いです。

HTTPサーバを apache から nginx に変更してみたのですがほとんど改善せず・・・。静的な html ファイルの表示はそれほど遅くないので、CPU パワーの不足ではないかと思います。

wordpress はあまり知識がないので、ググって高速化をいろいろ試してみたのですが、 このサーバでの wordpress でのブログ運用は諦めました。

この金額のVPSだと、やはり Web サーバでは専用にチューニングされているレンタルサーバに敵わないですね。

正直チューニング作業は面倒で、もうコリゴリです・・。

結論

ブログの運用はキツイので、ownCloud & imap サーバとして月490円を払えるかどうか。
ownCloud は自分しか使わないので、ちょっとくらい重くても我慢できますが・・・。うーん。悩ましい。

レンタルサーバを別に借りるとすると月数百円はかかるわけで、その数百円を追加して1つ上のVPSを借りるというのもアリかなぁ。

・・・とりあえず ServersMan@VPS は解約して、CORESERVER.JP を更新かな・・・。

・・・

・・・

う、後ろ向きな対応ではなく、戦略的撤退ですからね!!

ownCloudの基本機能レビュー

ServersMan@VPS に ownCloud 6.0.1 をインストールして少し使ってみた感じをご紹介します。

機能の紹介や、できれば Dropbox や Google のサービスから乗り換えたいので、そういった観点でのレビューです。

ファイルサーバ

ファイルサーバownCloud の基本機能はファイルサーバです。 Dropbox と同じ機能ですね。 DropBox の有料プランだと 100GB $9.99/月 or $99/年 ですが、 ServersMan@VPS Entry だと 50GB で 490円/月 です。

・・・えーっとあまり値段変わんないっすね。てへ :p

DropBox 同様、ファイルのバージョン管理もされているので、更新しても前のバージョンに戻せます。消してもゴミ箱に入るので、たいていの操作ミスは取り戻せると思います。

グループを作ってグループ内の共有を行ったり、ユーザ毎に容量制限をかけられます。またユーザ間でファイルを共有したり、広く一般に公開することもできるようです。

ownCloud も Windows 用、Linux 用、Mac 用のデスクトップクライアントが用意されていて、DropBox と同じように自動で同期してくれます。

スマホ用では公式の iOS用アプリAndroid用アプリも用意されていて、こちらは自動同期ではなく、ファイルサーバの参照、ダウンロード、アップロードができます。このへんはスマホ用 DropBox アプリと同じですね。

基本的に DropBox にできることはほとんどできそうなので、DropBox から乗り換えてもいいかなと思ってます。

WebDAVサポート

140303-owncloud-webdav地味に便利なのは標準で WebDAV に対応していること。デスクトップクライアントをインストールしなくても共有ディレクトリのように使用することができます。

Windows でも Ubuntu でも OS 標準で WebDAV にアクセスできますし、HDD が少ないノートPC の場合はデスクトップクライントで同期せずに必要なときに WebDAV 経由でアクセスしたほうが便利なこともありますからね。

WebDAV URL は右上のユーザ名のところをクリックして、「Personal」「個人」を選択すると表示されます。

カレンダー

カレンダーGoogle カレンダーみたいな機能です。Google カレンダーとは異なり、外部のカレンダー(.ics) を表示させる機能はないようです。

日本語化されてはいるんですが、英語圏で作成されているためか 「月-日-年」 形式で表示されるなど、使う分には問題ありませんが、ちょいちょい気になるところがあります。

Ajax で作られていて使い勝手は上々です。カレンダー上をドラッグすると、その期間の予定が新規作成されるなど、直感的に使うことができました。

ユーザ間で予定の共有なども出来るようですが、企業向け Google カレンダーのような会議への招待や、出席/欠席等のリアクションはできないようです。ただ、そういった機能のプラグインがあるかもしれないですね。

また、このカレンダーは CalDAV に対応しているので、CalDAV に対応しているアプリから使うことができます。WebDAV 同様これは便利です。

Windows, Linux なら Thunderbird のカレンダープラグイン Lightning が便利です。

iOS 機器なら CalDAV を標準サポートしているのでアカウントを追加するだけで、標準のカレンダーアプリから使用できます。

Android 端末は無料アプリの「Caldav Sync Free Beta」というアプリを使うことでカレンダーアプリから使用可能になります。このへんは別途記事にしようと思います。

私はThunderbird の Lightning で Google カレンダーを使っていたので Google カレンダーからの乗り換えは問題無さそうです。

ドキュメント

140304-owncloud-documentsWYSWIG エディタを使って .odt ファイルを作成することができます。

Ubuntu では FireFox/Chrome 共に日本語が入力できませんでした。

現時点ではワープロの機能的にも最低限のものしか実装されていないようなので、今後に期待と言った感じです。

ピクチャ

140304-owncloud-picturesファイルストレージ内の画像ファイルをサムネイル形式で表示できます。

スマホで写真を撮って ownCloud にアップするような使い方をした時に便利かもしれません。

コンタクト

140304-owncloud-contacts電話帳です。まだ使ったことないのですが、メールアドレスや電話番号などの登録を行えます。

CardDAV に対応しているようなので、CardDAV を使ってスマホとうまく同期できると便利かもしれません。

Android 携帯を使っているのですが、私は Google に知り合いの電話番号などの情報を把握されるのが嫌だったので、電話帳は Google と同期していません。(Facebook アプリには勝手に抜かれて送信されてましたが・・・ -_-メ)

自分のサーバなら安心してアップできるので、バックアップも兼ねて同期しておくといいかもしれないですね。

試してみたらまた記事にしたいと思います。

 

ざっくり ownCloud のデフォルトの機能と使った感じを紹介しました。 紹介した機能以外にも ownCloud にはあとから「アプリ」と呼ばれるプラグインみたいなものをインストールすることができるようになっているので、他にも便利な機能を追加することができます。

気になるアプリもあるので試したら、また紹介したいと思います。

ServersMan@VPS に ownCloud をインストール

一番やりたかった ownCloudServersMan@VPSにインストールします。

このためにわざわざ VPS を借りたんですから。

ServersMan@VPS の OS は CentOS 6.5 32bit です。

php-5.4 のインストール

まず、php-5.4 系をインストールします。 ownCloud インストール後警告表示がされたためです。

CentOS 6.5 の公式パッケージは php-5.3 系なので EPEL リポジトリ、remi リポジトリを追加して、こちらから php-5.4 をインストールします。

EPEL, remi リポジトリの追加方法は以下のページにまとまっていたのでこちらを参照ください。

また、必須ではないですが SSL を有効にしておくことをおすすめします。

リポジトリの設定が完了したら、 remi を有効化して php 関連のパッケージをインストールします。

# yum --enablerepo=remi install php php-common php-cli php-mcrypt php-mysql php-pdo php-xml php-gd php-mbstring

2014/03/01 時点では 5.4.25-2.el6 のバージョンがインストールされました。

/etc/php.ini を編集してタイムゾーンを変更します。

date.timezone = "Asia/Tokyo"

変更したら apache を再起動します。

# service httpd restart

これで php が使えるようになったはずです。php が動作するか確認してみます。

/var/www/html/test.php というファイルを以下の内容で作成します。

<?php phpinfo(); ?>

作成後、 http://ホスト名/test.php にアクセスしてみてください。成功すれば以下のように php バージョンなどの情報が表示されるはずです。

phpinfo の表示例

ownCloudのインストール

いよいよ ownCloud のインストールです。

インストールの方法として tar や zip アーカイブをダウンロードしてサーバに展開する方法と、Web install という方法があるようです。

他のブログとかでは Web install の方法が多いですが、今回は /var/www/html 以下ではなく、/var/www/owncloud にインストールし alias 指定したいので tar でのインストールをします。

owncloud.orgInstall のページ の「Tar or Zip File」を押します。

140302-owncloud-download

そのなかの Download Unixのリンクをコピーします。2014/3/2時点では owncloud-6.0.1.tar.bz2 でした。

VPS の端末からコピーした URL を貼り付けて tar ファイルをダウンロードします。

# cd
# mkdir download
# cd download
# wget http://download.owncloud.org/community/owncloud-6.0.1.tar.bz2    ※URL貼り付け
# cd /var/www/
# tar xf ~/download/owncloud-6.0.1.tar.bz2
# chown -R apache.apache owncloud

これで /var/www/owncloud というディレクトリに展開されました。

続いて、 ownCloud 用の apache の設定ファイルを作成します。

以下のような内容で /etc/httpd/conf.d/owncloud.conf を作成します。

Alias /OWNCLOUD /var/www/owncloud

<Directory /var/www/owncloud>
    AllowOverride all
    Options -Indexes FollowSymLinks
    Order allow,deny
    Allow from all
</Directory>

赤字の部分は URL になるので、個人的に使用するのであれば分かりにくいものに変更してください。

変更したら apache を再起動します。

# service httpd restart

そして https://ホスト名/OWNCLOUD にアクセスします。すると以下のような画面になります。

初回画面

ここで管理ユーザを作成します。ユーザ名とパスワードを入力して「Finish setup」を押すとインストール完了です。

ログイン後

ログインすると上記画面のようになります。

これでインストールは完了です。お疲れ様でした。

最後にちょっとだけ設定しておきます。

右上のユーザ名をクリックして表示される「Admin」で設定画面を開きます。 その中の「Security」の「Enforce HTTPS」を有効にします。

これで間違えて http で接続しても https にリダイレクトされるようになります。

インターフェースを日本語化したい場合は、ユーザ名をクリックして「Personal」でユーザ別の設定画面を開き、「Language」で「Japanese」を選択すれば日本語になります。

SSH で root のみパスワード認証を禁止する

本来なら SSH での root でログインを禁止したいところですが、ServersMan@VPSでは SSH 以外でのログイン手段が無いので、root ユーザのみ公開鍵認証だけは通して、パスワード認証は無効にする設定を行うことにしました。

一般ユーザはパスワード認証を許可します。

参考にしたのは以下のページ。

sshd_config の PermitRootLogin に without-password を設定するとパスワード認証以外でのみログインできるようになるらしいです。

/etc/ssh/sshd_config の以下の項目を変更しました。

PermitRootLogin without-password
PubkeyAuthentication yes

以下の設定はデフォルトで有効なので設定ファイルを変更していなければそのままで OK でした。

PasswordAuthentication yes
UsePAM yes

設定を変更したら sshd を再起動

# service sshd restart

別のターミナルから root でパスワード認証の場合はログインできないことを確認します。

ここで注意。確認は別のターミナルで行ってください。最悪 root だけでなく他のユーザでもログインできなくなる可能性もあるので、確認が取れるまではログインしているセッションを 1 つは残しておいたほうが安全です。

ちなみに、ajaxterm も ssh 経由で接続しているため、この設定を行うと ajaxterm 経由での root ログインも不可になります。