Rasberry Pi 親切な導入編 : CUI版

コンセプト

GUI(HDMIに接続したモニタでX windowでGUI表示、操作)を使わないものとします。
設定や操作はネットワーク経由のSSHか、HDMI接続モニタではCUIでの操作とします。
メモリ消費、SDカード容量が小さくて済み、IoT等の制御、情報収集装置に向く構成です。

  1. OSはRaspbian(debian)をインストールする。Noobsは使用しない。
  2. 書込が激しいディレクトリはRAM上に構成する。
  3. Wi-Fiを利用する。
  4. USBカメラまたは内蔵カメラ、センサ類を接続する。

準備するもの

Raspberry Pi 本体(Pi1から3、ZEROなんでも。またModelはどれでもOK)
Raspberry Piケースはお好みで。ヒートシンクはあった方が良いと思います。
電源:2.5A程度供給できるものが望ましいです。端子はmicroUSB B type
SDカード 4GB以上(Pi2以降はMicro SD。class10以上が望ましい)
USBカメラ または 内蔵カメラ。混在、複数台接続も可能
Wi-Fi USBドングル(Pi3はWi-Fi内蔵のため不要。Wi-Fi使用しなければ不要)
WINDOWS、Linux、MacのいずれかのPC
有線LANがつながる環境とDHCPサーバ。または下記LCDとキーボード
HDMI入力があるLCDとケーブル (なくても大丈夫です)
USBキーボード (なくても大丈夫です)

Raspbianをダウンロードしてくる

