MacFeeling Blog

マックな感じ …

Raspberry Piセットアップ(インストール編)Stretch版

公開 : | 0件のコメント

この記事は最終更新日から 約2年が経過しているので情報が古い可能性があります。

Raspberry PiにUSBカメラを接続して、motionで 動体検知対応のカメラとして機能させるまでの備忘録
最初はインストール編

※一部の画像やシェルスクリプトは以前のものを使っています。ご了承ください。

環境は
USBカメラとの相性で、OS「Raspbian」はちょっと古いですがStretch版を利用
macOS Monterey 12.1
すべてマックのターミナル.appを使っての操作です。

ヘッドレス(モニタレス)で運用するので
2022.1現在、Download Raspbian for Raspberry Piのページからだと、最新版のOSのダウンロードになってしまうので、古いバージョンはIndex of /raspbian_lite/imagesからダウンロードします。

stretch版の最終版のファイル名は「2019-04-08-raspbian-stretch-lite.zip」というのでした。
わかりやすくするためにデスクトップに移動させてください。

ターミナルを起動したら(入力するのは「」の中)
cd ~/Desktop/」と入力してリターンキー
でダウンロードしたファイルの場所へ移動(ここではデスクトップ)

unzip ファイル名で解凍(imgファイルが出来上がります)

unzip 2019-04-08-raspbian-stretch-lite.zip 」と入力してリターンキー

$ unzip 2019-04-08-raspbian-stretch-lite.zip 
Archive:  2019-04-08-raspbian-stretch-lite.zip
  inflating: 2019-04-08-raspbian-stretch-lite.img

microSDカード(利用したのは16GBのもの)をカードリーダにセットしたら、MacのUSBにカードリーダを挿す

マウント先の確認(Mac miniにSSDとHDDを入れて使用しています。)

ターミナルで「diskutil list」と入力したらリターンキー

$diskutil list
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         1.0 TB     disk0
   1:             Apple_APFS_ISC ⁨⁩                        524.3 MB   disk0s1
   2:                 Apple_APFS ⁨Container disk3⁩         994.7 GB   disk0s2
   3:        Apple_APFS_Recovery ⁨⁩                        5.4 GB     disk0s3

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +994.7 GB   disk3
                                 Physical Store disk0s2
   1:                APFS Volume ⁨Macintosh HD - Data⁩     280.0 GB   disk3s1
   2:                APFS Volume ⁨Macintosh HD⁩            15.8 GB    disk3s3
   3:              APFS Snapshot ⁨com.apple.os.update-...⁩ 15.8 GB    disk3s3s1
   4:                APFS Volume ⁨Preboot⁩                 337.5 MB   disk3s4
   5:                APFS Volume ⁨Recovery⁩                831.9 MB   disk3s5
   6:                APFS Volume ⁨VM⁩                      20.5 KB    disk3s6

/dev/disk4 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *16.1 GB    disk4
   1:             Windows_FAT_32 boot                    66.1 MB    disk4s1
   2:                      Linux                         16.0 GB    disk4s2

上記の例では、/dev/disk4 が microSD(16GB)になります。お使いの環境によって違ってきますので間違わないように
この後の例では /dev/disk4 で進めていきます。

microSDカードをFAT32でフォーマット
ターミナルで「diskutil eraseDisk FAT32 RPI /dev/disk4」と入力したらリターンキー

$ diskutil eraseDisk FAT32 RPI /dev/disk4
Started erase on disk4
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk3s2 as MS-DOS (FAT32) with name RPI
512 bytes per physical sector
/dev/rdisk3s2: 30978480 sectors in 1936155 FAT32 clusters (8192 bytes/cluster)
bps=512 spc=16 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=31008768 bspf=15127 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk4

一旦、microSDカードをアンマウントします
ターミナルで「diskutil unmountDisk /dev/disk4」と入力したらリターンキー

$ diskutil unmountDisk /dev/disk4
Unmount of all volumes on disk4 was successful

データの書き込み
「sudo dd bs=1m if=解凍してできたimgファイル of=microSDのマウント先」

ターミナルで
sudo dd bs=1m if=2019-04-08-raspbian-stretch-lite.img of=/dev/rdisk4」と入力したらリターンキー
(補足:本当はof=/dev/disk4なのですが、disk4の前にrを付けた方が書き込みが早くなるらしいので)

