「Raspberry Pi でラジオサーバを作ろう!」企画の説明書です。
イメージをmicroSDに書いてラズベリーパイを起動するだけ!
・Raspberry Pi 3 Model B
・Raspberry Pi Zero W
- 1.Rfriends2 for Raspberry Piについて
- 2.準備するもの
- 3.microSD にrfriend2を書き込む
- 4.無線LAN設定
- 5.Raspberrypiの起動とIPアドレスの確認
- 6.領域拡張
- 7.rfriends2ユーティリティ起動
- 8.samba,ftp
- 9.最後に
- 10.おまけ
(2021/03/01 Ver.1.2)
1.Rfriends2 for Raspberry Piについて
1)Rfriends2でできること
・キーワード指定により、ラジコ、らじるらじるのラジオ番組を24H自動/手動で録音する。
・ラジコのタイムフリーの番組を自動/手動で録音する。
・PC,スマホからアクセスして、録音データのコピー/再生をする。
2)Rfriends2 for Raspberry Piの特長
・イメージをmicroSDに書き込むだけで設定済みのrfriends2が使用可能。
・安価、低消費電力で24h稼働を実現。
・PCの再起動やスリープに悩まされることがありません。
3)動作確認機種
・Raspberry Pi 3 Model B
・Raspberry Pi Zero W
4)ダウンロード
リンク先より rfriends2_2.*.*.***.***.zipとwpa_supplicant.conf をダウンロードしてください。
5)ドキュメント
・詳細な操作方法は「rfriendsでラジオ録音」を参照ください。
http://rfriends.hatenablog.com/
・提供しているイメージは以下の設定を行っています。
2.準備するもの
0)Network環境
・WAN,LAN
当然ですが、常時外部ネットワークにつながる環境が必要です。ルータ、DHCP等、わかりやすく言えばスマホがWiFi接続できる環境
・PC
WindowsPCまたはLinuxPCが必要です。Macでも可能だと思います。Androidでもできないかと試してみましたが、microSDへの書き込みが無理でした。稼働後は大丈夫ですが。
1)Raspberry pi 一式
・Raspberry Pi 3 Model B または Raspberry Pi Zero W
・5.1V/2.5A ACアダプタ (Zeroの場合は2A)
注意:低アンペアのアダプタでも動作しますが不安定になる可能性があります。
・LANケーブル(有線接続の場合)
・microSDカード Class10 UHS-I(4GB以上、できれば16GB,32GB,64GB)
・microSDリーダ
必要に応じて
・Raspberry Pi ケース
・ヒートシンク
2)rfriends2 イメージ
rfriends2_2.*.*_rp_20******.img
wpa_supplicant.conf (wifi接続設定ファイル)
raspios(Raspios GNU/Linux 10 buster lite)上にrfriends2をインストールし設定を行ったものです。
3)Win32DiskImager
イメージを書き込むアプリです。
https://ja.osdn.net/projects/sfnet_win32diskimager/releases/
Win32DiskImager-1.0.0-binary.zip
WindowsPC環境では、sshはteraterm、smbはPCのエクスプローラ、ftpはfilezilla がおすすめ。LinuxPC環境では標準ツールが使えます。
Android環境では
sshはConnectBot(Kenny Root)、smbはファイルマネージャ+(flashlihgt+clock)、
ftpはFtpCafe(Droidware UK) がおすすめ
3.microSD にrfriend2を書き込む
ダウンロードしたrfriends2_***.zipを解凍して、rfriends2_***.imgを取り出してください。Win32DiskImagerを使ってmicroSDにrfriends2_***.imgを書き込んでください。
4.無線LAN設定
有線LAN接続の場合は、この設定は不要です。無線LAN接続の場合、イメージを書き込んだmicroSDをPCに接続してください。以下のようなアラーム画面が出ますがキャンセルしてください。フォーマットしてはいけません。ドライブ名は環境により異なります。
エクスプローラで確認すると、bootという領域(fat32フォーマット)が認識されているはずです。
wpa_supplicant.conf を作成(改行はLF)し、このboot領域にコピーすれば無線LANに接続できます。SSID、password は自分のWifi環境に書き換えてください。また、セキュリティが気になる方はパスワードを暗号化してください。(ローカルなのでそんなに気にしなくてもいいと思いますが)。ここにwpa_supplicant.conf のサンプルがあります。Download
ctrl_interface=/var/run/wpa_supplicant Group=netdev
update_config=1
country=JP
network={
ssid="SSID"
psk="password"
}
注意:一度起動すると、wpa_supplicant.conf は /etc/wpa_supplicantディレクトリに移動し、boot領域からは削除されます。設定を間違った場合などで再設定する場合は、wpa_supplicant.conf を再度、boot領域にコピーしてください。
(参考)パスワードの暗号化
# wpa_passphrase "SSID" "password"
5.Raspberrypiの起動とIPアドレスの確認
RaspberrypiにmicroSDを挿入し、Raspberrypiを起動してください。起動が完了する(3Bの場合、グリーンのLEDが点滅から点灯に変わる)まで、しばらくお待ちください。
次に、RaspberrypiはDHCPで動作していますので、IPアドレスを確認してください。IPアドレスの確認方法は、下記のようなIP scanner ソフトを使うと便利です。
Advanced IP Scanner
https://www.advanced-ip-scanner.com/jp/
android, iPhoneでは、”Fing”というアプリがお勧めです。
スキャン結果より、MACアドレスが、B8:27:EB:**:**:** のものを探してください。
FRIENDS2 192.168.1.*** Raspberry Pi Foundation B8:27:EB:**:**:**
こんな感じで見つかると思います。ここでは仮に、192.168.1.100とします。
teraterm を起動し、Host の欄に192.168.1.100 と入力しOKボタンを押し、pi/raspberry でRaspberryPiにログインできます。
次に外部ネットワークにつながっているか確認してください。teraterm上で、ping yahoo.co.jp と入力して下さい。こんな感じのリターンが帰ってくればOKです。
64 bytes from f1.top.vip.ssk.yahoo.co.jp (182.22.59.229): icmp_seq=1 ttl=49 time=11.0 ms
6.領域拡張
提供イメージは領域が縮小されているため、microSD全体を使用するように領域を拡張する必要があります。
teraterm等でRaspberrypiにアクセスしてください。ホストのIPアドレスは環境により異なります。「Raspberrypiの起動とIPアドレスの確認」で確認したIPアドレスを指定してください。
ホスト:192.168.1.100
ユーザ名:pi
パスフレーズ:raspberry
起動したteraterm上で以下のコマンドを入力してください。再起動が必要です。
$ sudo raspi-config --expand-rootfs
$ sudo reboot
再起動後は領域拡張を行うのでmicroSDのサイズによっては時間がかかります。
注意:この操作をしないと大容量のmicroSDを使用していても4GB弱しか認識されません。
再起動後、領域が拡張されたことを確認してください。
$ df
7.rfriends2ユーティリティ起動
teraterm上で以下のコマンドを入力するとrfriends2のユーティリティが使用できます。
$ cd ~/rfriends2
$ sh rfriends2.sh
初期状態では何も予約されていないので、[1-4]デイリー処理(手動)で、0を選択してください。サンプルで設定したキーワードをもとに本日のラジコ、らじるらじるの番組を予約し、昨日のタイムフリー番組をダウンロードします。実行には時間がかかります。
キーワードによるラジオ番組の録音は自動で行われます。このアプリは常時実行しておく必要はありません。 なお、キーワード予約及びタイムフリーの自動ダウンロードは毎朝5時10分に設定しています。詳細な使用方法はrfriends2のサイトのマニュアルを参照ください。
8.samba,ftp
1)samba
PCのエクスプローラから、\\192.168.1.100 でアクセス(smb)することにより録音データにアクセスできます。ほかのアプリを使う場合は、はanonymousでアクセスしてください。
2)ftp
ftp で192.168.1.100 にアクセスすることによりRaspberry Piに接続できます。
接続すると、以下のような状態になります。
あとは、録音データをD&DすればPC側に転送することができます。
9.最後に
以上で説明は終わりです。
おそらく初心者の方にはわかりにくいと思いますが、ネットで勉強しながら頑張ってみるのも楽しいものです。挑戦した方はtwitterで一言コメントを頂ければ幸いです。
当方ではRaspberry Pi 3 Model B/Zeroで1年以上運用しており、問題は生じておりません。ただし、24h稼働になるので、設置場所は火災等にお気を付けください。
microSDへのアクセスを極力減らすため
・録音はRAMディスク上で行い、番組終了後microSDにコピーしています。
・ログ等を極力取らない、あるいはRAMディスク上に取るようにしています。
それでも、microSDの寿命は突然やって来ます。録音データはこまめにバックアップすることをお勧めします。自動でファイルサーバ等にムーブする処理を追加するといいかもしれません。
なお、本イメージを使ったことによる一切の責任は当方にはありません。うまく動かないからRaspberry Piの代金をよこせといったクレームはご遠慮ください。
10.おまけ
・Rfriends2 for Raspberry Pi イメージの作り方
イメージ作成は以下の手順で行いました。当方で稼働しているラジオサーバは32GBのmicroSDで運用しています。これをそのままイメージ化すると大きくなりすぎます。
そこで、
1)データ整理
録音データを他に退避後、消去しました。
2)領域縮小
gparted で領域を約3GBに縮小しました。
3)使用領域調査
$ sudo fdisk -l /dev/sdb により使用している領域を把握
4)イメージのバックアップ
$ sudo dd if=/dev/sdb of=***/rfriends2.img count=****** bs=512 でイメージのバックアップを取りました。
5)完成
これにより、4GBのmicroSDでも使用できるイメージ(約 3.1GB)が作成できました。
6)アップロード
できたイメージをrarに圧縮(約 1.6GB)し
GoogleDriveにアップロードしました。
GoogleDriveはサイズ制限が少ないので。
・Raspberry Pi Zero Wの温度
・アイドル時
使用電流 : 約40mA
CPU温度 : 40.1'C
・タイムフリー一括ダウンロード時
使用電流 : 約140mA
CPU温度 : 48.7'C
CPU温度は以下のコマンドで取得できます。
$ vcgencmd measure_temp
temp=48.7'C
--------------------------------------------------------------------
#rfriends
#raspberry pi
#raspbian
#radiko
#ラジコ
#らじるらじる
#NHK
#タイムフリー
#ラジオ
#録音
#英会話
#深夜放送