Raspberry Pi

2021/03/01 Ver.1.2
2023/10/01 friends3追加,修正

以下は初心者向けに書いていますが、要約すると以下のとおり。

・rfriends3のシステムイメージをダウンロードする。 GoogleDrive 
・イメージをmicroSDに書く。
・RaspberryPiにmicroSDをセットし起動したら、IPアドレスを確認する。
・sshでRaspberryPiにアクセスし、microSDの領域拡張をし、再起動する。

rfriends2の場合、
・sshでアクセスし、rfriends2を起動する。
・microSDの領域拡張をし、再起動する。

rfriends3の場合、
・rfriends3_serverが自動で起動しているので、任意ブラウザでアクセスする。
・管理-メンテナンス-ラズパイ専用-領域拡張で、microSDの領域拡張を行う。

1.rfriendsについて

1.rfriends2/3でできること

  • キーワード指定により、ラジコ、らじるらじるのラジオ番組を24H自動/手動で録音する。
  • ラジコのタイムフリーの番組を自動/手動で録音する。
  • PC,スマホからアクセスして、録音データのコピー/再生をする。

rfriends 2と3の違いは以下のとおり。

  • rfriends2はCUIベースでSSHでキーボードを使って操作ができる。
  • rfriends2はWEBベースでマウスを使って操作ができる。

2.rfriends2/3 for Raspberry Piの特長

  • イメージをmicroSDに書き込むだけで、設定済みのrfriends2/3が使用可能。
  • 安価、低消費電力で24h稼働を実現。
  • PCの再起動やスリープに悩まされることがありません。

3.動作確認機種

  • Raspberry Pi 3 Model B
  • Raspberry Pi Zero W/Zero 2W

2.準備するもの

1.Network環境

1)WAN,LAN

当然ですが、常時外部ネットワークにつながる環境が必要です。ルータ、DHCP等、わかりやすく言えばスマホがWiFi接続できる環境

2)PC

WindowsPCまたはLinuxPCが必要です。Macでも可能だと思います。Androidでもできないかと試してみましたが、microSDへの書き込みが無理でした。稼働後は大丈夫ですが。以下は主にwindowsPCでの操作を記述しています。 

2.Raspberry pi 一式

  • Raspberry Pi 3 Model B または Raspberry Pi Zero W/Zero 2W
  • 5V/2.5A ACアダプタ (Zeroの場合は2A)
    注意:低アンペアのアダプタでも動作しますが不安定になる可能性があります。
  • LANケーブル(有線接続の場合)
  • microSDカード Class10 UHS-I(8GB以上、できれば32GB,64GB,128GB)
  • microSDリーダ

必要に応じて

  • Raspberry Pi ケース
  • ヒートシンク

3.SDカード用ツール

1)SDメモリーカードフォーマッター

SDメモリカードをフォーマットします。

https://www.sdcard.org/ja/downloads-2/formatter-2/

2)Win32DiskImager

イメージをSDメモリカードに書き込みます。

https://ja.osdn.net/projects/sfnet_win32diskimager/releases/

4.ssh,smb,ftpクライアント

  • WindowsPC環境では、sshはteraterm、smbはPCのエクスプローラ、ftpはfilezilla がおすすめ。
  • LinuxPC環境では標準ツールが使えます。
  • Android環境では、sshはConnectBot(Kenny Root)、smbはファイルマネージャ+(flashlihgt+clock)、ftpはFtpCafe(Droidware UK) がおすすめ。
  • 他の環境の方は、ssh,smb,ftpで検索してください。

3.microSD にrfriend2/3を書き込む

1.rfriends2/3 イメージのダウンロード

イメージはraspios(Raspios GNU/Linux 11 bullseye lite)上にrfriends2/3をインストールし各種設定を行ったものです。

以下より2つのファイルをダウンロードしてください。

  • rfriends2_*.*.*_raspios_bullseye_202****.zip または rfriends3_*.*.*_raspios_bullseye_202****.zip
  • wpa_supplicant.conf (wifi接続設定ファイル)

Download

2.イメージの解凍

ダウンロードしたrfriends*_*.*.*_raspios_bullseye_202****.zipを解凍(unzip)して、rfriends*_*.*.*_raspios_bullseye202****.imgを取り出してください。

3.microSD にrfriend2イメージを書き込む

1)microSDカードのフォーマット

SDメモリカードカードフォーマッターを使ってmicroSDのフォーマットを行ってください。
信頼性のある有名メーカのカードでしたらクイックフォーマットで十分ですが、SDカードのチェックを行いたい場合は上書きフォーマットを行ってください。ただし、非常に時間がかかります。

microSDカードのフォーマットを行わない場合、イメージの書き込みが正常にできない可能性があります。CHSフォーマットサイズ調整をチェックしてフォーマットをお勧めします。

 

2)イメージの書き込み

Win32DiskImagerを使ってmicroSDにrfriends*_*.*.*_raspios_bullseye_202****.imgを書き込んでください。

4.LAN設定

1.有線LAN接続の場合

この設定は不要です。

2.無線LAN接続の場合

イメージを書き込んだmicroSDをPCに接続してください。以下のようなアラーム画面が出ますがキャンセルしてください。フォーマットしてはいけません。ドライブ名は環境により異なります。

エクスプローラで確認すると、bootという領域(fat32フォーマット)が認識されているはずです。

wpa_supplicant.conf を作成(改行はLF)し、このboot領域にコピーすれば無線LANに接続できます。SSID、password は自分のWifi環境に書き換えてください。また、セキュリティが気になる方はパスワードを暗号化してください。(ローカルなのでそんなに気にしなくてもいいと思いますが)。

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.Raspberry Piの起動とIPアドレスの確認

