Raspberry Pi セットアップ
はじめに
Raspberry Pi を購入してから、セットアップするまでの流れを整理します。
セットアップの対象は Raspberry Pi 4B です。
OS準備
まずはRaspberry Piに焼くOSを準備します。
Raspberry Pi Imager をインストール
Raspberry Pi Imagerをインストールします。
https://www.raspberrypi.com/software/
Ubuntu 20.04 では snap コマンドでインストールできるので便利です。
$ sudo snap install rpi-imager
rpi-imager 1.6.2 from Alan Pope 🐧 (popey) installed
SDカードに書き込み
次に、SDカードにOSを焼きます。
Raspberry Pi Imager を起動して、最初にOSを選択します。
Raspberry Pi 4B は Arm64 (64-bit) の CPUを搭載しているので、Raspberry Pi OS (64-bit) か Ubuntu (64-bit) が良いでしょう。
Storage に SDカードを選択して、WRITEボタンを押して焼き込みます。
かなり簡単です。
設定
OSの初回起動後に、オプションを設定しましょう。
Raspberry Pi OS には、raspi-config
という対話式でネットワークやデバイスの設定をできるツールがデフォルトでインストールされています。
管理者権限でコマンドを実行すると、
sudo raspi-config
コンソールに設定画面が表示されます。
設定していきます。
インタフェース
sshとvncを有効にします。
ssh
5 > P2 を選択して、Enableに設定します。
VNC
5 > P3 を選択して、Enableに設定します。
解像度
解像度を設定します。
設定しないと、解像度が小さすぎるせいか、VNCでログインできないことがあります。
7 > P5 で解像度選択画面を表示します。
ディスプレイに合わせた解像度を選択します。
接続
実際に接続してみましょう。
SSH接続
VNC接続
VNC Viewer で接続します。
スワップ
SDカードの寿命を長くするために、以下の記事に従ってスワップを無効化します。
以下のサイトを参考に、
https://qiita.com/homelan/items/62a09aa0d0586d0280a2
次のコマンドを打ちます。
sudo systemctl stop dphys-swapfile
sudo systemctl disable dphys-swapfile
systemctl status dphys-swapfile
Node-RED
Raspberry Pi OS にはデフォルトで Node-REDがインストールされています。
Node-REDの自動起動設定を有効化しておきます。
sudo systemctl enable nodered.service
ピンアサインの確認
Raspberry Pi OS にはデフォルトで ピンアサインを確認する pinout コマンドがインストールされています。
試しに実行してみましょう。
pi@raspberrypi:~ $ pinout
,--------------------------------.
| oooooooooooooooooooo J8 +======
| 1ooooooooooooooooooo PoE | Net
| Wi oo +======
| Fi Pi Model 4B V1.4 oo |
| ,----. +====
| |D| |SoC | |USB3
| |S| | | +====
| |I| `----' |
| |C| +====
| |S| |USB2
| pwr |HD| |HD| |I||A| +====
`-| |---|MI|---|MI|----|V|-------'
Revision : c03114
SoC : BCM2711
RAM : 4096Mb
Storage : MicroSD
USB ports : 4 (excluding power)
Ethernet ports : 1
Wi-fi : True
Bluetooth : True
Camera ports (CSI) : 1
Display ports (DSI): 1
J8:
3V3 (1) (2) 5V
GPIO2 (3) (4) 5V
GPIO3 (5) (6) GND
GPIO4 (7) (8) GPIO14
GND (9) (10) GPIO15
GPIO17 (11) (12) GPIO18
GPIO27 (13) (14) GND
GPIO22 (15) (16) GPIO23
3V3 (17) (18) GPIO24
GPIO10 (19) (20) GND
GPIO9 (21) (22) GPIO25
GPIO11 (23) (24) GPIO8
GND (25) (26) GPIO7
GPIO0 (27) (28) GPIO1
GPIO5 (29) (30) GND
GPIO6 (31) (32) GPIO12
GPIO13 (33) (34) GND
GPIO19 (35) (36) GPIO16
GPIO26 (37) (38) GPIO20
GND (39) (40) GPIO21
For further information, please refer to https://pinout.xyz/
Dockerインストール
Dockerはデフォルトでインストールされていません。
以下の記事に書いてある通り、convenience scripts でインストールしてみましょう。
https://docs.docker.com/engine/install/debian/#install-using-the-convenience-script
In testing and development environments, some users choose to use automated convenience scripts to install Docker.
This is currently the only approach for Raspbian.
記事の通り、次のコマンドを実行してみます。
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker pi
sudo pip3 install docker-compose
Ansible インストール
Ansibleもデフォルトでインストールされていません。
インストールします。
Raspberry pi OS公式リポジトリのAnsibleはかなり古いです。
# Raspberry pi OS公式版は古い
# $ sudo apt install ansible
# ansible 2.7.7
# config file = /etc/ansible/ansible.cfg
# configured module search path = ['/home/pi/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
# ansible python module location = /usr/lib/python3/dist-packages/ansible
# executable location = /usr/bin/ansible
# python version = 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0]
Ansibleコミュニティが推奨している公式Pythonパッケージ版をインストールしましょう。
# ansible公式Pythonパッケージを使う
$ pip install --user ansible
NASマウント設定
Raspberry pi のストレージはSDカードで、容量が限られています。
そこで、 NAS をマウントしてストレージ容量を水増ししましょう。
以下のサイトを参考に。
https://qiita.com/fstyle/items/284508cfc33af54d826d
fstab で設定します。
$ sudo apt-get install cifs-utils
$ sudo cat /etc/fstab
//IP_ADDRESS/disk /mnt/disk/ cifs vers=1.0,user=USER_NAME,password=PASSWORD,suid,rw,async 0 2
$ sudo mount -a
Discussion