0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

RaspberryPi 4BでAI、RaspberryPi 4BでIoT(RaspberryPi初期設定:OSインストール編)

Last updated at Posted at 2020-12-10

#はじめに
プログラミングの学習を始めてから4ヶ月。pythonを使い、RaspberryPiでAI、IoTの技術を利用した高齢者見守りシステムを作ってみました。
制作の過程を、何回かに分けてまとめていきます。

今回は、RaspberryPiの初期設定のうちの、OSのインストールと、初期起動前の設定変更についてまとめます。

#使用機材

PC
MacBook Pro 16
2.3 GHz 8コアIntel Core i9
16 GB 2667 MHz DDR4
macOS Big Sur ver.11.0.1
メモリリーダーライタ
ELECOM MR-A39NWHF1
変換ケーブル
Apple USB-C - USBアダプタ
microSDカード
SanDisk
microSDXC UHS-I カード
128GB

#RaspberryPiの初期設定
RaspberryPiにキーボードやディスプレイなどを接続せず、PCと無線LANで接続してPCから操作できるように設定します。
開発形態.001.png
RaspberryPiの初期設定は、**ゆうさんのブログ sukiburo**で非常に丁寧に説明されており、参考にして実施しました。
ここに書きました一連の作業はPCで実施します。これらの作業の間は、microSDカードをRaspberryPiには挿入しません。
###Raspberry Pi OSのインストール
sukiburoでは、OSをRaspberryPi公式サイトからダウンロードし、マニュアルでmicroSDカードに書き込む方法が説明されています。この通りにやれば問題なくOSのインストールができるのですが、ここではRaspberry Pi Imagerを使ってインストールする方法を試してみます。
この方法では、事前にOSをダウンドードしたり、microSDカードをフォーマットする必要はありません。

まず、RaspberryPi公式サイトからmacOS用のPaspberry PI Imagerをダウンロードし、PCにインストールします。

詳細手順
>[RaspberryPi公式サイト](https://www.raspberrypi.org/software/)の**Download for macOS**をクリックすると、インストーラー "imager_1.4.dmg"のダウンロードが開始されます。 ![RaspberryPiOS_install1 2020-12-04 14.02.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/47e43f03-42eb-b39d-89bd-2fdeae8156b3.png) ダウンロードが完了したら、保存されたファイル**imager_1.4.dmg**をダブルクリックし、アプリケーションをPCにインストールします。 下記のウインドウが表示されたら、左側のラズベリーのアイコンを、右側のフォルダーのアイコン上にドラッグ&ドロップすればインストールは完了。Launchpadから**Paspberry PI Imager**を起動できるようになります。(インストーラ**imager_1.4.dmg**は削除して問題ありません。) ![raspberrypiimagerインストール 2020-12-04 14.41.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/2c32ca65-8558-c6a6-08b7-58ed62adcade.png)

準備ができたので、Paspberry PI Imagerを使って、microSDカードにraspberryPi OSをインストールします。

詳細手順
>インターネットアクセス可能なPCに接続されたmicroSDカードライターのスロットに、microSDカードを挿入します。 次に、Launchpadで**Paspberry PI Imager**のアイコンをクリックし、**Paspberry PI Imager**を起動します。 下記のウインドウが表示されたら、**CHOOSE OS**をクリックします。 ![raspberrypiimage起動画面 2020-12-04 15.48.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/57187fc6-31e5-ca7a-f2f9-1df7a9626e0c.png) 下記のOS選択ウィンドウが表示されますので、**Raspberry Pi OS(32-bit)**をクリックします。 ![raspberrypiimage_OS選択 2020-12-04 14.57.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/d7b5fd22-29a2-d089-01b1-56388371fee3.png) OSを選択すると下記のウインドウが表示されますので、**CHOOSE SD CARD**をクリックします。 ![raspberryPiimager_OS選択後 2020-12-07 17.55.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/93764886-1928-0cc6-4ad8-1ccee8b17edf.png) 下記のウインドウが表示されますので、使用するSDカードをクリックします。 ![raspberrypiimage_SDカード選択 2020-12-04 14.58.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/d78a7912-c08a-c444-f0b4-eb3fe3f4bc75.png) OSとSDカードの選択が完了すると、下記のウインドウが表示され、OSの書き込みが開始可能となります。 選択したOS、SDカードに間違いがなければ、**WRITE**をクリックします。 ![raspberrypiimage画面 2020-12-04 16.00.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/303d67b5-9504-83df-f2d9-e78c20149d4f.png) microSDカード上の全てのデータが消去されることを確認すウインドウが表示されるので、問題なければ**YES**をクリックします。 ![raspberrypiimage確認画面 2020-12-04 16.02.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/d9a9bede-3a50-51eb-ec49-908a9ab9295f.png) 下記のウインドウが表示され、microSDカードへのOSの書き込みが開始されます。 ![raspberrypiimage_書き込み 2020-12-04 16.06.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/1ad37054-5fe2-74bc-b0c9-2dcd7e8e62aa.png) OSの書き込みが完了すると、自動的にVerifyを開始します。 ![raspberrypiimager_verify 2020-12-04 16.26.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/1106ef2b-57e4-3ec7-080a-3b9a77bb6aff.png) verifyが完了すると下記のウインドウが表示されます。**CONTINUE**をクリックすると、ウインドウが閉じ、OSのインストールが完了します。 筆者が実施した環境では、OSの書き込み開始からVerifyの完了まで、25分程度かかりました。 ![raspberrypiimager_finish 2020-12-04 16.28.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/343e6aad-827c-91f6-675f-376e3401bee2.png)

###SSHの有効化
次に、安全に(=他人が勝手にRaspberryPiを操作したり、PCとRaspberryPiとの間の通信を盗聴することを防ぎつつ)、PCからネットワークを経由してRaspberryPiにログインして操作を可能にするために、SSH(Secure Shell)を有効にします。
OSをインストールしたmicroSDカードのrootに、SSHという名前の空のファイルを作成すると、SSHが有効になります。

詳細手順
>ファイルの作成には、Linuxコマンドの**touch**を使用します。Launchpadからターミナルを起動し、`touch /volumes/【microSDカード rootディレクトリ名】/ssh`と入力します。【microSDカード rootディレクトリ名】の部分は、**Finder**でドライブを表示したときに表示されるmicroSDカードのドライブ名です。 ![Finder_ドライブ選択 2020-12-07 18.23.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/1248ff56-d5f4-88dd-5efa-79f77e703174.png)             

###無線LANの設定
RaspberryPiを無線LANに接続するために、OSをインストールしたmicroSDカードのrootに、wpa_supplicant.confという名前の設定ファイルを作成します。
作成したwpa_supplicant.confには、下記のコードを書き込みます。

wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
    ssid="SSID"
    psk="PIN"
}

