Raspberry Pi 2をリモコン操作してNHKラジオを聴く

2017-03-29 21:41 | 技術 | § 1

用意するもの

  • Raspberry Pi 2 Model B
  • 赤外線リモコン

動作確認環境

  • Raspbian GNU/Linux 8.0 Lite (Jessie)
  • RTMPDump 2.4 ※今回導入します
  • MPlayer 2.0 ※今回導入します

NHKラジオを再生可能にする

まずはRaspberry PiでNHKネットラジオらじる☆らじるを再生できるようにします。
こちらの記事を参考にしました。

RTMPDumpとMPlayerのパッケージをインストールします。

sudo aptitude install rtmpdump mplayer

次に、シェルスクリプトを作成します。

vi nhk_stream.sh

nhk_stream.shの中身は以下です。こちらのスクリプトを参考にしました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
 
if [ $# -eq 1 ]; then
  channel=$1
  case $1 in
    r1) playpath='NetRadio_R1_flash@63346' ;;
    r2) playpath='NetRadio_R2_flash@63342' ;;
    fm) playpath='NetRadio_FM_flash@63343' ;;
    *) exit 1 ;;
  esac
else
  echo "usage : $0 channel_name"
  echo "         channel_name list"
  echo "           NHK Radio #1: r1"
  echo "           NHK Radio #2: r2"
  echo "           NHK-FM: fm"
  exit 1
fi
 
playerurl="http://www3.nhk.or.jp/netradio/files/swf/rtmpe.swf"
rtmpurl="rtmpe://netradio-${channel}-flash.nhk.jp/live/${playpath}"
buffer=1000
 
rtmpdump  \
         --rtmp "${rtmpurl}" \
         --swfVfy ${playerurl} \
         --live \
         --buffer ${buffer} \
         --flv - \
         | mplayer - &

非公開APIなので突然使えなくなる可能性があります。

作成したら実行権限を付けます。

chmod +x nhk_stream.sh

ここで、2つめのターミナルを立ち上げます。

はじめに開いていたターミナルで以下のコマンドを実行します。
R1(ラジオ第一)が再生されます。

./nhk_stream.sh r1

バッファリングするので音声が聞こえるまでに数秒かかります。
うまく音声が聞こえたら二番目に開いたターミナルで以下のコマンドを実行します。

pkill -f rtmpdump

これで再生は停止します。停止するまでに数秒かかります。
うまく確認できたら二番目のターミナルは終了してください。

赤外線リモコンを受信可能にする

先日のこちらの記事を参照してください。

リモコンに設定を割り当てる

リモコン設定を編集します。

sudo vi /etc/lirc/lircrc

以下では仮にボタンA/Bとしていますが、こちらの記事を見てお手元のリモコン設定を元に設定してください。
pkillコマンドを使用しているため、NHK再生だろうが何だろうがrtmpdumpのプロセスはすべて終了するようになっています。別のプロセスで既に使っている場合は気を付けてください。

begin
  prog = irexec
  button = buttonA
  config = /home/pi/nhk_stream.sh r1
end
begin
  prog = irexec
  button = buttonB
  config = pkill -f rtmpdump
end

編集終了したら有効にするため再起動します。

sudo reboot


再起動が完了したら、割り当てたリモコンのボタンを押しててみます。
再生開始・終了がうまく機能できたら成功です。おつかれさまでした。

リモコンを押してからタイムラグが結構あるので、思わず二度押ししないよう処理の最初に効果音を鳴らすなどして工夫すると良いと思います。

関連

Raspberry Pi 2からBluetoothでスピーカーに音を飛ばす
Raspberry Pi 2でNFCタグを読み取って音を鳴らす
Raspberry Pi 2とnetatmoで室温を声でお知らせ
Raspberry Pi 2を赤外線リモコンで操作可能にする
Raspberry Pi 2で実現するスマートハウス

Pocket

人気の記事

§ 1件のコメント

  • aretha より:

    CentOS6とfirefoxでらじるらじるを聞いていたのですが、
    firefox がバージョンアップされてから聞けなくなって
    困っていました。
    HPを参考にコマンドラインで聞けるようになりました。
    ありがとうございます

  • § コメントをどうぞ

  • このページについて

    yagitchの日本語練習帳です。本のレビューとか技術的なメモとか。詳細≫
  • 最近の記事

  • 過去の記事