rfriendsでラジオ録音

ラジコ、らじるらじる、タイムフリーのラジオ番組を録音

セットアップ Raspberry Pi

 このドキュメントはいちから自力でセットアップする人向けのものです。今は、セットアップ済イメージを配布していますので、それを使用したほうがはやくて確実です。

 

目次

 

初出:2017/10/05

更新:2019/09/17 stretch -> buster

 

1.Raspbian をインストール (SSH接続)

 インストールのやり方は、検索すれば山ほどヒットするので、ここではやる項目だけ。

 

・OSイメージのダウンロード

Download Raspbian for Raspberry Pi

 現在のバージョンは Raspbian Stretch Buster Liteでした。

・OSイメージをmicroSDに書き込み

Win32 Disk Imager download | SourceForge.net

Win32 Disk Imager を使用しました。

SSHを有効にする

microSD のbootパーティションに ”ssh” という名前のファイルを作成。

 

2.Raspbian を起動

Raspberry Pi

microSDをセット

・LANケーブルを接続

・電源アダプタを接続

すると、OSが起動します。

 

3.SSH接続

IPアドレスを調べる

DHCPサーバの払い出し状況からMACアドレスの先頭がb8:27:ebのものを探しました。

・PCよりteraterm を使用してSSH接続

ttermpro.exe IPアドレス /auth=password /user=pi /passwd=raspberry

 

amazonから荷物が届いてから、SSHでのアクセス成功まで1時間くらいです。素晴らしい。

 

4.各種設定

各種設定を行う。

$ sudo raspi-config

・パスワード(Change Password)

・ホスト名(N1 Hostname)

  ・ロケール(I1 Change Locale ja_JP,UTF-8,UTF-8

タイムゾーン(I2 Change Timezone Asia/Tokyo)

・キーボードの種類 (I3 Keyboard Layout)  sshでは設定不可

WIFIの国設定(I4 Wi-fi Country JP Japan)

 

その他、お好みで。

 

5.アップデートsudo apt-get dist-upgrade

ソフトウエアを最新にする。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

 

6.NTPの設定

NTPが有効になっているかどうかを確認します。

 $ timedatectl status

NTP service が active になっていれば有効、そうでない場合は

 $ sudo timedatectl set-ntp true

で有効にします。

 

次にNTPサーバの設定をします。

 $ sudo vi /etc/systemd/timesyncd.conf

 

[Time]
NTP=ntp.jst.mfeed.ad.jp ntp.nict.jp
FallbackNTP=time.google.com

 

NTPサーバを再起動します。

 $ sudo systemctl restart systemd-timesyncd

 

7.swapの無効化

swapが有効になっているかどうかを確認します。
 $ free
swapを無効化。
 $ sudo swapoff --all
 再起動すると復活するので、swapが自動起動しないようにパッケージを削除。
 $ sudo apt-get remove dphys-swapfile

 再度

 $ free
 swapの無効化を確認。
 

7.不用デーモンの無効化

sysv-rc-confをインストール
 $ sudo apt-get install sysv-rc-conf
使用しないデーモンの停止

 $ sudo sysv-rc-conf dbus off
 $ sudo sysv-rc-conf triggerhappy off
 $ sudo sysv-rc-conf alsa-utils off
 $ sudo sysv-rc-conf lightdm off
 $ sudo sysv-rc-conf motd off
 $ sudo sysv-rc-conf plymouth off

 

8.一時フォルダのRAMディスク化

microSD へのアクセスを減らすために、一時フォルダをRAMディスクに割り当てる。

 $ sudo vi /etc/fstab

[最後に追加]
# /tmpをRAMディスクにマウント
tmpfs /tmp tmpfs defaults,size=64m,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,size=16m,noatime,mode=1777 0 0
# /var/log をRAMディスクにマウント
tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 0 0

 

マウント実行

 sudo mount -a

 

9.rsyslog設定の変更

rsyslogでは必要最小限のログ(auth, syslog, messages)のみを記録させる。

 $ sudo vi /etc/rsyslog.conf

以下をコメントアウト

 

#cron.* /var/log/cron.log
#daemon.* -/var/log/daemon.log
#kern.* -/var/log/kern.log
#lpr.* -/var/log/lpr.log
#mail.* -/var/log/mail.log
#user.* -/var/log/user.log
#mail.info -/var/log/mail.info
#mail.warn -/var/log/mail.warn
#mail.err /var/log/mail.err
#*.=debug;\
# auth,authpriv.none;\
# news.none;mail.none -/var/log/debug

 

ログを直接作成するアプリ等で /var/log にディレクトリが必要なものがあるので、rc.local にディレクトリ作成を記述。

 $ sudo vi /etc/rc.local


# ディレクトリを作成
mkdir -p /var/log/ConsoleKit
mkdir -p /var/log/fsck
mkdir -p /var/log/apt
mkdir -p /var/log/ntpstats
chown root.ntp /var/log/ntpstats

# Lastlog, wtmp ,btmp の空ファイルを作成
touch /var/log/lastlog
touch /var/log/wtmp
touch /var/log/btmp
chown root.utmp /var/log/lastlog
chown root.utmp /var/log/wtmp
chown root.utmp /var/log/btmp

 

ログローテートの抑制

 $ sudo vi /etc/logrotate.conf

weekly -> monthly

rotate 4 -> rotate 1

 

 $ sudo vi /etc/logrotate.d/dpkg

rotate 12 -> rotate 1

 $ sudo vi /etc/logrotate.d/rsyslog

rotate 7 -> rotate 1

daily -> monthly

rotate 4 -> rotate 1

weekly -> monthly

 

個別アプリごとのログローテートの抑制

 $ ls /etc/logrotate.d

例) alternatives apt btmp dpkg rsyslog wtmp

