Raspberry Pi 2 Model B と IchigoJam プリント基板完成版を購入。

図 1) Raspberry Pi 2 Model B

またまたブログを書いてから日にちが経ってしまいましたが、Raspberry Pi 2 Model B を購入しました。

直接、RSオンライン

Raspberry Pi | 半導体・電子部品の通販 RSオンライン
http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi&cm_mmc=JP-PPC-0914-_-google-_-4_EEM_RaspberryPi_3Mar2012-_-Raspberry+Keywords+Japanese_Raspberry+Pi_B&gclid=CjwKEAiAx4anBRDz6JLYjMDxoQYSJAA4loRmuv3JQWQDDpQyPTg0zX_dp2l6k75e7QfmFGewA4dTARoC3tLw_wcB

から

Raspberry Pi 2 Model B
RS品番 832-6274
¥4,800
開発ボード 用ケース, Raspberry Pi 2 B, Raspberry Pi B+用ケース, ABS樹脂, クリア
RS品番 819-3658
¥980
【通常配送】1~5営業日でお届け。納期は注文書画面又は受注のお知らせでご確認ください。
送料
¥450
商品の合計 (税抜)
¥5,780
消費税 (商品 + 配送料)
¥498
合計
¥6,728

を購入しました。Radiko の録音が主な目的です。電源の規格は 5V、2A ですが、ウェブで調べて限り、iPhone 用電源 5.1V、2.1A を利用しても問題ないようです。

今回、SD カードの容量を大きめにしたかったので

【Amazon.co.jp限定】Transcend microSDXCカード 64GB Class10 UHS-I対応 (無期限保証) TS64GUSDU1E (FFP)
¥ 3,880

microSDXCカード 64GB を購入してみました。

Raspberry Pi の本家サイトには書かれていませんが、問題なく利用できます。

ただし、ExFAT でフォーマットされた SD カードでは NOOBS インストーラが起動しません。

そこで、OS X の ‘ディスクユーティリティ’ で SDカードを選択し、FAT32 形式の2パーティションでフォーマットします。
その後、最初のパーティションに NOOBS をコピーすれば、問題なくインストールできます。

以前、書いたブログ

Raspberry Pi の入手方法と基本設定 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2014/04/20/182455
簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh 公開。 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2014/05/04/184748
Radiko 録音スクリプト rec_radiko2.sh を同時録音に対応。Raspberry Pi に Samba をインストールして iPhoneMac で Raspberry Pi にアクセス。 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2014/07/30/194316

を参考にしてください。

RASPBIAN X WindowGUI が変わってしまいましたが、左上隅のメニュー/Preferences/WiFi Configuration で WiFi の設定ができます。設定方法は以前と変わらないので、上のブログを参考にしてください。

Benchmarking Raspberry Pi 2 | Raspberry Pi
https://www.raspberrypi.org/benchmarking-raspberry-pi-2/

上記 URL より Raspberry Pi 2 の処理速度が Raspberry Pi より6倍速くなっているようです。
個人的意見ですが Raspberry Pi では Radiko を録音した時間と同じくらい MP3 エンコードに時間かかっていたものが Raspberry Pi 2 では半分で終わります。この差は大きいです。

以前は SD カードが 16GB だったのですが、64GB になり、録音したファイルを数週間残しておけます。上のブログの cron 設定を少し変更し、 delete.py を毎日起動するようにしています。古くなったものは勝手に削除されるので、全く容量を気にする必要がありません。

後、IchigoJam プリント基板完成版

こどもパソコン IchigoJam - はじめてのプログラミングパソコン(1500円)
http://ichigojam.net/

を購入しました。Mac OS X 上でのファームウェアアップデート、Parallels Desktop 10 の Windows 8 上で BUFFALO PC-SDVD/U2G を使って PC 出力し、IchigoJamSerialConsole を使って MacBook Pro のキーボードで入力しています。実行画面を下図に載せておきます。次回にでもいろいろ紹介したいと思います。

図 2) OS XParallels Desktop 10 の Windows 8 上で BUFFALO PC-SDVD/U2G PC出力、OS X 上での IchigoJamSerialConsole 実行画面

BUFFALO モニターモード搭載 USB用ビデオキャプチャー PC-SDVD/U2G

BUFFALO モニターモード搭載 USB用ビデオキャプチャー PC-SDVD/U2G

Radiko 録音スクリプト rec_radiko2.sh を同時録音に対応。Raspberry Pi に Samba をインストールして iPhone と Mac で Raspberry Pi にアクセス。

iTunes Podcast
Apple Special Event, WWDC 14
Apple Keynotes
iOS App
2014 Session Video
WWDC
WWDC - Apple

