Raspberry Pi でらじる

radikoは聴けるようになったので、NHKのらじるも聴けるようにする。
録音スクリプトはこれをベースに使用させていたただきました。
録音はできるのだが、ノイズがはげしくて音がとぎれとぎれになってしまう。
また、何回か試してみるとらじるにつながらないこともある。
同じスクリプトをUbuntuで動かすとこの問題は発生しないので、Raspberry側の問題らしい。

どうやって、解析すればいいのやら。
rtmpdump に

--verbose|-V            Verbose command output.
--debug|-z              Debug level command output.

のオプションがあるのでログを出してみたけど、読み解けないorz。

RaspBerry Pi で無線LAN その2

なんか無線LANがつながらなくなって復旧するまで。
いろいろ調べたけど結局は、
電源ケーブルが断線気味でhaltせずに電源が落ちたことでファイルが壊れた?。
実際何回かfsckしてるし。

で、

/etc/network/if-pre-up.d/wpasupplicant
/etc/network/if-up.d/wpasupplicant

がいなくなってた。
ので、シンボリックリンクを張って

pi@raspberrypi ~ $ sudo ln -s /etc/wpa_supplicant/ifupdown.sh /etc/network/if-pre-up.d/wpasupplicant
pi@raspberrypi ~ $ sudo ln -s /etc/wpa_supplicant/ifupdown.sh /etc/network/if-up.d/wpasupplicant
pi@raspberrypi ~ $ sudo ifup wlan0

でAPに再びつながるようになった。

...てか他にも壊れてんじゃない? ((((;゜Д゜)))

Raspberry Pi でNASをmount

別にRaspberry Pi特有のことではないけど。
無線LANが動かなくなっていろいろいじってたとき、/etc/fstab でmountしていたNASが起動時に見れなくなっていることに気づく。
起動後にmountすれば問題ないので、途中でしくっているらしい。
どうもLANにつながる前にmountしようとして失敗しているらしい。
google先生にお伺いをたてると bg オプションというのがあって、
失敗したらBackGroundでリトライしてくれるらしく、/etc/fstab はこんな感じに直すとうまくいった。

//192.168.0.10/hoge   /mnt/nas_hoge cifs    password=,bg,defaults   0       0

参考

Raspberry Pi でAudio

mplayer から USB Audio でmp3, m4a(AAC)を聴く。

USB Audio はたまご型のこれ。

Olasonic USBパワードスピーカー (ブリリアントホワイト) TW-S5W

Olasonic USBパワードスピーカー (ブリリアントホワイト) TW-S5W


USBポートに挿すだけで認識される。
ちなみに挿してから電源投入しないとOSが落ちました。多分、電力が一瞬足りなくなるから?電源ケーブルが断線気味だったorz。sudo shutdown -r now で再起動しないのを「電源まわり安定してないなぁ」とか心の中で言ってすいません。)

pi@raspberrypi:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 2019:ed17 PLANEX GW-USValue-EZ 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 005: ID 08bb:2704 Texas Instruments Japan
mplayer hoge.mp3

...鳴らない。イヤホンやHDMIでは聴けているので、オーディオデバイスの優先度or指定が必要そう。なので、

/etc/modprobe.d/alsa-base.conf

を修正して

...
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
...

から

...
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=0
...

にしてUSB Audioの優先度をあげてみた。

pi@raspberrypi:~$ cat /proc/asound/modules
 0 snd_usb_audio
 1 snd_bcm2835

が、改善せず。
そもそも '-2' の方が優先度高いのか?
ちょっと調べて出力デバイスを直接指定することにした。

まずm4a(AAC)。

mplayer -ao alsa hoge.m4a

音は鳴るけど、途切れる。未解決。

次にmp3。

mplayer -ao alsa hoge.mp3

...鳴らない。

pi@raspberrypi ~ $ sudo apt-get install libmpg123-0
pi@raspberrypi ~ $ echo "afm=mp3lib" >> ~/.mplayer/config

で解決。こちらは音も途切れず良好。
ついでに

pi@raspberrypi ~ $ echo "ao=alsa" >> ~/.mplayer/config

で出力デバイスを指定することにした。

Raspberry Pi でRadiko その2

shell ではスクリプト経由でradikoが聞けるようになったので、cgi からそのスクリプトを実行してWebリモコンみたいなことをしようと思ったらまたはまった。

apache実行ユーザー(というか、audioデバイスを使うユーザー)が、audioとvideoグループに属していないとmplayerが動いてくれないらしい。半日無駄にしたorz。

 

以下を参考にさせていただきました。

http://d.hatena.ne.jp/sat0yu/20130113/1358035820

http://blog.onsw.net/yuta/?p=69

 

Raspberry Pi で無線LAN

GW-USValue-EZ をUSBにさして無線LAN化しようとしたらまたはまった。

 

http://www.odin.hyork.net/write/write0633.html

をみてると、2012-09-18-wheezy-raspbian 以降のバイナリはGW-USValue-EZを自動認識してくれるらしい。

で、確かに自動認識してくれたので、あとは 'WiFi Config'(wpa_gui) で

アクセスポイントの設定をして終わり。

のはずが、起動すると以下のメッセージが出てwlan0を見つけてくれない。

Could not get status from wpa_supplicant'

 

調べると、/usr/sbin/wpa_gui の権限がいまいちらしい。

http://www.linuxquestions.org/questions/slackware-14/wpa_gui-could-not-get-status-from-wpa_supplicant-850609/

をみて

# chmod 4755 /usr/sbin/wpa_gui

 でsetuidをつけてあげて再実行してあげると後は問題なくいった。

Raspberry Pi でRadiko

RaspBerry Pi をRadikoPodcastサーバにする

http://linux.matchy.net/archives/152
https://gist.github.com/3956266
を参考に下記をインストール

sudo apt-get install rtmpdump
sudo apt-get install swftools
sudo apt-get install libxml2-utils
sudo apt-get install ffmpeg
wget https://gist.github.com/raw/3956266/0dc83895770e26a7c37104d896a150c8bb1dffbb/rec_radiko.sh
chmod +x rec_radiko.sh

1か所だけはまったのは、rec_radiko.sh で

./rec_radiko.sh: 126: ./rec_radiko.sh: Syntax error: "(" unexpected

のエラーがでた。sh じゃエラーになるので bash にしないといけないみたい。
ついでにNASにつなぐために

sudo mkdir /mnt/nas
sudo mount -t cifs //192.168.0.10/disk /mnt/nas

も実行。無事に録音できることを確認。

./rec_radiko.sh TBS 1 .

再生は、rec_radiko.sh の最後を以下のように変更すればおk。

rtmpdump -v \
-r ${url_parts[0]} \
--app ${url_parts[1]} \
--playpath ${url_parts[2]} \
-W $playerurl \
-C S:"" -C S:"" -C S:"" -C S:$authtoken \
--live \
--stop ${DURATION} \
| mplayer -

あとは

  • Webサーバの立ち上げ
  • Podcastサーバの立ち上げ
  • Webから放送局切り替え
  • リモコン機能追加(やっとRaspBerry Piらしくなるね)