Password:となったら管理者パスワードを入力してリターンキー

$ sudo dd bs=1m if=2019-04-08-raspbian-stretch-lite.img of=/dev/rdisk4
Password:
1776+0 records in
1776+0 records out
1862270976 bytes transferred in 234.684568 secs (7935208 bytes/sec)

しばらく時間が掛かるので、終わるまでじっと我慢 :wink_wp:

デスクトップには boot という名前でマウントされていました。

ヘッドレス(モニタレス)でのインストールにはsshを有効にしておく必要があるので、
Finderでboot内に、テキストエディタ等を使って「ssh」という名前で空のファイル(注意:拡張子はなし)を作成します。

ターミナルで「diskutil unmountDisk /dev/disk4」と入力したらリターンキー

アンマウントしたら、カードリーダからmicroSDカードを取り出してRaspberry Piにセット
場所がちょっと分かりづらいですが、端子がある方を上に向けて差し込みます。
raspi12
裏から見ると(microSDカードの文字がある側が見えているのが分かります)
raspi13

最初は有線で行うので、LANケーブル(片方はルータに)をRaspberry Piに接続して準備完了

問題ないことを確認したら、USB充電アダプタを電源コンセントに差し込むと起動します。

起動するまで少し時間がかかります。
しばらくしたら、LanScanなどのアプリでIPアドレスを調べます。
Macアドレスはたぶんb8:27:ebで始まるものになります。

ここでは、192.168.0.12が該当するので、
ターミナルを起動して「ssh pi@192.168.0.12」と入力してリターンキー

もし、過去にRaspberry Piのインストールをしていて、公開鍵認証を設定している場合で以下のようなエラーが出た時は

Desktop % ssh pi@192.168.0.12
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:****************************************************.
Please contact your system administrator.
Add correct host key in /Users/**********/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/**********/.ssh/known_hosts:4
Host key for 192.168.0.12 has changed and you have requested strict checking.
Host key verification failed.

ssh-keygen -R 192.168.0.12」と入力してリターンキー

 Desktop % ssh-keygen -R 192.168.0.12
# Host 192.168.0.12 found: line 2
# Host 192.168.0.12 found: line 3
# Host 192.168.0.12 found: line 4
/Users/**********/.ssh/known_hosts updated.
Original contents retained as /Users/**********/.ssh/known_hosts.old

再度、ターミナルを起動して「ssh pi@192.168.0.12」と入力してリターンキ

password:と表示されたら
raspberry」と入力してリターンキー

pi@raspberrypi:~ $

となればログイン完了です。

各種設定を行います。
Raspberry Piにログインした状態で
sudo raspi-config」と入力してリターンキー

pi@raspberrypi:~ $ sudo raspi-config

言語の設定

上下矢印キーで「Localisation Options」を選択したら、左右矢印キーで「Select」を選択してリターンキー

上下矢印キーで「Change Locale」を選択したら、左右矢印キーで「Select」を選択してリターンキー

上下矢印キーで「ja_JP.UTF-8 UTF-8」を選択したら、
スペースキー(私の環境では、shiftキー+スペースキーじゃないとダメでした)を押してチェックを入れる
左右矢印キーで「Ok」を選択してリターンキー

上下矢印キーで「ja_JP.UTF-8」を選択したら、
左右矢印キーで「Ok」を選択してリターンキー

タイムゾーンの設定

上下矢印キーで「Localisation Timezone」を選択したら、左右矢印キーで「Select」を選択してリターンキー

上下矢印キーで「Asia」を選択したら、左右矢印キーで「Ok」を選択してリターンキー

上下矢印キーで「Tokyo」を選択したら、左右矢印キーで「Ok」を選択してリターンキー

Wi-Fiの利用を日本に設定

上下矢印キーで「Change Wi-fi Country」を選択したら、左右矢印キーで「Select」を選択してリターンキー

上下矢印キーで「Japan」を選択したら、左右矢印キーで「Ok」を選択してリターンキー

「Ok」が選択されているのを確認して、リターンキー

microSDカードの容量を認識させる

上下矢印キーで「Advanced Options」を選択したら、左右矢印キーで「Select」を選択してリターンキー

上下矢印キーで「 Expand Filesystem」を選択したら、左右矢印キーで「Select」を選択してリターンキー

「Ok」が選択されているのを確認して、リターンキー

