0
0

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公式サイトDownload for macOSをクリックすると、インストーラー "imager_1.4.dmg"のダウンロードが開始されます。
RaspberryPiOS_install1 2020-12-04 14.02.31.png
ダウンロードが完了したら、保存されたファイルimager_1.4.dmgをダブルクリックし、アプリケーションをPCにインストールします。
下記のウインドウが表示されたら、左側のラズベリーのアイコンを、右側のフォルダーのアイコン上にドラッグ&ドロップすればインストールは完了。LaunchpadからPaspberry PI Imagerを起動できるようになります。(インストーラimager_1.4.dmgは削除して問題ありません。)
raspberrypiimagerインストール 2020-12-04 14.41.31.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
下記のOS選択ウィンドウが表示されますので、Raspberry Pi OS(32-bit)をクリックします。
raspberrypiimage_OS選択 2020-12-04 14.57.42.png
OSを選択すると下記のウインドウが表示されますので、CHOOSE SD CARDをクリックします。
raspberryPiimager_OS選択後 2020-12-07 17.55.58.png
下記のウインドウが表示されますので、使用するSDカードをクリックします。
raspberrypiimage_SDカード選択 2020-12-04 14.58.01.png
OSとSDカードの選択が完了すると、下記のウインドウが表示され、OSの書き込みが開始可能となります。
選択したOS、SDカードに間違いがなければ、WRITEをクリックします。
raspberrypiimage画面 2020-12-04 16.00.23.png
microSDカード上の全てのデータが消去されることを確認すウインドウが表示されるので、問題なければYESをクリックします。
raspberrypiimage確認画面 2020-12-04 16.02.56.png
下記のウインドウが表示され、microSDカードへのOSの書き込みが開始されます。
raspberrypiimage_書き込み 2020-12-04 16.06.08.png
OSの書き込みが完了すると、自動的にVerifyを開始します。
raspberrypiimager_verify 2020-12-04 16.26.34.png
verifyが完了すると下記のウインドウが表示されます。CONTINUEをクリックすると、ウインドウが閉じ、OSのインストールが完了します。
筆者が実施した環境では、OSの書き込み開始からVerifyの完了まで、25分程度かかりました。
raspberrypiimager_finish 2020-12-04 16.28.58.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
            

無線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
vi_起動直後 2020-12-10 15.47.35.png
次に、使用する無線LANに接続するための情報を書き込みます。
上記のwpa_supplicant.confに書き込むコードを、そのまま(SSIDPINの部分も変更せず)コピーします。
viエディターを開いたターミナルのウインドウ上にマウスポインタを移動し、トラックパッドを副ボタンクリック(2本指のクリック)してペーストを選択すれば、コードが入力できます。
            
vi_ペースト後 2020-12-10 15.50.06.png
次に、使用する無線LANの環境に合わせて編集します。コードのSSIDPINの部分を、使用する無線LANのSSIDとPINに書き換えます。
viエディターでは、文字を消去するときは、カーソルを消去したい文字上に移動してxを入力します。SSIDの部分を書き換えるためには、まず矢印キーを使用してカーソルをSSID先頭のSの位置に移動します。この状態で、xキーを4回押すと、SSIDが削除されます。
vi_ssidカーソル移動 2020-12-10 15.50.40.png
vi_ssid削除 2020-12-10 15.50.54.png
次に、使用する無線LAN環境のSSIDを入力します。viエディターで文字を入力する際は、入力したい位置へカーソルを移動した後、iキーを押して挿入モードに変更します。この状態で、キーボードから入力した文字が、カーソルの位置に挿入されます。
vi_ssid挿入モード 2020-12-10 15.51.17.png
vi_ssid入力 2020-12-10 15.51.50.png
入力が完了したら、escキーを押下すれば挿入モードが終了し、入力した内容が確定します。
vi_ssid確定 2020-12-10 15.52.09.png
同様に、カーソルをPINの先頭のPの位置に移動し、使用する無線LAN環境のPINに書き換えます。
vi_pin入力確定 2020-12-10 15.53.06.png
PINの書き換えが完了したら、キーボードから『:』(コロン)、『w』、『q』、『↩︎』(リターン)の順に入力すると、編集した内容が保存され、viエディターが終了します(このとき、カーソルを移動させる必要はありません)。
vi_保存終了 2020-12-10 15.53.36.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

画面出力設定

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
  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