Raspberry PiにmicroSDを挿入し、Raspberry Piを起動してください。起動が完了する(3Bの場合、グリーンのLEDが点滅から点灯に変わる)まで、しばらくお待ちください。

次に、RaspberrypiはDHCPで動作していますので、IPアドレスを確認してください。IPアドレスの確認方法は、下記のようなIP scanner ソフトを使うと便利です。android, iPhoneでは、”Fing(無料版)”というアプリがお勧めです。

Advanced IP Scanner

Advanced IP Scanner - ダウンロード無料のネットワークスキャナー
Advanced IP Scannerはすべてのネットワークデバイスを表示し、共有フォルダへのアクセスを提供します。また、リモートからコンピューターの電源を切ることができます。ダウンロードは無料です。

スキャン結果より、RFRIENDS2/3 のものを探してください。(ラズベリーアイコンが表示されているもの)

 FRIENDS2 192.168.1.*** Raspberry Pi Foundation B8:27:EB:**:**:**

こんな感じで見つかると思います。ここでは仮に、192.168.1.100とします。

このイメージでは、sshアクセスを有効設定しています。teraterm を起動し、Host の欄に192.168.1.100 と入力しOKボタンを押し、rpi/rfriends で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

注)RaspberryPiは従来、ユーザ/パスワードは pi/raspberry でしたが現在は固定されていません。rfriendsでは、rpi/rfriendsに設定しています。

Windows10 1803以降なら、SSHが標準で使用できます。

コマンドプロンプトで、ssh rpi@192.168.1.100 と入力

(もし、IPアドレスが不明の場合、ssh rpi@rfriends3.local と入力してみてください。)

初回のみ聞かれるので、yesと入力
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

パスワードは、rfriends と入力
rpi@192.168.1.100’s password:rfriends

これでログインできます。

6.領域拡張

提供イメージは領域が縮小されているため、microSD全体を使用するように領域を拡張する必要があります。

teraterm等でRaspberrypiにアクセスしてください。ホストのIPアドレスは環境により異なります。「Raspberrypiの起動とIPアドレスの確認」で確認したIPアドレスを指定してください。

ホスト:192.168.1.100
ユーザ名:rpi
パスフレーズ:rfriends

起動したteraterm上で以下のコマンドを入力してください。再起動が必要です。

$ sudo raspi-config --expand-rootfs
$ sudo reboot

再起動後は領域拡張を行うのでmicroSDのサイズによっては時間がかかります。緑のランプが点滅から点灯になるのを待ってください。

注意:この操作をしないと大容量のmicroSDを使用していても4GB弱しか認識されません。rfriends3の場合、メニューより管理-メンテナンス-ラズパイ専用-領域拡張で、microSDの領域拡張を行えます。

再起動後、領域が拡張されたことを確認してください。

$ df -h

7.rfriends2/3起動

teraterm等でsshアクセスし、以下のコマンドを入力するとrfriends2/3が使用できます。

rfriends2の場合
$ cd ~/rfriends2
$ sh rfriends2.sh

rfriends3の場合
$ cd ~/
$ sh xserver.sh
XXX.XXX.XXX.XXX:8000
と表示されるので、ブラウザで、このアドレスにアクセスする。

注)2023/07/23以降のイメージでは自動でサーバが立ち上がるので、この操作は不要です。直接ブラウザでアクセスしてください。

なお、rfriends3でもrfriends2と同様に、teraterm等でsshアクセスし、以下のコマンドを入力するとcuiモードでrfriends3が使用できます。

$ cd ~/rfriends3
$ sh rfriends3.sh

初期状態では何も予約されていないので、[1-4]デイリー処理(手動)を選択してください。サンプルで設定したキーワードをもとに本日のラジコ、らじるらじるの番組を予約し、昨日のタイムフリー番組をダウンロードします。実行には時間がかかります。

キーワードによるラジオ番組の録音は自動で行われます。このアプリは常時実行しておく必要はありません。

なお、キーワード予約及びタイムフリーの自動ダウンロードは毎朝5時10分に設定しています。詳細な使用方法はマニュアルを参照ください。

8.samba,ftp

1.samba

PCのエクスプローラから、\\192.168.1.100 でアクセス(smb)することにより録音データにアクセスできます。ほかのアプリを使う場合は、anonymousでアクセスしてください。

2.ftp/sftp

ftp/sftp で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.おまけ

1.Rfriends2/3 for Raspberry Pi イメージの作り方

イメージ作成は以下の手順で行いました。当方で稼働しているラジオサーバは32GBのmicroSDで運用しています。これをそのままイメージ化すると大きくなりすぎます。
そこで、

1)データ整理
録音データを他に退避後、消去しました。
2)領域縮小
gparted で領域を約3GBに縮小しました。
3)使用領域調査
$ sudo fdisk -l /dev/sdb により使用している領域を把握
4)イメージのバックアップ
$ sudo dd if=/dev/sdb of=***/rfriends*.img count=****** bs=512 でイメージのバックアップを取りました。
5)完成
これにより、4GBのmicroSDでも使用できるイメージ(約 3.1GB)が作成できました。
6)アップロード
できたイメージをzipに圧縮(約 1.6GB)し
GoogleDriveにアップロードしました。

GoogleDriveはサイズ制限が少ないので。

2.Raspberry Pi Zero Wの温度

・アイドル時
使用電流 : 約40mA
CPU温度 : 40.1’C

・タイムフリー一括ダウンロード時
使用電流 : 約140mA
CPU温度 : 48.7’C

CPU温度は以下のコマンドで取得できます。
$ vcgencmd measure_temp
temp=48.7’C

rfriendsをフォローする
rfriendsでラジオ録音