(再起動後に有効になります)

SSHを有効にする

上下矢印キーで「Interfacing Options」を選択したら、左右矢印キーで「Select」を選択してリターンキー

上下矢印キーで「SSH」を選択したら、左右矢印キーで「Select」を選択してリターンキー

Would you like the SSH server to be enabled?と聞かれたら
左右矢印キーで「Yes」を選択してリターンキー

The SSH server is enabledと表示されたら、
「Ok」が選択されているのを確認してリターンキー

MacからSSHで接続してみます。(この段階ではまだ有線です)

Raspberry Piにログインした状態で
一旦「exit」と入力してリターンキーで抜けます。

pi@raspberrypi:~ $ exit

LanScan  (無料)等、IPアドレスを検索できるソフトを使って、Raspberry Piを検索します。

例ではRaspberry PiのIPアドレスは192.168.0.12になっていました。
以下の192.168.0.12の箇所は、お使いのRaspberry PiのIPアドレスに置き換えてください。

ssh pi@192.168.0.12」と入力してリターンキー

もし、過去にRaspberry Piのインストールをしていて、公開鍵認証を設定している場合で以下のようなエラーが出た時は

Desktop % ssh pi@192.168.0.12
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:****************************************************.
Please contact your system administrator.
Add correct host key in /Users/**********/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/**********/.ssh/known_hosts:4
Host key for 192.168.0.12 has changed and you have requested strict checking.
Host key verification failed.

ssh-keygen -R 192.168.0.12」と入力してリターンキー

ssh-keygen -R 192.168.0.12
# Host 192.168.0.12 found: line 2
/*********/.ssh/known_hosts updated.
Original contents retained as /*********/.ssh/known_hosts.old

もう一度

ssh pi@192.168.0.12」と入力してリターンキー

途中で、
Are you sure you want to continue connecting (yes/no)?
と聞かれたら、
yes」と入力してリターンキー

pi@192.168.0.12's password:
と聞かれたら、初期パスワードの
raspberry」と入力してリターンキー

pi@raspberrypi:~ $

となればSSHでの接続完了です。

パスワードの変更

Raspberry Piにログインした状態で
sudo raspi-config」と入力してリターンキー
設定画面を開きます。

pi@raspberrypi:~ $ sudo raspi-config

上下矢印キーで「Change User Password」を選択したら、左右矢印キーで「Select」を選択してリターンキー

You will now be asked to enter new password for the pi user
「Ok」または「了解」が選択されているのを確認してリターンキー

Enter new UNIX password:(新しい UNIX パスワードを入力してください:)となったら
新しいパスワードを入力してリターンキー

Retype new UNIX password:(新しい UNIX パスワードを再入力してください:)となったら
同じものをもう一度入力してリターンキー

Password changed successfullyなったら「Ok」または「了解」が選択されているのを確認してリターンキー

設定画面を終了するには
左右矢印キーで「Finish」を選択してリターンキー

新しいパスワードで接続してみる

Raspberry Piにログインした状態で

一旦「exit」と入力してリターンキーで抜けます。

pi@raspberrypi:~ $ exit

ssh pi@192.168.0.12」と入力してリターンキー

pi@192.168.0.12's password:

と表示されたら、新しいパスワードを入力してリターンキー

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: 前回のログイン日時
pi@raspberrypi:~ $

となればログイン完了です。

無線LANで接続するための設定

Raspberry Pi 3を買ってMacを使ってWiFi接続とSSHの接続するまで - Qiitaのページのままです。

それだけじゃなんなので簡単な説明を

Raspberry Piにログインした状態で
ターミナルで「ip addr」と入力してリターンキー
wlan0がWi-Fiのものになります。

pi@raspberrypi:~ $ ip addr
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   省略
2: eth0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    省略
3: wlan0: <no-carrier,broadcast,multicast,up> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff</no-carrier,broadcast,multicast,up></broadcast,multicast,up,lower_up></loopback,up,lower_up>

形式は
sudo sh -c 'wpa_passphrase ルータのSSID そのSSIDの暗号化キー >> /etc/wpa_supplicant/wpa_supplicant.conf'

例えば
ルータのSSIDが「hogehoge-aterm」
暗号化キーが「1234ABCD」
だとすると
sudo sh -c 'wpa_passphrase hogehoge-aterm 1234ABCD >> /etc/wpa_supplicant/wpa_supplicant.conf'」と入力してリターンキー