以前、ブログを書いてから随分日にちが経ってしまいましたが、上記の 2014 WWDC 基調講演、セッションビデオを見ました。一番の話題はプログラミング言語 Swift だと思います。

The Swift Programming Language
The Swift Programming Language - Apple Inc.
Using Swift with Cocoa and Objective-C
Using Swift with Cocoa and Objective-C - Apple Inc.

上記 URL のブックを iPad で読み終えました。個人的な感想は次回にでも書きたいと思います。 iPhoneiPadスクリーンショットからステータスバーを取り除く処理を毎回画像編集ソフトで行うのも面倒なので、Swift で作ってみました。いずれ公開してみたいですね。

Radiko.jp プレミアムは、1つのID/パスワードで、同時にログイン可能な機器が3つまでです。私が公開している rec_radiko2.sh スクリプトは、同時録音に対応していません。不便なので、修正してみました。

ただし、rec_radiko2.sh ファイル 8 行目

cookiefile="/tmp/pre_cookie.txt"

cookiefile="/tmp/pre_cookie_${pid}_${date}.txt"

に変更しただけです。これで問題無いと思うのですが!あまり自信はありません。これで同じ時間帯に3つまで rec_radiko2.sh が実行できるように crontab で設定できます。

追記: 2019/04/01(Mon) 19:17:08

Flash 版の RTMP を利用した拙作 rec_radiko2.sh ではなく、HLS配信データを保存する rec_radiko_live.sh を使用してください。詳しい解説、ダウンロードリンク先は下記 URL を参照してください。

rec_radiko_live.sh
https://github.com/kyoshiaki/yplayer/blob/master/tools/README.md

同時録音できるように修正した rec_radiko2.sh は、下記 URL

同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_1.zip
タイムフリーの仕様変更に対応した
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_2.zip

で公開します。iPhoneradiko.jp アプリでログインしていると同時にログインしている機器に数えられるので注意してください。忘れずにログアウトしてください。


図 1

iPhoneradiko.jp アプリのログアウトは、放送局を選択した後、上図のように画面下にある ‘設定’ タブをタップし、


図 2

上図のように ‘ログアウト’ を選択してください。

よくある問題なのですが iPhoneradiko.jp アプリでラジオ音声の再生に失敗することがあります。ログアウトしてからログインし直すとラジオ音声の再生に成功します。それでもだめなら、ログアウトしてから Home ボタンを 2 回素早く押し、radiko.jp アプリを上部にスワイプして完全に終了させます。できればすべてのアプリを終了させてください。それから iPhone の電源を長押しして iPhone の電源を切ります。電源ボタンを押して iPhone を再起動し、radiko.jp アプリをタップして起動させ、ログインしてください。これでラジオ音声の再生に成功するはずです。

前回予告した Raspberry Pi に Samba をインストールして

簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh 公開。 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2014/05/04/184748
タイムフリーの仕様変更に対応した
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_2.zip

で録音した Radiko 音声を iPhoneiPod touchiPad で再生する方法を紹介したいと思います。

Setting up a SAMBA Server on Raspberry Pi | TheUrbanPenguin
http://theurbanpenguin.com/wp/?p=2415

上記 URL を参考に Samba をインストールしました。簡単に説明したいと思います。

まず、最初に ssh を使って Mac のターミナルから Raspberry Pi にログインします。

Raspberry Pi の入手方法と基本設定 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2014/04/20/182455

ssh の設定、基本的な使い方は上記 URL を参考にしてください。

~ $ ssh pi@192.168.xx.xx
pi@192.168.1.14's password:
pi@raspberrypi ~ $ 

コマンド apt-get を使って Samba をインストールするのに必要なパッケージをインストールします。次に /data ディレクトリを指定したアクセス権限で作成し、smb.conf のバックアップを作成します。(sudo コマンドはスーパーユーザー (root) の特権レベルでコマンドを実行します。)

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install samba samba-common-bin
pi@raspberrypi ~ $ sudo mkdir -m 1777 /data
pi@raspberrypi ~ $ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.$(date +%F)
/etc/samba/smb.conf/$(date +%F) ではなく
/etc/samba/smb.conf.$(date +%F) なので注意してください。
(samba.conf の後にドットが入ります。)

sudo bash で root ユーザーで bash を起動します。

pi@raspberrypi ~ $ sudo bash
root@raspberrypi:/home/pi#

先ほど保存した smb.conf.2014-xx-xx ファイルを ls コマンドで確認します。

root@raspberrypi:/home/pi# cd /etc/samba
root@raspberrypi:/etc/samba# ls
dhcp.conf  gdbcommands	smb.conf  smb.conf.2014-xx-xx
root@raspberrypi:/etc/samba#

smb.conf.2014-xx-xx ファイルを参考に grep コマンドで smb.conf ファイルを作成します。
(ファイル名 smb.conf.2014-xx-xx の 2014-xx-xx の部分は、ls コマンドで表示されたものに置き換えてください。)

