RaspbmcにFMトランスミッターをつないでみる [Raspberry Pi]
普段,音楽を聴くときはRaspberry PiにインストールしたXBMC(Raspbmc)を使っていて,TVとはHDMIでつないでいる.
普段はそれでいいんだけど,うちではたまにベランダでご飯を食べるときがあって,そのときにも音楽が聞きたい.だけどTVからの音声をベランダで聞くのは難しい.
ということで,Raspbmcの音をFMトランスミッターで飛ばして,ベランダではFMラジオを通して音楽を聴くというのを試してみた.
で,まずはFMトランスミッター.
秋月のFMステレオ・トランスミッタキットを買ってみた.通販コード K-00086のやつで,NJM2035Dが載っている.1000円.秋月には4800円の新潟精密製FM送信モジュールNS73Mが載ったやつもあるのだが,とりあえず安い方を買ってみた.
組み立てはそんなに難しくない.説明書の通りに半田付けしていけばいい.小型コンデンサマイクが付属してくるけど,うちではまず使いそうもないので取り付けなかった.
3.5mmのステレオプラグと電源ON/OFF用のスイッチを取り付けて,無事完成.
こんな感じ.
アンテナには,先がBNCになってるケーブルをつないだ.そこからアンテナをつなごうと思ったんだけど,つないでもつながなくても電波の飛びがあまり変わらなかったので,BNCケーブルを引き出しただけで終わってる.
ま,そもそもRaspberry Piがある場所からベランダまで電波が飛べば十分なのと,使ってるFMラジオがソニーの手回しラジオICF-B03というやつなので,音質は気にしてない.聴ければいいというレベル.ちゃんと聴く人はアンテナとか気にした方がいいと思うけど,そもそもそういう人はこの1000円のじゃなくて4800円の方を買った方がいいかもしれない.
しかも,ネットで調べると,全然電波が飛ばないという人と,10mぐらい飛ぶって人といろいろ情報があるみたい.旧バージョンはよく飛んだけど今のはそれなりとかいう情報もあるし,よくわからない.
うちでは,確かに設置場所とかちょっとしたケーブルの取り回しで様子が変わったりしたので,かなりデリケートなのかもしれない.
で,Raspbmc側.
通常は,システム -> 設定 -> システム -> オーディオハードウェアでオーディオ出力デバイスをHDMIかAnalogueを選択するようになっているのだが,Raspbmcの設定画面で設定レベルを変更すると「Dual audio output」を選択できるようになる.なので,この「Dual audio output」を選択する.
が,しかし,これを選択してもHDMIとアナログの両方から出力はされない.
で,調べてみると,どうやら,Raspbmcではaudio playerとしてデフォルトはPAPlayerというのが使われているらしいのだが,これは「Dual audio output」に対応しておらず,OMXPlayerを使う必要があるらしい.
というわけでデフォルトのaudio playerをOMXPlayerに変更してみる.
変更するには,raspbmc上の/home/pi/.xbmc/userdata/下にadvancedsettings.xmlファイルを作ってやる.そしてadvancedsettings.xmlファイルに以下のように記述してやる.
これでOK.HDMIとアナログの両方から出力されるはずだ.
お試しあれ.
普段はそれでいいんだけど,うちではたまにベランダでご飯を食べるときがあって,そのときにも音楽が聞きたい.だけどTVからの音声をベランダで聞くのは難しい.
ということで,Raspbmcの音をFMトランスミッターで飛ばして,ベランダではFMラジオを通して音楽を聴くというのを試してみた.
で,まずはFMトランスミッター.
秋月のFMステレオ・トランスミッタキットを買ってみた.通販コード K-00086のやつで,NJM2035Dが載っている.1000円.秋月には4800円の新潟精密製FM送信モジュールNS73Mが載ったやつもあるのだが,とりあえず安い方を買ってみた.
組み立てはそんなに難しくない.説明書の通りに半田付けしていけばいい.小型コンデンサマイクが付属してくるけど,うちではまず使いそうもないので取り付けなかった.
3.5mmのステレオプラグと電源ON/OFF用のスイッチを取り付けて,無事完成.
こんな感じ.
アンテナには,先がBNCになってるケーブルをつないだ.そこからアンテナをつなごうと思ったんだけど,つないでもつながなくても電波の飛びがあまり変わらなかったので,BNCケーブルを引き出しただけで終わってる.
ま,そもそもRaspberry Piがある場所からベランダまで電波が飛べば十分なのと,使ってるFMラジオがソニーの手回しラジオICF-B03というやつなので,音質は気にしてない.聴ければいいというレベル.ちゃんと聴く人はアンテナとか気にした方がいいと思うけど,そもそもそういう人はこの1000円のじゃなくて4800円の方を買った方がいいかもしれない.
しかも,ネットで調べると,全然電波が飛ばないという人と,10mぐらい飛ぶって人といろいろ情報があるみたい.旧バージョンはよく飛んだけど今のはそれなりとかいう情報もあるし,よくわからない.
うちでは,確かに設置場所とかちょっとしたケーブルの取り回しで様子が変わったりしたので,かなりデリケートなのかもしれない.
で,Raspbmc側.
通常は,システム -> 設定 -> システム -> オーディオハードウェアでオーディオ出力デバイスをHDMIかAnalogueを選択するようになっているのだが,Raspbmcの設定画面で設定レベルを変更すると「Dual audio output」を選択できるようになる.なので,この「Dual audio output」を選択する.
が,しかし,これを選択してもHDMIとアナログの両方から出力はされない.
で,調べてみると,どうやら,Raspbmcではaudio playerとしてデフォルトはPAPlayerというのが使われているらしいのだが,これは「Dual audio output」に対応しておらず,OMXPlayerを使う必要があるらしい.
というわけでデフォルトのaudio playerをOMXPlayerに変更してみる.
変更するには,raspbmc上の/home/pi/.xbmc/userdata/下にadvancedsettings.xmlファイルを作ってやる.そしてadvancedsettings.xmlファイルに以下のように記述してやる.
<advancedsettings> <audio> <defaultplayer>omxplayer</defaultplayer> </audio> </advancedsettings>
これでOK.HDMIとアナログの両方から出力されるはずだ.
お試しあれ.
タグ:FMトランスミッター
RaspbianにXBMCをインストールしてみる [Raspberry Pi]
以前,Raspberry Piをメディアセンターにするために,Raspbmcという専用ディストリビューションをインストールしてみた.これでXBMCが使える.
XBMCを使うだけなら,これで全然問題ないんだけど,Raspberry PiをXBMC専用で使うのももったいないので,(といっても使い道がいま決まってる訳ではないんだけど・・・)RaspbianにXBMCをインストールしてみることにする.
というわけで,RaspbianにXBMCをインストールする方法だ.
ここによると,プレビルド済みのパッケージを使う方法と,ソースからビルドする方法があるようだ.
説明を読むと,ソースからビルドする場合は,「they will take over 12 hours to compile on the Pi.」って書かれてて,12時間以上かかるとある.というわけで迷うことなくプレビルド済みパッケージを使うことにする.
プレビルド済みパッケージを使ったインストール方法の詳細は,ここに記載がある.なので,ここに書かれている通りに作業を進めればいい.
具体的には,次のようになる.
まず,パッケージのダウンロード先を追加.
そしたら,公開鍵の登録.
あとはパッケージリストを入手して,
インストール.
では,起動してみる.CUI上から,
としてやると,起動するはずだ.
このままだと,XBMCを起動するのに毎回コマンド入力が必要になる.なので,boot時にXBMCが自動起動するように設定してみる.設定は簡単で,/etc/default/xbmcファイル内のENABLED=0をENABLED=1に変更してやればいい.これで電源投入時に自動的にXBMCが起動するようになる.
ま,これで事実上XBMC専用になるわけで,当初目的と矛盾するのだが・・・.
で,しばらくいろいろ試していると,動画がうまく再生できないことに気がついた.
Raspbmcでは普通に再生できた動画が,Raspbian + XBMCで再生できない.
これにはかなり悩んだが,答えは,「RaspbianにXBMCを導入したときの設定まとめ - @slaypniのまとめも」にあって,ビデオメモリの割当がデフォルトの64MBだとダメということらしい.というわけで,raspi-configからビデオメモリの割当を128に変更.これで動画が再生できるようになった.slaypniさんに感謝.
あと,Idle時のCPU負荷が高い件についても対策が書かれてる.確認してみると確かに何もしてないときでもCPU負荷が高い・・・.というわけで,
Settings - System - Video output - Vertical blank syncをAlways enabled
にしておく.
ちなみにRaspbmcではデフォルトでAlways enabledとなっているようだ.
これで完了.お試しあれ.
XBMCを使うだけなら,これで全然問題ないんだけど,Raspberry PiをXBMC専用で使うのももったいないので,(といっても使い道がいま決まってる訳ではないんだけど・・・)RaspbianにXBMCをインストールしてみることにする.
というわけで,RaspbianにXBMCをインストールする方法だ.
ここによると,プレビルド済みのパッケージを使う方法と,ソースからビルドする方法があるようだ.
説明を読むと,ソースからビルドする場合は,「they will take over 12 hours to compile on the Pi.」って書かれてて,12時間以上かかるとある.というわけで迷うことなくプレビルド済みパッケージを使うことにする.
プレビルド済みパッケージを使ったインストール方法の詳細は,ここに記載がある.なので,ここに書かれている通りに作業を進めればいい.
具体的には,次のようになる.
まず,パッケージのダウンロード先を追加.
で,以下を書き込む$ sudo vi /etc/apt/sources.list.d/mene.list
deb http://archive.mene.za.net/raspbian wheezy contrib
そしたら,公開鍵の登録.
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED
あとはパッケージリストを入手して,
$ sudo apt-get update
インストール.
$ sudo apt-get install xbmc
では,起動してみる.CUI上から,
$ xbmc-standalone/code>
としてやると,起動するはずだ.
このままだと,XBMCを起動するのに毎回コマンド入力が必要になる.なので,boot時にXBMCが自動起動するように設定してみる.設定は簡単で,/etc/default/xbmcファイル内のENABLED=0をENABLED=1に変更してやればいい.これで電源投入時に自動的にXBMCが起動するようになる.
ま,これで事実上XBMC専用になるわけで,当初目的と矛盾するのだが・・・.
で,しばらくいろいろ試していると,動画がうまく再生できないことに気がついた.
Raspbmcでは普通に再生できた動画が,Raspbian + XBMCで再生できない.
これにはかなり悩んだが,答えは,「RaspbianにXBMCを導入したときの設定まとめ - @slaypniのまとめも」にあって,ビデオメモリの割当がデフォルトの64MBだとダメということらしい.というわけで,raspi-configからビデオメモリの割当を128に変更.これで動画が再生できるようになった.slaypniさんに感謝.
あと,Idle時のCPU負荷が高い件についても対策が書かれてる.確認してみると確かに何もしてないときでもCPU負荷が高い・・・.というわけで,
Settings - System - Video output - Vertical blank syncをAlways enabled
にしておく.
ちなみにRaspbmcではデフォルトでAlways enabledとなっているようだ.
これで完了.お試しあれ.
Raspbianにhostnameでアクセスできるようにしてみる [Raspberry Pi]
前回,Raspbianをインストールした.
で,SSHを使えるように設定したのだが,SSHで接続するときに,IPアドレスを知る必要がある.たとえば,
で,毎回IPアドレスを調べるのは面倒だ.
というわけで,hostnameでアクセスできるようにしてみる.
調べてみると,Avahiというのをインストールするといいらしい.詳細はWikipediaが詳しい.なので説明は省くが,これをインストールすると,
これで,IPアドレスを調べる必要はなくなる.
では,Avahiのインストール方法だが,特に難しいことはなく,
Macから接続するならこれでOK.
Windowsの場合,Windows側にもAvahiをインストールする必要があるらしい.けど,もしiTunesがインストールされてればBonjourがインストールされてるので,これでOK.BonjourとAvahiの関係は,まぁ調べてくださいな.
ちなみに,Raspbmcではもともとインストールされているようだ.だから,
では,お試しあれ.
で,SSHを使えるように設定したのだが,SSHで接続するときに,IPアドレスを知る必要がある.たとえば,
のようにしないといけない.ssh pi@<ip-address>
で,毎回IPアドレスを調べるのは面倒だ.
というわけで,hostnameでアクセスできるようにしてみる.
調べてみると,Avahiというのをインストールするといいらしい.詳細はWikipediaが詳しい.なので説明は省くが,これをインストールすると,
で接続できるようになる.ssh pi@<hostname>.local
これで,IPアドレスを調べる必要はなくなる.
では,Avahiのインストール方法だが,特に難しいことはなく,
でよい.$ sudo apt-get update $ sudo apt-get install avahi-daemon
Macから接続するならこれでOK.
Windowsの場合,Windows側にもAvahiをインストールする必要があるらしい.けど,もしiTunesがインストールされてればBonjourがインストールされてるので,これでOK.BonjourとAvahiの関係は,まぁ調べてくださいな.
ちなみに,Raspbmcではもともとインストールされているようだ.だから,
でつながる.ssh pi@raspbmc.local
では,お試しあれ.
Raspbianをインストールしてみる [Raspberry Pi]
前回は,Raspbmcをインストールしたが,今回はRaspbianをインストールしてみる.
前回と同様,作業はMac上で行っている.
では,まずは適当なSDカードを用意しておく.
そしたら,ダウンロード.
ダウンロードサイトは,ここ.Raw ImagesのRaspbian “wheezy”をDirect downloadしてやる.
ダウンロードはちょっと時間がかかる.
SDカードへの書き込みは前回と同じでOK.SDカードのデバイス名が/dev/disk1なら,
で,書き込めたら,
でOK.
あとはSDカードをRaspberry Piにセットして電源ONすれば立ち上がる.
初回起動時には,Raspi-configというのが立ち上がってくる.ここで諸々の初期設定をしてやる.設定の詳細は解説本「Raspberry Piで遊ぼう!」に詳しく書かれてるし,ネット上で検索すればいろいろ出てくるので分かると思う.ただ,書籍の説明ではraspbianが2013-02-09版だが最新(そして上記でインストールしたバージョン)は2013-05-25版なのでメニュー構成が変わってる.まぁおおよそ推測しながら調べてみれば分かると思うが,一応対応関係が書籍の著者のブログに掲載されているので,これを参考にするといいかもしれない.
で,設定が完了すれば,これで本当にあっけなく起動する.簡単.
お試しあれ.
前回と同様,作業はMac上で行っている.
では,まずは適当なSDカードを用意しておく.
そしたら,ダウンロード.
ダウンロードサイトは,ここ.Raw ImagesのRaspbian “wheezy”をDirect downloadしてやる.
ダウンロードはちょっと時間がかかる.
SDカードへの書き込みは前回と同じでOK.SDカードのデバイス名が/dev/disk1なら,
$ diskutil unmountDisk /dev/disk1 Unmount of all volumes on disk1 was successful $ sudo dd bs=1m if=2013-05-25-wheezy-raspbian.img of=/dev/rdisk1
で,書き込めたら,
$ diskutil eject /dev/rdisk1 Disk /dev/rdisk1 ejected
でOK.
あとはSDカードをRaspberry Piにセットして電源ONすれば立ち上がる.
初回起動時には,Raspi-configというのが立ち上がってくる.ここで諸々の初期設定をしてやる.設定の詳細は解説本「Raspberry Piで遊ぼう!」に詳しく書かれてるし,ネット上で検索すればいろいろ出てくるので分かると思う.ただ,書籍の説明ではraspbianが2013-02-09版だが最新(そして上記でインストールしたバージョン)は2013-05-25版なのでメニュー構成が変わってる.まぁおおよそ推測しながら調べてみれば分かると思うが,一応対応関係が書籍の著者のブログに掲載されているので,これを参考にするといいかもしれない.
で,設定が完了すれば,これで本当にあっけなく起動する.簡単.
お試しあれ.
Raspberry Piをメディアセンターにしてみる [Raspberry Pi]
前回,Raspberry Piを購入した.今回は,これをメディアセンターにしてみる.
で,ちょっと検索すれば分かると思うけど,Raspberry Piでメディアセンターと言えばXBMCだ.Raspberry Piには,Raspbmcという専用ディストリビューションがあるので,これをインストールしてみる.
インストールはとても簡単だ.なお,以下の作業はMac上で行っている.
では,まずは適当なSDカードを用意しておく.
そしたら,XBMCのダウンロードサイトからStandalone Imageをダウンロードしてくる.ダウンロードしたファイルは展開しておく.うちでは,展開されたらsd.imgとなった.
そしたら,あとはMac上のターミナルで,SDカードのデバイス名を調べる.
うちの場合は/dev/disk1がSDカードだった.
そしたら,アンマウントして,そのあとddコマンドでダウンロードしたイメージを書き込んでやる.こいつはちょっと時間がかかる.
終わったら,Ejectして完了.
これでMac上の作業は終了.そしたらSDカードをRaspberry Piにセットして電源ONしてやる.そうするとあとは自動的にXBMCが立ち上がってくる.細かい設定についての話は省くが,まぁそんなに難しい設定は無いはずだ.
ちなみにうちではHDMIケーブルでTVと接続してる.で,TVのリモコンでXBMCの操作ができる.便利だ.
さて,XBMCをインストールした本来の目的は,AirPlayを使ってみることだ.AirPlayってのはiTunesとかiPhoneとかiPodなんかから音楽や動画をTVにストリーミング再生できるって機能だ.AirPlayを有効にするには,XBMCの「システム」メニューの「サーバー」にAirPlayという項目があるので,それで「XBMC の AirPlay コンテンツ受信を許可する」をチェックしてやる.
これで,iTunesからAirPlayで音楽をストリーミング再生できるはずだ・・・.
はずだ・・・ったのだが,実際はうまくいかない.
こんなエラーが出てしまう.
「AirPlay デバイス"XBMC (raspbmc)"への接続中にエラーが起きました。不明なエラーが発生しました (-15000) 。」
なぜだ???
いろいろ試してみたところ,Windows XP上のiTunesからは問題なく再生できる.だけどMacからはうまくいかない.
で,調べてみると,IPv6が怪しいという情報を見つけた.詳細は,「RaspbmcのAirPlayでハマったでござる - もぐてっく」が分かりやすい.
どうやら,raspbmcとしてはIPv6対応だがXBMCがIPv4しか受け入れてくれなくて,で,結果としてMacからはつながらない(iTunesがエラーになる)ようだ.
で,解決策なんだけど,raspbmcのIPv6を無効にしてやる.
作業内容は以下の通り.
まずはSSHでMacからログイン.
そしたらIPv6を無効にするためにipv6.confに「net.ipv6.conf.all.disable_ipv6 = 1」を書き込んでやる.
書いたら保存して,で,再起動.
これでMacからもエラー無くつながるようになる.やったー.
お試しあれ.
で,ちょっと検索すれば分かると思うけど,Raspberry Piでメディアセンターと言えばXBMCだ.Raspberry Piには,Raspbmcという専用ディストリビューションがあるので,これをインストールしてみる.
インストールはとても簡単だ.なお,以下の作業はMac上で行っている.
では,まずは適当なSDカードを用意しておく.
そしたら,XBMCのダウンロードサイトからStandalone Imageをダウンロードしてくる.ダウンロードしたファイルは展開しておく.うちでは,展開されたらsd.imgとなった.
そしたら,あとはMac上のターミナルで,SDカードのデバイス名を調べる.
$ diskutil list
うちの場合は/dev/disk1がSDカードだった.
そしたら,アンマウントして,そのあとddコマンドでダウンロードしたイメージを書き込んでやる.こいつはちょっと時間がかかる.
$ diskutil unmountDisk /dev/disk1 Unmount of all volumes on disk1 was successful $ sudo dd bs=1m if=sd.img of=/dev/rdisk1
終わったら,Ejectして完了.
$ diskutil eject /dev/rdisk1
これでMac上の作業は終了.そしたらSDカードをRaspberry Piにセットして電源ONしてやる.そうするとあとは自動的にXBMCが立ち上がってくる.細かい設定についての話は省くが,まぁそんなに難しい設定は無いはずだ.
ちなみにうちではHDMIケーブルでTVと接続してる.で,TVのリモコンでXBMCの操作ができる.便利だ.
さて,XBMCをインストールした本来の目的は,AirPlayを使ってみることだ.AirPlayってのはiTunesとかiPhoneとかiPodなんかから音楽や動画をTVにストリーミング再生できるって機能だ.AirPlayを有効にするには,XBMCの「システム」メニューの「サーバー」にAirPlayという項目があるので,それで「XBMC の AirPlay コンテンツ受信を許可する」をチェックしてやる.
これで,iTunesからAirPlayで音楽をストリーミング再生できるはずだ・・・.
はずだ・・・ったのだが,実際はうまくいかない.
こんなエラーが出てしまう.
「AirPlay デバイス"XBMC (raspbmc)"への接続中にエラーが起きました。不明なエラーが発生しました (-15000) 。」
なぜだ???
いろいろ試してみたところ,Windows XP上のiTunesからは問題なく再生できる.だけどMacからはうまくいかない.
で,調べてみると,IPv6が怪しいという情報を見つけた.詳細は,「RaspbmcのAirPlayでハマったでござる - もぐてっく」が分かりやすい.
どうやら,raspbmcとしてはIPv6対応だがXBMCがIPv4しか受け入れてくれなくて,で,結果としてMacからはつながらない(iTunesがエラーになる)ようだ.
で,解決策なんだけど,raspbmcのIPv6を無効にしてやる.
作業内容は以下の通り.
まずはSSHでMacからログイン.
パスワードは,デフォルトなら「raspberry」だ.$ ssh pi@raspbmc.local
そしたらIPv6を無効にするためにipv6.confに「net.ipv6.conf.all.disable_ipv6 = 1」を書き込んでやる.
$ sudo vi /etc/sysctl.d/ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
書いたら保存して,で,再起動.
これでMacからもエラー無くつながるようになる.やったー.
お試しあれ.
Raspberry Piを買ってみる [Raspberry Pi]
以前から,Raspberry Piには興味があったんだけど,BeagleBoard-xMもあるしなぁと思って,手を出してなかった.
だけど,たまたまネットで,解説本とのセットを見かけて,つい買ってしまった.
買ったのは,これ.
残念ながら今はもう売り切れちゃったみたいだけど,解説本「Raspberry Piで遊ぼう!」と,Raspberry Pi (model B)本体にケースが付いて,6,800円+送料だった.
追記(2013.06.19)
===ここから===>
当初,数量限定だったのが,再販&通常販売するようになったとのことです.気になる人はリンク先をチェックしてみてくださいな.
<===ここまで===
あと,同様のセット販売だと,日経Linux「Raspberry Pi」特別セット販売ってのもあったみたいだけど,こっちももう完売らしい.
さて,BeagleBoard-xMは結局今は冬眠中で全然活用できていないんだけど,Raspberry Piはどうなることやら...
とりあえず本を読みながら,いろいろ試してみよう.
だけど,たまたまネットで,解説本とのセットを見かけて,つい買ってしまった.
買ったのは,これ.
残念ながら今はもう売り切れちゃったみたいだけど,解説本「Raspberry Piで遊ぼう!」と,Raspberry Pi (model B)本体にケースが付いて,6,800円+送料だった.
追記(2013.06.19)
===ここから===>
当初,数量限定だったのが,再販&通常販売するようになったとのことです.気になる人はリンク先をチェックしてみてくださいな.
<===ここまで===
あと,同様のセット販売だと,日経Linux「Raspberry Pi」特別セット販売ってのもあったみたいだけど,こっちももう完売らしい.
さて,BeagleBoard-xMは結局今は冬眠中で全然活用できていないんだけど,Raspberry Piはどうなることやら...
とりあえず本を読みながら,いろいろ試してみよう.
タグ:Raspberry Pi