※注意点
Raspberry Pi 3 Model BのWi-Fiは2.4GHzのみの対応となるので、お使いのルータのSSIDは2.4GHzの方を指定してください。
さらにルータでMacアドレスのフィルタリングをしている場合は、Raspberry Piのものを追加しておくのを忘れずに

Macアドレスは、先ほどLanScanで検索した時に表示されていたものになります。wlan0のlink/etherの後に表示されているxx:xx:xx:xx:xx:xx も同じです。

設定した内容を編集
Raspberry Piにログインした状態で
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf」と入力してリターンキー
管理者パスワードを聞かれたら入力してリターンキー

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=GB
network={
        ssid="ルータのSSID"
        #psk="暗号化キーがそのまま表示されている"
        psk=080d23xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

暗号化キーがそのまま表示されているので
#psk=""の行を削除して

私の場合は、ルータの暗号化モードをWPA2-PSK(AES)にしているので
key_mgmt=WPA-PSK
proto=RSN
pairwise=CCMP
group=CCMP
を追加して以下のようにしました。

network={
        ssid="ルータのSSID"
        key_mgmt=WPA-PSK
        proto=RSN
        pairwise=CCMP
        group=CCMP
        psk=080d23xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}

問題なければ、「controlキー + o
File Name to Writeと下に表示されたらリターンキー
controlキー + x」で編集を終了します。

IPアドレスの固定

毎回IPアドレスを調べるのは大変なので、IPアドレスを固定します。

Raspberry Piにログインした状態で
sudo nano /etc/dhcpcd.conf」と入力してリターンキー
管理者パスワードを聞かれたら入力してリターンキー

例えば、192.168.0.123に固定したい場合は以下を追加
ルーターおよびDNSは例では192.168.0.1にしていますので、ご自分の環境に合わせて変更してください。

有線の場合
# Custom static eth0 IP address
interface eth0
static ip_address=192.168.0.123/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

無線LANの場合
# Custom static IP address コメントは自分で分かりやすいように自由に記述してください
interface wlan0
static ip_address=192.168.0.123/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

問題なければ、「controlキー + o
File Name to Writeと下に表示されたらリターンキー
controlキー + x」で編集を終了します。

さあいよいよ無線LANでの接続になります。

Raspberry Piを終了します。
ターミナルで「sudo shutdown -h now」と入力してリターンキー
管理者パスワードを聞かれたら入力してリターンキー

緑のランプが点滅してから消えて、赤のランプだけになったら、コンセントから抜いてください。

LANケーブルをRaspberry Piから抜きます。
残すのはUSBケーブル(片側はUSB充電アダプタ)のみ

USB充電アダプタをコンセントに挿してRaspberry Piを起動します。

Macでターミナルを起動したら、
「ssh pi@固定したIPアドレス」

例の場合は
ssh pi@192.168.0.123」と入力してリターンキー

もし、過去にRaspberry Piのインストールをしていて、公開鍵認証を設定している場合で以下のようなエラーが出た時は

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Please contact your system administrator.
Add correct host key in /hogehoge/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /hogehoge/.ssh/known_hosts:2
ECDSA host key for 192.168.0.123 has changed and you have requested strict checking.
Host key verification failed.

「ssh-keygen -R 192.168.0.123」と入力してリターンキー

ssh-keygen -R 192.168.0.123
# Host 192.168.0.123 found: line 2
/hogehoge/cotton/.ssh/known_hosts updated.
Original contents retained as /hogehoge/hogehoge/.ssh/known_hosts.old

もう一度

ssh pi@192.168.0.123」と入力してリターンキー

途中で、
Are you sure you want to continue connecting (yes/no)?
と聞かれたら、
yes」と入力してリターンキー

pi@192.168.0.123's password:
と聞かれたら、変更したパスワードを入力してリターンキー

pi@raspberrypi:~ $

となればOKです。

次回は、毎回パスワードを入力するのは大変なので、公開鍵認証を使ったSSH接続の設定について記載します。

補足
Raspberry Piの終了について
sudo shutdown -h now」と入力してリターンキー

緑色のランプが何度か点滅して、赤色のランプのみの点灯になれば、コンセントから抜いて大丈夫です。

コメントを残す

必須欄は * がついています




日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)