これらのアプリごとに以下の処理

 $ sudo vi /etc/logrotate.d/***

rotate * -> rotate 1

**** -> monthly

 

 

10.ftpサーバのsudo reboot

インストール

rftpサーバとして vsftpd をインストールする。

 sudo apt-get install vsftpd
 sudo sysv-rc-conf vsftpd on

書き込み許可

 sudo vi /etc/vsftpd.conf

write_enable=YES

 

vsftpd リスタート

 sudo /etc/init.d/vsftpd restart

 

PCよりfilezilla等のftpクライアントを使ってアクセスする。PCとのファイルのやり取りは、これを使用する。teratermssh scp でのファイル転送でもいいのですが、録音ファイルの転送を考えるとftpのほうが簡単なので。

 

----------------------------------------------------------------------

11.その他の設定

以上で基本的なセットアップは終了です。あとは個人の好みでカスタマイズしてください。

 1)キーボード設定

/etc/default/keyboard

・英語(インストール時)
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="gb"
XKBVARIANT=""
XKBOPTIONS=""

BACKSPACE="guess"

・日本語
# Consult the keyboard(5) manual page.
XKBMODEL="jp106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""

BACKSPACE="guess"

 

 2)Wifi 接続

wpa_supplicant.conf を作成(改行はLF)し、bootパーティションにコピーする。

 

ctrl_interface=/var/run/wpa_supplicant
country=JP
network={
ssid="SSID"
psk="password"
key_mgmt=WPA-PSK
proto=WPA WPA2
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
}

 3)有線接続

固定 IP (例)
/etc/dhcpcd.conf

interface eth0
static ip_address=192.168.1.10
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

 4)ホスト名の変更

/etc/hostname
/etc/hosts

 5)samba のインストール

sudo apt-get install samba
mkdir /home/pi/smbdir
sudo vi /etc/samba/smb.conf

# 最後に追加
[smbdir]
comment = Raspberry Pi share folder
path = /home/pi/smbdir
read only = no
browsable = yes
guest ok = yes
force user = pi

 

sambaを再起動
sudo service smbd restart
sudo service nmbd restart

windowsエクスプローラから\\raspberrypi でアクセスするとsmbdir フォルダが見える。

コントロール パネル\すべてのコントロール パネル項目\ネットワークと共有センター\共有の詳細設定

で、ファイルとプリンタの共有をチェックするとエクスプローラのネットワークにRASPBERRYPIが出てくる。

 

12.rfriendsのインストール

 さて、ようやくrfriendsのインストールです。インストールはrfriendsを転送、解凍し、ツールをインストールするだけです。


1) filezilla等を使用してRasbianにrfriends をftp転送。

 設置場所は、/home/pi/rfriends2_xxx_script.zip です。

2)rfriends を解凍

 $ cd /home/pi

 $ unzip rfriends2_xxx_script.zip

3)ツールをインストール

 $ cd /home/pi/rfriends2

    $ sh ex_tools.sh

 

# rfriends tmpディレクトリ をramディスクにマウント
tmpfs /home/pi/tmp tmpfs defaults,size=320m,noatime,mode=0777 0 0

 

以上