root@raspberrypi:/etc/samba# grep -ve ^# -ve '^;' -ve ^$ smb.conf.2014-xx-xx > smb.conf
root@raspberrypi:/etc/samba# ls
dhcp.conf  gdbcommands	smb.conf  smb.conf.2014-xx-xx
root@raspberrypi:/etc/samba# 

エディタ nano を使って

root@raspberrypi:/etc/samba# nano smb.conf

ファイル smb.conf の最後に

[data]
comment = Data share
path = /data
browseable = yes
read only = no

を追加します。CTRL+O でファイル名が表示されるので Return キー押して保存し、CTRL+X で nano を終了します。

シェル bash を終了して Samba を再起動します。

root@raspberrypi:/etc/samba# exit
exit
pi@raspberrypi ~ $ sudo service samba restart
[ ok ] Stopping Samba daemons: nmbd smbd.
[ ok ] Starting Samba daemons: nmbd smbd.
pi@raspberrypi ~ $ 

コマンド smbpasswd を使って root、pi のパスワードを設定してください。通常、パスワードは raspberry で良いと思います。(root、pi のパスワードは、あらかじめ設定されている raspberry ではないものに変更したほうが危険性は少ないです。)

pi@raspberrypi ~ $ sudo smbpasswd -a root
pi@raspberrypi ~ $ sudo smbpasswd -a pi

exit コマンドで ssh を終了してください。

pi@raspberrypi ~ $ exit
logout
Connection to 192.168.xx.xx closed.
~ $ 

これで Samba の設定は終わりです。

iPhoneiPod touchiPadRaspberry Pi にアクセスするには

GoodReader 4
カテゴリ: 仕事効率化
¥700
GoodReader 4 - Good.iWare Ltd.
Documents 5
カテゴリ: 仕事効率化
無料
Documents 5 – 高速 PDF リーダー、メディアプレーヤー、ダウンロードマネージャ - Readdle
FileExplorer Free
カテゴリ: ユーティリティ
無料
FileExplorer Free - Steven Zhang
FileExplorer
カテゴリ: ユーティリティ
¥500
FileExplorer - Steven Zhang

などを使います。FileExplorer Free 版の制限は

1つのコンピュータにしかアクセスできません。
リモートコンピュータのファイルを管理できません。
AVI, MKV, XVID などの動画を再生できません。
DropboxGoogle Drive、Box、SkyDrive、WebDAV は利用できません。

です。有料版 FileExplorer ¥500 を購入すると制限は解除されます。ファイルをダウンロードせずストリーミング再生できるので便利です。ただし Raspberry PiRadiko 録音した音声を MP3 形式に変換中、書き出したファイルにアクセスしてストリーミング再生すると、書き出しを中断してしまいます。注意してください。

無料版を選択するなら Document 5 一択だと思います。(日本語ローカライズされています。)

個人的には、有料ですが GoodReader 4 を推薦します。GoodReader は、色々なバージョンがありますが、2014/07/22(Tue) 現在 GoodReader 4 が最新版だと思います。残念なのは日本語に対応していません。

ここでは

GoodReader 4
カテゴリ: 仕事効率化
¥700
GoodReader 4 - Good.iWare Ltd.

を使って Raspberry Pi にアクセスする方法を紹介したいと思います。他のアプリでもファイルサーバー名を Windows か SMB にするかの違いだけでほとんど同じだと思います。

GoodReader 4 を起動します。(iPhoneiPod touchiPad でもほとんど同じです。ここでは、iPhone を基準にします。)


図 3

上図のように、最初に iPhone 内にある My Documents フォルダの中身が表示されます。ここでは、あらかじめ用意された Downloads フォルダと私が作った radio フォルダが表示されています。フォルダを作成するには、右上上部の アイコンをタップします。


図 4

上図のようにコマンド一覧が表示されます。ファイル名左横の◯を選択して、ファイルを削除したり、上図赤枠の New Folder ボタンをタップすると新規のフォルダが作成できます。下部の黒いエリアを左へスワイプすると次のページを開くことができます。右へスワイプすると戻ります。ファイル管理を終了するには、右上上部の アイコンをもう一度タップします。


図 5

図 3) の Connect ボタンをタップすると上図のようにサーバーにアクセスする画面が開きます。画面下の Servers ボタンをタップしてください。


図 6

上図の Add ボタンをタップすると接続するサーバー選択画面が下図のように開きます。


図 7

スクロールして上図のように SMB Server をタップしてください。


図 8

上図のように入力画面が開きます。

Readable Title: 名前
Network address: IP アドレス
User: ユーザー名
Password: パスワード
(パスワードは Samba を Raspberry Pi にインストールした時に使ったコマンド
pi@raspberrypi ~ $ sudo smbpasswd -a pi
で設定したパスワードです。)