上記コード中のSSIDの部分は使用する無線LAN環境のSSID、PINの部分は使用する無線LAN環境のPINとします。
上記コードで、ssidとpskのダブルコーテーション(")が全角になっていたため、コピーして使用しても正常に動作しませんでした。(2021/1/28 修正)。

詳細手順
>ファイルの作成には、macのターミナル上で標準で使用できるテキストエディター **viエディター**を使用します。 Launchpadからターミナルを起動し、`vi /volumes/【microSDカード rootディレクトリ名】/wpa_supplicant.conf`と入力すると、viエディター上でwpa_supplicant.confという名前の新しいファイルが開きます(【microSDカード rootディレクトリ名】の部分は、SSHの有効化のときと同様に、**Finder**でドライブを表示したときに表示されるmicroSDカードのドライブ名です)。 ![vi_起動 2020-12-10 15.47.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/02ce4e0b-6391-db88-d11b-fd9e0e7fbc51.png) ![vi_起動直後 2020-12-10 15.47.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/5cb17dbc-1ecd-fb37-4dc4-55e31ea6b572.png) 次に、使用する無線LANに接続するための情報を書き込みます。 上記の**wpa_supplicant.conf**に書き込むコードを、そのまま(**SSID**、**PIN**の部分も変更せず)コピーします。 viエディターを開いたターミナルのウインドウ上にマウスポインタを移動し、トラックパッドを副ボタンクリック(2本指のクリック)してペーストを選択すれば、コードが入力できます。              ![vi_ペースト後 2020-12-10 15.50.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/3ca204e8-bc4a-64ef-23a3-0b966afe958a.png) 次に、使用する無線LANの環境に合わせて編集します。コードの**SSID**と**PIN**の部分を、使用する無線LANのSSIDとPINに書き換えます。 viエディターでは、文字を消去するときは、カーソルを消去したい文字上に移動して**x**を入力します。**SSID**の部分を書き換えるためには、まず矢印キーを使用してカーソルを**SSID**先頭の**S**の位置に移動します。この状態で、**x**キーを4回押すと、**SSID**が削除されます。 ![vi_ssidカーソル移動 2020-12-10 15.50.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/f7ce0370-310d-bc69-5ab0-0a59888124ff.png) ![vi_ssid削除 2020-12-10 15.50.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/c4c067dc-eda2-0978-bdfd-aed66eb51a68.png) 次に、使用する無線LAN環境のSSIDを入力します。viエディターで文字を入力する際は、入力したい位置へカーソルを移動した後、**i**キーを押して挿入モードに変更します。この状態で、キーボードから入力した文字が、カーソルの位置に挿入されます。 ![vi_ssid挿入モード 2020-12-10 15.51.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/64599a6a-eefd-1422-9f2d-38c923431efe.png) ![vi_ssid入力 2020-12-10 15.51.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/ecc6ab3c-4a88-2382-143d-ab79de34c4b5.png) 入力が完了したら、escキーを押下すれば挿入モードが終了し、入力した内容が確定します。 ![vi_ssid確定 2020-12-10 15.52.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/f2e9c9f7-b0f6-fbdc-6362-5a22289f90fb.png) 同様に、カーソルを**PIN**の先頭の**P**の位置に移動し、使用する無線LAN環境のPINに書き換えます。 ![vi_pin入力確定 2020-12-10 15.53.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/92a13646-51a1-f6dc-49bd-cac4c54c3539.png) PINの書き換えが完了したら、キーボードから『:』(コロン)、『w』、『q』、『↩︎』(リターン)の順に入力すると、編集した内容が保存され、viエディターが終了します(このとき、カーソルを移動させる必要はありません)。 ![vi_保存終了 2020-12-10 15.53.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/e9ee093d-1b74-f9be-aa74-ba21084b882c.png) Linuxコマンドの**cat**を使用すると、作成したwpa_supplicant.confの内容を確認できます。ターミナルで、`cat /volumes/【microSDカード rootディレクトリ名】/wpa_supplicant.conf`と入力します(【microSDカード rootディレクトリ名】の部分は、**Finder**でドライブを表示したときに表示されるmicroSDカードのドライブ名です)。 ![cat 2020-12-10 15.56.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/f690fafb-322d-b8ed-f6ab-64a75c1cfae1.png)

###画面出力設定
RaspberryPi OSは、標準の設定ではHDMIでディスプレイを接続していないと、PCからリモートデスクトップ接続してもRaspberryPiの画面が表示されずにエラーとなってしまいます。ディスプレイを接続していないRaspberryPiへのリモートデスクトップ接続でRaspberryPiの画面をPCに表示できるよう、設定を変更します。
OSをインストールしたmicroSDカードのrootにあるconfig.txtを編集することで、設定が変更できます。
config.txtの中でコメントアウトされている# hdmi_force_hotplug=1という設定を有効にすることで、リモートデスクトップ接続しているPCでRaspberryPiの画面を表示できるようになります。

詳細手順
> 1. ターミナルで、`vi /volumes/【microSDカード rootディレクトリ名】/config.txt`と入力し、viエディター上で**config.txt**を開きます(【microSDカード rootディレクトリ名】の部分は、**Finder**でドライブを表示したときに表示されるmicroSDカードのドライブ名です)。 2. 矢印キーでカーソルを、```# hdmi_force_hotplug=1```の**#**の上に移動します。 ![vi_config修正 2020-12-09 19.05.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679257/13196056-56f5-0aef-084d-ec7fa7c1ede8.png) 3. xキーを押下します。(**#**が削除されます。) 4. キーボードから『:』(コロン)、『w』、『q』、『↩︎』(リターン)の順に入力します。(変更が保存され、viエディターが終了します。) 5. ターミナルで、`cat /volumes/【microSDカード rootディレクトリ名】/config.txt`と入力すれば、**config.txt**の内容が表示され、変更が行われていることを確認できます(【microSDカード rootディレクトリ名】の部分は、**Finder**でドライブを表示したときに表示されるmicroSDカードのドライブ名です)。

これで、OSのインストールと、RaspberryPi初期起動前の設定変更は完了です。
#参考
今回の作業の実施にあたり、下記を参考にいたしました。

Raspberry PI OSのインストール、SSHの有効化、無線LANの設定
Raspberry Pi OS (公式サイト)
sukiburo ラズパイ(raspberry pi)の初期設定をするよ(win/mac対応)
画面出力設定
Developers.IO Raspberry Pi 4にSSHとVNCで接続してみた

#関連投稿
RaspberryPi 4BでAI、RaspberryPi 4BでIoT(まえがき)
RaspberryPi 4BでAI、RaspberryPi 4BでIoT(システム概要)
RaspberryPi 4BでAI、RaspberryPi 4BでIoT(開発環境)

#おわりに
プログラミング初心者のため、誤りが多々あると思います。アドバイス、励ましのコメントなどいただけると嬉しいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?