😀

Raspberry Pi セットアップ

2022/06/10に公開

はじめに

Raspberry Pi を購入してから、セットアップするまでの流れを整理します。

セットアップの対象は Raspberry Pi 4B です。

https://www.amazon.co.jp/Vemico-4GBラズベリーパイ4b-ラズパイMicroSDカード32GB-USB-Type-C-HDMIケーブルライン/dp/B07ZRF5BC1?__mk_ja_JP=カタカナ&crid=1YHEYKDY5LZ6V&keywords=Raspberry+Pi&qid=1654783902&s=computers&sprefix=raspberry+pi%2Ccomputers%2C145&sr=1-1-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEyMkxCMFhEWVlJTDFLJmVuY3J5cHRlZElkPUEwNDkwNTk2MTM5SDFENE5aQjI1MCZlbmNyeXB0ZWRBZElkPUEyRzZIVUhLUEZUSlhTJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ%3D%3D&linkCode=ll1&tag=i0fe2-22&linkId=e0c4511986c52ea3be8f6cebe0064753&language=ja_JP&ref_=as_li_ss_tl

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を選択します。

Screenshot from 2022-01-02 14-04-14.png

Screenshot from 2022-01-02 14-07-03.png

Raspberry Pi 4B は Arm64 (64-bit) の CPUを搭載しているので、Raspberry Pi OS (64-bit) か Ubuntu (64-bit) が良いでしょう。

Storage に SDカードを選択して、WRITEボタンを押して焼き込みます。

Screenshot from 2022-01-02 14-52-09.png

かなり簡単です。

設定

OSの初回起動後に、オプションを設定しましょう。

Raspberry Pi OS には、raspi-configという対話式でネットワークやデバイスの設定をできるツールがデフォルトでインストールされています。

管理者権限でコマンドを実行すると、

sudo raspi-config

コンソールに設定画面が表示されます。

Screenshot from 2021-11-21 10-49-25.png

設定していきます。

インタフェース

sshとvncを有効にします。

ssh

5 > P2 を選択して、Enableに設定します。

Screenshot from 2021-11-21 10-49-25.png

Screenshot from 2021-11-21 10-49-28.png

VNC

5 > P3 を選択して、Enableに設定します。

Screenshot from 2021-11-21 10-49-47.png

解像度

解像度を設定します。
設定しないと、解像度が小さすぎるせいか、VNCでログインできないことがあります。

7 > P5 で解像度選択画面を表示します。

Screenshot from 2021-11-21 10-47-10.png

Screenshot from 2021-11-21 10-47-16.png

ディスプレイに合わせた解像度を選択します。

Screenshot from 2021-11-21 10-47-18.png

接続

実際に接続してみましょう。

SSH接続

Screenshot from 2021-11-21 10-27-46.png

VNC接続

VNC Viewer で接続します。

Screenshot from 2021-11-21 10-32-49.png

Screenshot from 2021-11-21 10-28-14.png

スワップ

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 

image.png

ピンアサインの確認

Raspberry Pi OS にはデフォルトで ピンアサインを確認する pinout コマンドがインストールされています。
試しに実行してみましょう。

Screenshot from 2021-11-21 10-56-52.png

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