上記内容を入力してください。上図も参考になるはずです。


図 9

これで、上図のように先ほど指定した Raspberry Pi のサーバー名が表示されます。Raspberry Pi の文字列をタップしてください。


図 10

iPhoneRaspberry Pi の Samba サーバーにアクセスし、中身が上図のように表示されます。上図 pi フォルダの中身を表示したいので、名前 pi の右横 をタップしてください。(注意、フォルダの移動は、フォルダ名ではなく をタップしてください。フォルダの名前をタップするとフォルダが選択されてしまいます。もう一度タップすると選択は解除されます。)


図 11

上図のように pi フォルダの中身が表示されます。


図 12

ダウンロードしたい MP3 ファイルがあるフォルダまで移動し、上図のようにMP3 ファイル名をタップして選択してください。


図 13

ここでは、TBS_2014-07-22-13-00.mp3 ファイルを選択しています。上図、右下赤枠部分の Download ボタンをタップしてファイルをダウンロードします。


図 14

すると保存先を尋ねてくるので iPhone の My Documents フォルダが開きます。(以前のフォルダの位置を覚えているので、必ず、My Documents フォルダが開くわけではありません。左上のフォルダ名をタップすると親フォルダに移動できます。)


図 15

保存先のフォルダに > アイコンをタップして移動します。上部中央に表示されている名前が保存先フォルダです。ここでは tama という名前のフォルダです。上図、右下赤枠部分の Download file here ボタンをタップして、このフォルダをダウンロード先として指定します。ダウンロードが始まります。


図 16

Raspberry Pi の中身を表示している画面に変わります。右上赤枠部分 Close をタップして閉じてください。Raspberry Pi の Samba サーバーへのアクセスを終了します。(ダウンロードは続いています。)


図 17

左下、Downloads ボタンをタップするとダウンロード中のファイル名が表示されます。


図 18

ダウンロードが終了したら、上図、左下赤枠部分の << をタップして、iPhone の My Documents フォルダを開いてください。


図 19

iPhone の My Document 内の tama フォルダに移動し、先ほどダウンロードした TBS_2014-07-22-13-00.mp3 ファイル名をタップしてください。


図 20

上図のように再生が始まります。30 秒ごとの早送り、巻き戻しボタンもあります。上図、左上赤枠部分 << をタップすると iPhone の My Documents フォルダ内を表示する起動画面に戻ることができます。右下タブに Player タブが追加されています。再生中の曲にアクセスしたい時に利用します。

Mac から Raspberry Pi にアクセするには、Finder を使います。


図 21

上図のように Finder のメニュー/移動/サーバへ接続… を選択すると下図のようなウインドウが開きます。


図 22

サーバアドレスに、先頭に smb:// を付けて Raspberry Pi の IP アドレスを入力します。Raspberry Pi の IP アドレスが 192.168.1.4 なら smb://192.168.1.4 になります。サーバアドレスを入力したら、右下の接続ボタンをクリックしてください。


図 23

上図のようにログイン画面が開くので

ユーザーの種類: 登録ユーザー
名前: pi
パスワード: raspberry
(パスワードは Samba を Raspberry Pi にインストールした時に使ったコマンド
pi@raspberrypi ~ $ sudo smbpasswd -a pi
で設定したパスワードです。)

上図のように上記内容を入力し、右下の接続ボタンをクリックしてください。


図 24

ボリューム選択画面が開くので pi を選択し、OK ボタンをクリックします。


図 25

上図のように Raspberry Pi の /home/pi フォルダを Finder で表示します。


図 26

/home/pi/radio/tama フォルダに移動すると Radiko プレミアムで録音した TBS ラジオ ‘たまむすび’ の録音ファイルが上図のように表示されます。


図 27

マウスカーソルを TBS_2014-07-22-13_00.mp3 ファイルのアイコンに重ねると、上図のように再生ボタンがあらわれます。再生ボタンをクリックすると MP3 ファイルのストリーミング再生が始まります。ダウンロードする必要はありません。


図 28

再生ボタンが上図のように停止ボタンに変わります。Raspberry Pi の接続を切るには、上図左下、共有の Rapberry Pi の IP アドレス横のイジェクトボタンをクリックしてください。

簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh 公開。

簡易radiko録音ツール。要swftools
https://gist.github.com/saiten/875864
簡易Radiko録音スクリプト
https://gist.github.com/matchy2/3956266

上記 URL を参考に radiko.jp プレミアム対応の簡易 Radiko 録音スクリプト rec_radiko2.sh を作成してみました。引数として放送局のステーション id、録音時間、メールアドレス、パスワードなどを渡すと mp3 形式ファイルを作成します。(スクリプトを実行すると録音が始まります。)