NOOBSからインストールすると2GBほどインストーラに取られてしまい、インストール後もパーティションが分かれてしまうので、Raspbianを直接SDカードにインストールした方が良いです。
Raspbian Liteをダウンロードします。
## 今回はGUIを使用しない(CUI版/SSH)ので、Raspbian Liteを使用します。
公式サイトはこちら。(https://www.raspberrypi.org/downloads/raspbian/)
重いので日本のミラーサイトを利用しましょう。
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/

最新版をダウンロードします。
例 : 2017-04-10-raspbian-jessie.zip

このzipファイルを解凍すると、.imgファイルができます。

SDカードに書き込む

SDカードは念のため事前にフォーマットしておきましょう。
WINDOWSの場合、SD AssociationのSDフォーマッタが確実です。
https://www.sdcard.org/jp/downloads/formatter_4/

SDカードのフォーマットは、FAT32にしてください。64GB以上で標準のexFATではRaspberry Piでは認識しません。フォーマットツール等で必ずFAT32でフォーマットしてから使用してください。

RaspbianのSDカードへの書き込みは、Linux環境をお持ちならddコマンドでSDカードに書き込みます。

dd if=ダウンロードしたファイルを解凍した.img of=/dev/sdx(SDカード)

WINODWSの方は、DD for WINDOWSを使用すると良いでしょう。
DD for WINDOWSの起動は、管理者で実行するようにしてください。
(管理者で実行しないと、SDカードを認識しません)

sshが使用できるようにする

作成したSDカードをPCに接続します。
以下のディレクトリにsshという名前の空のファイルを作成しておけば、SSHでの接続が可能です。

/boot 以下に sshという空のファイルを作成する。(WINDOWSでは新規ファイルの作成、Linuxであれば #touch ssh)

/boot/ssh

Raspberry Piに入れて起動する

SDカードを挿入し起動します。

有線LAN環境がある場合はケーブルを接続します。
有線LANにはDHCPサーバで割り当てられたIPアドレスで接続されます。

有線LANがない場合は、設定のためにUSBキーボードとHDMIモニタを接続します。

1分程で起動します。

sshでログインする

Linuxからはsshコマンドで。WINDOWSの場合はTeraTerm等でログインします。
DHCPで割り当てられたIPアドレスに接続します。

ログインは初期では下記です。

ログイン : pi
パスワード : raspberry

スーパーユーザになるには、上記piでログイン後下記コマンドを実行します。
rootでログインすることはできません。

% sudo su -

一般ユーザを作成し、sudoできるユーザとして登録しておくと便利です。

# adduser ユーザ名
# passwd ユーザ名
# gpasswd -a ユーザ名 sudo

OSのアップデートをします。

# apt-get update
# apt-get upgrade
# rpi-update

vim(vi)エディタも入れておきましょう。

# apt-get install vim

再起動します。

# reboot

ネットワークの設定

/etc/dhcpcd.conf を編集します。

#有線LANのIPアドレスを固定する
# Example static IP configuration:
interface eth0
static ip_address=IPv4アドレス/24
#static ip6_address=fd51:xxxxx:xxxx:xxxx::xx/64
#IPv6を使う場合
static routers=ゲートウェイアドレス
static domain_name_servers=DNSのIPv4アドレス1 IPv4アドレス2 IPv6アドレス

#Wi-Fi接続のIPアドレスを固定する
interface wlan0
static ip_address=IPv4アドレス/24
static routers=ゲートウェイアドレス
static domain_name_servers=DNSのIPv4アドレス

Wi-Fi接続の設定を行う

以下のコマンドでSSIDとパスワードを設定します。

#sudo sh -c "wpa_passphrase [SSID] [パスワード] >> /etc/wpa_supplicant/wpa_supplicant.conf"

/etc/wpa_supplicant/wpa_supplicant.conf
に下記追記されます。
アクセスポイントがステルスモードで動作している場合は、エディタで末尾の
scan_ssid=1
を追記してください。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="S S I D"
proto=WPA2
key_mgmt=WPA-PSK
pairwise=TKIP CCMP
group=TKIP CCMP
#psk="パスワード"
psk=暗号化されたパスワード
scan_ssid=1
}

ホスト名の設定

/etc/hostnameの設定

# vim /etc/hostname
ホスト名

/etc/hostsの設定

# vim /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

127.0.1.1 ホスト名

再起動します。

# reboot

RAM diskの設定

Raspberry PiのストレージはSDカード(またはマイクロSD)なのですが、頻繁な書き換えがあると、あっという間に壊れます。これ、結構ショックです…..

書き換えが頻繁なファイルで再起動時には消えてもよいものは、RAMをストレージに置くようにします。(RAMに置くためSDカードに書かれない。再起動すると消去されます)
また、swapもSDカードにダメージを与えるので消去してしまいます。

例によってターミナルから操作します。
ターミナルを起動し、スーパーユーザーになります。

% sudo su –

(1)swap領域の消去

swapを無効にします。

# swapoff –all

freeコマンドで見ると、swapが0になっているはずです。

# free

total used free shared buffers cached
Mem: xxxx xxxx xxxx xxxx xxxx xxxxx
Swap: 0 0 0

再起動してもswapが生成されないよう、swap関連のアプリケーションを削除します。

# apt-get remove dphys-swapfile

(2)書き換え頻繁なファイルのRAMストレージへの移動

/etc/fstabに、RAMディスクを生成するよう追記します。

# vim /etc/fdtab
tmpfs /tmp tmpfs defaults,size=32m,noatime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,size=16m,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,size=32m,noatime,mode=0755 0 0
tmpfs /var/image tmpfs defaults,size=32m,noatime,mode=1777 0 0bsp;   0       0

/etc/rc.localに、起動時に必要なファイルやディレクトリを生成するよう追記します。
(今後、サービスやアプリケーションを追加する毎に、RAMディスクで運用するログやデータのディレクトリを追記していきます。)
“exit 0″の前に追記します。

# vim /etc/rc.local
mkdir -p /var/log/ConsoleKit
mkdir -p /var/log/samba
mkdir -p /var/log/fsck
mkdir -p /var/log/apt
mkdir -p /var/log/ntpstats
mkdir -p /var/log/apache2
chgrp adm /var/log/apache2
chown root.ntp /var/log/ntpstats
chown root.adm /var/log/samba
touch /var/log/lastlog
touch /var/log/wtmp
touch /var/log/btmp
touch /var/log/motion
chown root.utmp /var/log/lastlog
chown root.utmp /var/log/wtmp
chown root.utmp /var/log/btmp
chown motion:motion /var/log/motion

/var/image は、motionで写真を保存する際に使用します。
リブートし有効にします。

# reboot

日本時間に設定

# sudo timedatectl set-timezone Asia/Tokyo

再起動

# reboot

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください