#topicpath ** Raspbmc [#nb0e75fd] *** はじめに [#h856747a] - Raspbmc とは~ -- はじめに(他のソフトウエアとの関係)~ ~ [[XBMC>http://xbmc.org/]](XBox Media Center)と呼ばれるソフトウエアがある。XBOX 用に開発されたテレビに接続するタイプのメディアプレーヤーである。[[OpenELEC>http://openelec.tv/]](Open Embedded Linux Entertainment Center)は、スクラッチから記述された Linux 用の メディアプレーヤーであり、これ自身も [[Raspberry Pi>../]] でも使われているようである。しかし、さらに Raspberry Pi に特化したLinuxカーネルを含むパッケージとして、[[Raspbmc>http://www.raspbmc.com/]] がある。インターネット上の情報は、圧倒的に Raspbmc が多いので、以下では、Raspbmc について、私なりにまとめてみる。~ ~ - Raspbmc にできること -- テレビにつなぐメディアプレーヤー~ XBMC と同様に、Raspberry Pi に Raspbmc を導入してテレビに HDMI ケーブルで接続すると、Raspberry Pi は様々なメディアのプレーヤーになる。特にビデオを再生できることは重要である。パソコン内に保存されているような動画ファイルを Raspberry Pi で再生できる。ポータブルなメディアプレーヤーとなるわけである。~ ~ -- テレビのリモコンで操作できる~ さらに重要なのは、Raspberry Pi に接続された HDMIケーブルを通じて、通常のテレビのリモコンで Raspberry Pi を制御できる点である。HDMI は双方向通信ができ、Toshiba の REGZA や Sony の Bravia などは、付属のリモコンで操作できるようになる。家電として機能するようになる、とも表現できる。~ ~ -- スマートフォンやモバイル端末で操作できる~ その上、テレビのリモコンでなく、iOS や Android のソフトを入れれば、そうしたソフトで操作できる点も特徴である。~ ~ -- Airplay の機能を使える~ iPad, iPhone で表示している端末の映像をテレビで大きく映すことができる。これはモバイルのプレゼンテーション環境となりうる。~ ~ -- その他~ インターネット上の様々なメディアを楽しむことができる。~ ~ *** 導入(インストール) [#p535ea01] - 必要なもの #style(class=table_left) |物品 | 価格 | コメント |h | [[Raspberry Pi (Type A)>http://jp.rs-online.com/web/p/processor-microcontroller-development-kits/7568308/]]|RIGHT: 2800| Type A の 256MB でも動くようにしていると、raspbmc 本家のホームページに書いてあった。[[Type B>http://jp.rs-online.com/web/p/processor-microcontroller-development-kits/7568317/]](3940円)の方がメモリ、LANポートの面でいいのかもしれない。 | |SD カード(&amazon(B000FGNM6I);) |RIGHT: 800| 2GBもあればよい。DOS/Vパラダイスで、2GBの micro SD が100円ぐらいで売られていた。| |USBケーブル(Type A - micro B)|RIGHT: 100| ダイソーで| |USB無線LANアダプター &amazon(B003NSAMW2,image);|RIGHT: 758| Type A をネットワークに載せるために| |セルフパワー USBハブ &amazon(B001QS17X4,image); |RIGHT:1036 |安定的にメディアプレーヤーとして利用するのならば必須だと思われる。| |HDMIケーブル&amazon(B00870ZHCQ,image);|RIGHT: 504|HDMI 1.4 以上を選ぶ。Xbox 対応などと書いてあるので、多分大丈夫。私はDOS/Vパラダイスで購入したものを使用している。適切なものでないと、テレビのリモコンで操作できない。| |合計|RIGHT: 5998| Raspberry Pi Type A と、ほぼ同額の機材を買うことになる。それでも6000円で収まる。 | #clear ~ ~ - 手順 ++ ダウンロード~ 次の場所から standalone のイメージファイルをダウンロードする。ところが、これが非常に混雑していてダウンロードするのにとても時間がかかる。 http://www.raspbmc.com/download/ ++ SD カードへの書き込み~ これも時間がかかる。40分ぐらいかかると見込むべきである。デバイスファイルを必ず確認してから(それが例えば sdc なら)次のようにする。~ root 権限で実行する。デバイスファイルを間違えるととんでもないことになるので気をつける。 # zcat raspbmc-final.img.gz | dd of=/dev/sdc なお、このコマンドの実行状況は、root で別の端末から # pkill -USR1 dd で表示される。終了してから # sync してからカードを抜く。~ ~ ++ 配線~ 後述のように電源を補強するために USB ハブを用いて接続する。この図(&ref(RaspberryPi.gif,noimg);)を参照して配線する。~ SDカードを装着し、HDMI ケーブルでテレビに接続し、最後に Raspberry Pi の電源となる micro USB のケーブルを刺す。~ ~ ++ 初期設定 +++ 最初の起動~ いくつかの初期設定があるので、USBキーボードを接続して起動するとよい。最初に言語設定が聞かれる。~ 日本語設定を選択すると再起動する。しかし、特に変化はなかった。~ ~ +++ 日本語設定~ 言語設定をする前に、フォンとの選択をしなければならない。それをしないで日本語に言語を設定すると、~ 文字がほとんど表示されなくなる。~ System > Settings > Appearance > Skin > Fonts を Arial based に System > Settings > Appearance > International > Language を Japanese にセットする。~ ~ +++ 画面解像度~ システム > 設定 > システム > ビデオ > 画面解像度 で解像度を設定する。~ ~ +++ ネットワークの設定~ まず、 プログラム > Raspbmc Settings > Network Configuration でネットワークの設定を行う。まず、有線LAN ではなく、無線LAN を使うことをここで設定する。また、例えば、DHCP(IPアド~ レス自動取得) ではなく、固定の IP アドレスを遣う場合はここを設定する。 update now にもチェックを入れた。ネットワークが正しく設定されると、いきなり最新版のダウンロードとインストールが開始される。~ ~ +++ 動画フォルダの指定~ 動画 > ファイル > ビデオを追加 で、NFS や Samba などで動画のフォルダを指定できる。後述のように、「選択したフォルダーをスキャン対象から除外する」にチェックを入れるようにする。~ ~ +++ Wake up on LAN の設定~ iPad や Android には、raspbmc をコントロールするリモコンソフトがある。そのリモコンソフトには、Wake up on LAN の機能がついている。~ これを使うためには、raspbmc 側でも設定しなければならない。~ プログラム > Raspbmc Settings > System Confuguration > MAC address for Wake on LAN で iPad の MAC アドレスを入力する。~ ※ Wake up on LAN については、うまくいっていない。~ ~ *** その他の設定 [#d908d169] - iPad をリモコンにする -- ソフトウエアの導入と設定~ xbmc をネットワーク経由でコントロールするための iPad,iPhone,Android 用のソフトがいくつかある。[[xbmcremote>http://wiki.xbmc.org/index.php?title=Official_XBMC_Remote]]は、純正のソフトウエアである。これを導入する。~ 右下の電源マークの横をクリックすると、接続についての画面が現れる。Add Host を選択して Find XBMC をクリックすると自動的に raspbmc を探してくれる。~ Save で保存するとセットされる。~ ~ -- うまくいかないとき~ 次のような点に注意する。 --- 「別のシステムによる…」 システム > 設定 > サービス > リモートコントロール の 「別のシステム上のプログラムによる XBMC の制御を許可」は機能させないようにする。(チェックを外しておく) --- Zeroconf システム > 設定 > サービス > Zeroconf の 「本サービスを Zeroconf 経由でアナウンスする」は機能させるようにする。(チェックを入れておく)~ ~ - mpeg2 ライセンスの購入 ++ どんな意味があることか~ mpeg2 は動画圧縮形式の一つである。これは、国際的な規格ではある。しかし、その復号技術(画像に戻すための技術)は、特許申請されている。~ 多分そのために、Raspberry Pi に搭載されている GPU で mpeg2 のファイルを復号するためには、余分な費用がかかることになり、必要な人だけ~ 買うというスタイルになったのではないか。(どうでもいい話だ。)~ ~ ++ 購入するためのサイト~ [[Pi Store>http://www.raspberrypi.com/]] から購入する。£2.40 だけど、paypal で購入すると £2.00 になっていた。説明にもあるように、シリアル番号を cat /proc/cpuinfo で取得しておく。~ ~ ++ ライセンスの追加~ つぎのうち、どちらかをする。 +++ raspbmc の起動画面で、プログラム > Raspbmc Settings > System Configuration > MPEG2 codec license でライセンス番号を入力する。~ +++ /boot/config.txt に書き加える。~ decode_MPG2=0x12341234 なお、ここの[[config.txtの書式についての説明>http://www.raspberrypi.org/documentation/configuration/config-txt.md]]は参考になるだろう。~ ~ その後、再起動して有効にする。~ ~ - Airplay~ -- Airplay とは~ iPad などで表示されているものを Airplay のストリーミング先デバイスで表示・再生する機能である。iPad などには標準的に組み込まれているようだ。~ -- raspbmc での設定~ システム > 設定 > サービス > Airplay で「 XBMC の Airplay コンテンツ受信を許可する」にチェックを入れる。これだけ。~ -- 利用方法~ 例えば、iPad で Youtube を利用して動画を再生中に画面をタップする。すると、画面の右下に四角と三角を組み合わせた「Airplay アイコン」が表示~ される。そこをクリックすると、表示する場所を選べる。「iPad」なら手元の画面、「XBMC(raspbmc)」なら raspbmc が接続されたテレビとなる。~ ~ *** 問題点 [#g201fa1f] + 安定しない~ Raspberry Pi の USB ポートに無線 LAN アダプタを刺して使っている。ところが、Raspberry Pi の USB ポートに供給される電源の電流量が少ない~ 上に、そもそも、Raspberry Pi に供給される電流量に限りがあるので、いずれにしても外部電源で USB ポートに刺したデバイスの電源をまかなうべき~ である。また、Raspberry Pi の電源供給が microUSB であるので、こちらも USB ハブから電源供給できるはずである。いくつかのホームページを見~ ると、Raspberry Pi の microUSB のポートには通信機能がないので、次のように配線しても問題ないとのこと。実際、今のところ問題ない。~ &ref(RaspberryPi.gif,,30%);~ ~ + 負荷が高い~ CPU の負荷が高いのは、いくつか可能性がある。一つは、設定した動画ファイルのデータベースを作ろうと、動画一つ一つを読みこんで、サムネイル~ を作っているからだと思われる。そこで、動画フォルダ登録時に「選択したフォルダーをスキャン対象から除外する」にチェックを入れておく。~ あるいは事後に、 ビデオ > ファイル で表示されたフォルダで右クリックして「コンテンツを設定」で、同様の設定をする。~ ~ + Samba で接続した時の問題点~ 時々、ファイルを格納したフォルダをクリックすると、"ロックの設定" という表示が現れる。そして、ユーザー名とパスワードを求められる。~ これが出てくると、そのディレクトリはアクセスできない。この問題は、パーミッションの問題で、Samba として提供されている側のパーミッション~ では、アクセスできない時に発生するようである。サーバー側のパーミッションを調整する。~ ~ + レグザのリモコンが効かない~ 東芝のレグザ(REGZA, レグザリンク)、ソニーのブラビア(Bravia, ブラビアリンク)、パナソニックのビエラ(VIERA, ビエラリンク)では、リモコンで~ raspbmc をコントロールできる。ところが、うまく操作できなかった。~ 結論としては、どうやらケーブルの問題らしい。[[HDMIには、いくつかのバージョン>http://ja.wikipedia.org/wiki/HDMI]]がある。HDMI 1.4 からケーブル経由のコントロールを許す CEC~ (Consumer Electronics Control) のための信号線が加えられ、2.0 では規格の拡張が行われている。[[価格.com>http://kakaku.com/kaden/hdmi-cable/]]での商品検索にも、バージョン選択肢~ が入っている。HDMIケーブルを変えることで、私の場合にはうまくいった。~ ~ *** Linux マシンとしての基本情報 [#f1077ae5] + 名前の参照~ DHCP などで起動する場合、IPアドレスが不定である。この点について、raspbmc では、[[Avahi>http://ja.wikipedia.org/wiki/Avahi]] (Zeroconf,Bonjour)で参照できるようになっている。~ そこで、適切に設定されたマシンからは raspbmc.local というホスト名で raspbmcを搭載した raspberry pi にアクセスできる。~ ssh pi@raspbmc.local ~ + ssh で外部からアクセスするとき~ #style(class=table_left) | user name | password |h | pi | raspberry | #clear ~ + アクセス後、root の権限を使いたいとき sudo su - ~ + deb パッケージを導入したいとき~ 例えば xbmc.bin が動いていて負荷が高い時に、どんなファイルをアクセスしているかがわかれば対応のし方もある。そこで、 lsof パッケージ~ を導入したくなる。しかし、おそらくメモリーの量の関係で、apt-get で導入しようとすると、うまくいかない。 http://archive.raspbian.org/raspbian/pool/main/ 以下にアクセスして、必要なパッケージをダウンロードし、dpkg -i で導入する。~ ~