追記: 2019/04/01(Mon) 19:17:08

Flash 版の RTMP を利用した拙作 rec_radiko2.sh ではなく、HLS配信データを保存する rec_radiko_live.sh を使用してください。詳しい解説、ダウンロードリンク先は下記 URL を参照してください。

rec_radiko_live.sh
https://github.com/kyoshiaki/yplayer/blob/master/tools/README.md

下記 URL で公開します。

簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2.zip
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_1.zip
タイムフリーの仕様変更に対応した
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_2.zip

同時録音版の詳しい詳細は、下記 URL

Radiko 録音スクリプト rec_radiko2.sh を同時録音に対応。Raspberry Pi に Samba を
インストールして iPhoneMacRaspberry Pi にアクセス。
http://kyoshiaki.hatenablog.com/entries/2014/07/30

を参照してください。

簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh では、Login チェックと Logout 処理も追加してみました。Raspberry Pi の sh (dash) は、シェル関数に対応していません。それで bash で動作するように指定しています。Logout 処理がプログラム的に正しいのかあまり自信がありません。本来は、GitHub でフォークして公開すべきなのですが、GitHub を利用したことがないのでブログで公開しています。GitHub で公開するほどのプログラムもないし、git の使い方も精通していないのが現状です。

また、rec_radiko2.sh の 105 行目から 118 行目のコメント# をは外すと

jq
http://stedolan.github.io/jq/

jq を使用してエリアーフリー、有料会員のチェックを行なうことができます。最初は無効になっています。

Raspberry PiUbuntu 13.10、OS X Mavericks で動作確認をしています。

1) OS X Mavericks の場合

OS X 10.9 MavericksRadiko 録音する方法。 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2014/02/23/183535

基本的に上記 URL の rec_radiko.sh を rec_radiko2.sh に置き換えて読んでください。
上記 URL で説明し忘れましたが、

Homebrew — MacPortsは酒でも飲みたくなるでしょ?じゃあHomebrewを使おう!
http://brew.sh/index_ja.html

Homebrew をインストールする前に App Store を使って Xcode をダウンロードし、ターミナル上で

~$ xcode-select --install
~$ sudo xcodebuild -license

上記コマンドを使い、コマンドラインツールをインストールする必要があります。一度 Xcode を起動すると sudo xcodebuild -license は必要ないかもしれません。

jq
http://stedolan.github.io/jq/

コマンド jq のインストールは、ターミナル上で

~ $ brew install jq

を実行してください。

rec_radiko2.sh の引数については、最後に書いてある Raspberry Pi の説明を参考にしてください。

2) Ubuntu 13.10 の場合

簡易 radiko.jp プレミアム版録音スクリプト rec_radiko2.sh を実行できるように必要なプログラムをインストールする必要があります。

Terminal 上で

$ sudo apt-get update
$ sudo apt-get install rtmpdump swftools libxml2-utils ffmpeg libavcodec-extra-53 

上記 コマンドを実行してインストールしてください。

その後、

簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2.zip
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_1.zip
タイムフリーの仕様変更に対応した
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_2.zip

上記 URL から rec_radiko2.sh をダウンロードし、

OS X 10.9 MavericksRadiko 録音する方法。 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2014/02/23/183535

上記 URL の crontab -e 設定を参考にしてください。

Rhythmbox で MP3 形式ファイルを再生できるように

$ sudo apt-get install ubuntu-restricted-extras

を実行してください。また、python がインストールされていない場合は

$ sudo apt-get install python

上記コマンドでインストールしてください。

rec_radiko2.sh の引数については、次に書いてある Raspberry Pi の説明を参考にしてください。

3) Raspberry Pi の場合

Raspberry Pi を設定するには、Mac のターミナルから ssh を使う必要があります。ssh の設定、基本的な使い方は

Raspberry Pi の入手方法と基本設定 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2014/04/20/182455

上記 URL を参考にしてください。

上記 URLで説明してある通り Raspberry Pi の IP アドレスを確認する必要があります。 Raspberry PiHDMI ケーブルでテレビに接続し、USB端子にキーボード、マウスを繋ぎ、SDカードを挿入します。また LAN ケーブルか USB 無線 LAN アダプタを接続してください。最後に電源を入れます。

Usename: pi
パスワード: raspberry

でログインし、コマンド ifconfig -a を実行します。

$ ifconfig -a
wlan0     Link encap:Ethernet  HWaddr **:**:**:**:**:**
inet addr:192.168.xx.xx  Bcast:192.168.xx.255  Mask:255.255.255.0

USB 無線 LAN アダプタの場合、wlan0 の inet addr:192.168.xx.xx が目的の IP アドレス 192.168.xx.xx です。
LAN ケーブルの場合、en0 の inet addr:192.168.xx.xx が目的の IP アドレス 192.168.xx.xx です。

まず、簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh を実行できるように必要なプログラムをインストールする必要があります。Mac のターミナルで ssh を使って、Raspberry Pi にログインし

~ $ ssh pi@192.168.xx.xx
pi@192.168.xx.xx's password:
pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get install rtmpdump swftools libxml2-utils ffmpeg

上記コマンドを使ってインストールしてください。

pi@raspberrypi ~ $ exit
logout
Connection to 192.168.1.14 closed.
~ $ 

一度、コマンド exit で Raspberry Pi をログアウトします。

次に、

簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2.zip
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_1.zip
タイムフリーの仕様変更に対応した
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_2.zip

Mac で上記 URL から rec_radiko2.zip をダウンロードします。Finder 上でダブルクリックして展開します。展開されて作成されたフォルダ rec_radiko2 をデスクトップに移動します。

Mac のターミナルで、次のコマンド

~ $ cd Desktop/rec_radiko2/
~/Desktop/rec_radiko2 $ scp rec_radiko2.sh pi@192.168.xx.xx:/home/pi
~/Desktop/rec_radiko2 $ scp delete.py pi@192.168.xx.xx:/home/pi
~/Desktop/rec_radiko2 $ 

scp を使って rec_radiko2.sh、delete.py ファイルを Raspberry Pi の /home/pi ディレクトリにコピーします。

rec_radiko2.sh の引数は

rec_radiko2.sh <channel_name_id> <minutes> <mail address> <password> [outputdir] [prefix]

です。

引数の詳細は

channel_name_id: 放送局の station id
minutes: 何分録音するか
mail address: radiko.jp プレミアムにログインするメールアドレス
password: radiko.jp プレミアムにログインするパスワード
outputdir: 出力するディレクトリ
[prefix]: 保存ファイル名の先頭文字。指定されない場合 channel_name_id
が使われます。
例)
pi@raspberrypi ~ $ ./rec_radiko2.sh TBS 1 mail password
TBS を 1分間録音してカレントディレクトリに名前の先頭が TBS のファイル
を MP3 形式で保存します。
pi@raspberrypi ~ $ ./rec_radiko2.sh TBS 120 mail pasword radio
TBSラジオを 120分録音してカレントディレクトリの radio ディレクトリに
名前の先頭が TBS のファイルを MP3 形式で保存します。

です。

放送局の station id は

簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2.zip
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_1.zip
タイムフリーの仕様変更に対応した
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_2.zip

に含まれる radiko_curl_area.sh を使ってダウンロードされる XML ファイルで確認できます。

まず、最初に Mac のターミナル上で

~/Desktop/rec_radiko2 $ ./radiko_curl_area.sh

を実行してください。

地域別の放送局情報 XML都道府県別に JP1.xml ~ JP47.xml という名前のファイルでダウンロードされます。

ISO 3166-2:JP - Wikipedia
https://ja.wikipedia.org/wiki/ISO_3166-2:JP

都道府県コードは上記 URL を参照してください。

放送局情報 XMLファイルの

JP13.xml: 東京
JP27.xml: 大阪

です。

===== JP13.xml =====
<?xml version="1.0" encoding="UTF-8" ?>
<stations area_id="JP13" area_name="TOKYO JAPAN">
<station>
<id>TBS</id>
<name>TBSラジオ</name>
.
.
.
</station>
<station>
<id>QRR</id>
<name>文化放送</name>
<ascii_name>JOQR  BUNKA HOSO</ascii_name>
.
.
.
</station>
</stations>

<stations area_id="JP13" area_name="TOKYO JAPAN">

area_name が都道府県です。この場合、東京都です。

<station>
</station>

で囲まれた部分が放送局です。

 <station>
<id>TBS</id>
<name>TBSラジオ</name>

で囲まれた部分が channel_name_id: 放送局の station id です。この場合、TBS です。

Mac のターミナル上で下記のように ssh を使って Raspberry Pi にログインし、

~ $ ssh pi@192.168.xx.xx
pi@192.168.xx.xx's password:
.
pi@raspberrypi ~ $ ./rec_radiko2.sh TBS 1 mail password
.
.
=== Logout: radiko.jp ===
Stream mapping:
Stream #0.0 -> #0.0
Press ctrl-c to stop encoding
size=     940kB time=60.12 bitrate= 128.0kbits/s
video:0kB audio:939kB global headers:0kB muxing overhead 0.015906%

スクリプト rec_radiko2.sh が正しく動作するか、rec_radiko2.sh TBS 1 mail password を実行してください。mail、password は、radiko.jp プレミアムにログインする時に使用するメールアドレスとパスワードです。TBS ラジオを1分間録音し MP3 形式ファイルに書き込んでいます。(長時間録音すると MP3 形式に変換するのに時間がかかるので注意してください。)

pi@raspberrypi ~ $ ls
delete.py  public_html          radio           run.sh
Desktop    python_games         rec_radiko2.sh  svnc.sh
pi.conf    radiko_wget_area.sh  rec_radiko.sh   TBS_2014-xx-xx-xx_xx.mp3
pi@raspberrypi ~ $ 

上記のように TBS_2014-xx-xx-xx_xx.mp3 が目的のファイルです。

システム環境設定を開いて ‘共有/リモートログイン’ にチェックを入れてください。上図の右中央部分の ‘リモードログイン: 入’ 文字列の下に

このコンピュータにリモートログインするには、
"ssh username@192.168.yy.yy" と入力してください。

と表示されているはずです。IP アドレス: 192.168.yy.yy、username を確認して下さい。

Raspberry Pi から Mac にコマンド scp を使って

pi@raspberrypi ~ $ scp TBS_2014-xx-xx-xx_xx.mp3 username@192.168.yy.yy:/Users/username

TBS_2014-xx-xx-xx_xx.mp3 ファイルを Macホームフォルダにコピーします。
上記 scp コマンドで IP アドレス 1箇所と username を2箇所間違いなく置き換えてください。

pi@raspberrypi ~ $ scp TBS_2014-xx-xx-xx_xx.mp3 username@192.168.yy.yy:/Users/username
The authenticity of host '192.168.yy.yy (192.168.yy.yy)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.yy.yy' (RSA) to the list of known hosts.
Password:
TBS_2014-xx-xx-xx_xx.mp3                      100%  940KB 939.5KB/s   00:01
pi@raspberrypi ~ $ 

ホストの認証が確立できないので続けて良いか尋ねられますが、yes とタイプし、 Mac にログインする時に使うパスワードを入力してください。これでコピーできるはずです。

ホームフォルダを Finder 上で開き、TBS_2014-xx-xx-xx_xx.mp3 ファイルにカーソルを合わせてしばらくすると再生ボタンが現れるのでクリックしてください。再生されるはずです。

OS X 10.9 MavericksRadiko 録音する方法。 - KOYAMA Yoshiaki のブログ
http://kyoshiaki.hatenablog.com/entry/2014/02/23/183535

上記 URL にも cron の説明があります。私は Raspberry Pi 上で radiko.jp プレミアムを cron を使ってタイマー録音しています。

いちいちコマンド scp を使ってコピーするのは面倒なので、Raspberry Pi に Samba をインストールして Mac の Finder から直接再生したり、iPhone (iPod touch) から

Documents 5 (Free)
カテゴリ: 仕事効率化
無料
Documents 5 – 高速 PDF リーダー、メディアプレーヤー、ダウンロードマネージャ - Readdle
GoodReader for iPhone
カテゴリ: 仕事効率化
¥500
GoodReader for iPhone - Good.iWare Ltd.
GoodReader 4 (GoodReader 最新版)
カテゴリ: 仕事効率化
¥300
GoodReader 4 - Good.iWare Ltd.

上記アプリを使って MP3 ファイルをダウンロードし、再生しています。有料ですが GoodReader for iPhone は30秒早送りもできるので便利です。Raspberry Pi に Samba をインストールする方法と Mac の Finder からアクセスする方法、上記アプリの使用方法は次回説明したいと思います。

Raspberry Pi での cron 設定は、まず Mac のターミナル上でコマンド ssh を実行し Raspberry Pi にログインします。

~ $ ssh pi@192.168.xx.xx
pi@192.168.xx.xx's password:
Linux raspberrypi 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l
pi@raspberrypi ~ $ crontab -e

上のように crontab -e を実行します。

#
# m h  dom mon dow   command
0 8 * * 0 /home/pi/delete.py -y -d /home/pi/radio 12
0 1 * * 0,5 /home/pi/rec_radiko2.sh LFR 120 mail password /home/pi/radio/night
0 1 * * 2 /home/pi/rec_radiko2.sh TBS 120 mail password /home/pi/radio/junk
0 13 * * 1-5 /home/pi/rec_radiko2.sh TBS 150 mail password /home/pi/radio/tama

エディタ nano が起動します。カーソルキーで一番下に移動し、上記内容を入力してください。画面下に表示されているように CTRL+O を入力するとファイル名が表示されるので Return Key を押して保存します。CTRL+X で終了してください。mail (3箇所)、password (3箇所) は、radiko.jp プレミアムにログインする時に使用するメールアドレスとパスワードです。

この場合、

日曜日、午前8時にスクリプト /home/pi/delete.py -y -d /home/pi/radio 12
を実行します。
ニッポン放送 (LFR) 日曜日と金曜日、午前1時から2時間、'オールナイトニッポン
(オードリー、ナインティナイン)' を録音します。
TBS ラジオ (TBS) 火曜日、午前1時から2時間、'月曜 JUNK 伊集院光 深夜の馬鹿力'
を録音します。
TBS ラジオ (TBS) 月曜日から金曜日まで、午後1時から2時間30分、'たまむすび'
を録音します。

です。

録音した MP3 ファイルを保存する radio ディレクト

pi@raspberrypi ~ $ mkdir radio

を作成し、radio ディレクトリ内に night、junk、tama ディレクトリをそれぞれ

pi@raspberrypi ~ $ cd radio
pi@raspberrypi ~/radio $ mkdir night
pi@raspberrypi ~/radio $ mkdir junk
pi@raspberrypi ~/radio $ mkdir tama
pi@raspberrypi ~/radio $ 

上記のように作成してください。

crontab の日付時刻設定は

#
# m h  dom mon dow   command
# 何分(0-59) 何時(0-23) 何日(1-31) 何月(1-12) 何曜日(0-6) コマンド
0 8 * * 0 /home/pi/delete.py -y -d /home/pi/radio 12
0 1 * * 0,5 /home/pi/rec_radiko2.sh LFR 120 mail password /home/pi/radio/night
0 1 * * 2 /home/pi/rec_radiko2.sh TBS 120 mail password /home/pi/radio/junk
0 13 * * 1-5 /home/pi/rec_radiko2.sh TBS 150 mail password /home/pi/radio/tama
数字は、時刻、日付、曜日を表し、
* は、毎月、毎日、毎時、毎分です。
曜日は
0: 日曜日
1: 月曜日
2: 火曜日
3: 水曜日
4: 木曜日
5: 金曜日
6: 土曜日

です。

0 1 * * 0,5 /home/pi/rec_radiko2.sh LFR 120 mail password /home/pi/radio/night

0,5 は、複数の曜日を指定しています。日曜日と金曜日を表しています。

0 13 * * 1-5 /home/pi/rec_radiko2.sh TBS 150 mail password /home/pi/radio/tama

1-5 は、複数の曜日を指定しています。月曜日から金曜日を表しています。

上の例は月曜日から金曜日の午後1時にコマンド

/home/pi/rec_radiko2.sh TBS 150 mail password /home/pi/radio/tama

を実行します

簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2.zip
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_1.zip
タイムフリーの仕様変更に対応した
同時録音に対応した簡易 radiko.jp プレミアム対応 Radiko 録音スクリプト rec_radiko2.sh
http://kyoshiaki.sakura.ne.jp/osx/Sample/rec_radiko2_2.zip

に含まれる delete.py は、次の

pi@raspberrypi ~ $ ./delete.py -d radio 12

コマンドをターミナル上で実行すると radio フォルダの中の日付が最新 12 個以外の削除されるファイルを表示します。

pi@raspberrypi ~ $ ./delete.py -y -d radio 12

上のように -y を引数と指定すると ( -y を指定する場合、十分注意してください。) radio フォルダ内の最新 12 個以外のファイルを削除します。radio フォルダの中にフォルダがある場合、そのフォルダ内も最新 12 個のファイル以外を削除します。

pi@raspberrypi ~ $ ./delete.py -a -d radio

radio フォルダのすべてのファイルを表示します。

0 8 * * 0 /home/pi/delete.py -y -d /home/pi/radio 12
0 1 * * 0,5 /home/pi/rec_radiko2.sh LFR 120 mail password /home/pi/radio/night
0 1 * * 2 /home/pi/rec_radiko2.sh TBS 120 mail password /home/pi/radio/junk
0 13 * * 1-5 /home/pi/rec_radiko2.sh TBS 150 mail password /home/pi/radio/tama

上のように crontab -e で設定すると毎週日曜日の午前8時に radio フォルダ内のファイルを最新 12 個以外削除します。最新 12 個のファイルだけ残るので、ディスク容量を気にする必要がありません。SD カードの容量に合わせて個数を設定してください。2 時間録音した MP3 形式ファイルのサイズは 109.8 MB です。

ディスク容量の確認は、コマンド df -h を使います。

pi@raspberrypi ~ $ df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           13G  9.1G  3.3G  74% /
/dev/root        13G  9.1G  3.3G  74% /
devtmpfs        180M     0  180M   0% /dev
tmpfs            38M  744K   37M   2% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            75M     0   75M   0% /run/shm
/dev/mmcblk0p5   60M   19M   41M  32% /boot

上の例は、私の16 GB SD カードの状態です。crontab -e の設定は、上記例とは違います。

ssh を終了するには

pi@raspberrypi ~ $ exit
logout
Connection to 192.168.xx.xx closed.

上記のように exit を実行してください。