はじめに
プログラミングの学習を始めてから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から操作できるように設定します。
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"のダウンロードが開始されます。
詳細手順
ダウンロードが完了したら、保存されたファイルimager_1.4.dmgをダブルクリックし、アプリケーションをPCにインストールします。
下記のウインドウが表示されたら、左側のラズベリーのアイコンを、右側のフォルダーのアイコン上にドラッグ&ドロップすればインストールは完了。LaunchpadからPaspberry PI Imagerを起動できるようになります。(インストーラimager_1.4.dmgは削除して問題ありません。)
準備ができたので、Paspberry PI Imagerを使って、microSDカードにraspberryPi OSをインストールします。 インターネットアクセス可能なPCに接続されたmicroSDカードライターのスロットに、microSDカードを挿入します。
詳細手順
次に、LaunchpadでPaspberry PI Imagerのアイコンをクリックし、Paspberry PI Imagerを起動します。
下記のウインドウが表示されたら、CHOOSE OSをクリックします。
下記のOS選択ウィンドウが表示されますので、Raspberry Pi OS(32-bit)をクリックします。
OSを選択すると下記のウインドウが表示されますので、CHOOSE SD CARDをクリックします。
下記のウインドウが表示されますので、使用するSDカードをクリックします。
OSとSDカードの選択が完了すると、下記のウインドウが表示され、OSの書き込みが開始可能となります。
選択したOS、SDカードに間違いがなければ、WRITEをクリックします。
microSDカード上の全てのデータが消去されることを確認すウインドウが表示されるので、問題なければYESをクリックします。
下記のウインドウが表示され、microSDカードへのOSの書き込みが開始されます。
OSの書き込みが完了すると、自動的にVerifyを開始します。
verifyが完了すると下記のウインドウが表示されます。CONTINUEをクリックすると、ウインドウが閉じ、OSのインストールが完了します。
筆者が実施した環境では、OSの書き込み開始からVerifyの完了まで、25分程度かかりました。
SSHの有効化
次に、安全に(=他人が勝手にRaspberryPiを操作したり、PCとRaspberryPiとの間の通信を盗聴することを防ぎつつ)、PCからネットワークを経由してRaspberryPiにログインして操作を可能にするために、SSH(Secure Shell)を有効にします。
OSをインストールしたmicroSDカードのrootに、SSHという名前の空のファイルを作成すると、SSHが有効になります。
無線LANの設定
RaspberryPiを無線LANに接続するために、OSをインストールしたmicroSDカードのrootに、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とします。 ファイルの作成には、macのターミナル上で標準で使用できるテキストエディター viエディターを使用します。
上記コードで、ssidとpskのダブルコーテーション(")が全角になっていたため、コピーして使用しても正常に動作しませんでした。(2021/1/28 修正)。
詳細手順
Launchpadからターミナルを起動し、vi /volumes/【microSDカード rootディレクトリ名】/wpa_supplicant.conf
と入力すると、viエディター上でwpa_supplicant.confという名前の新しいファイルが開きます(【microSDカード rootディレクトリ名】の部分は、SSHの有効化のときと同様に、Finderでドライブを表示したときに表示されるmicroSDカードのドライブ名です)。
次に、使用する無線LANに接続するための情報を書き込みます。
上記のwpa_supplicant.confに書き込むコードを、そのまま(SSID、PINの部分も変更せず)コピーします。
viエディターを開いたターミナルのウインドウ上にマウスポインタを移動し、トラックパッドを副ボタンクリック(2本指のクリック)してペーストを選択すれば、コードが入力できます。
次に、使用する無線LANの環境に合わせて編集します。コードのSSIDとPINの部分を、使用する無線LANのSSIDとPINに書き換えます。
viエディターでは、文字を消去するときは、カーソルを消去したい文字上に移動してxを入力します。SSIDの部分を書き換えるためには、まず矢印キーを使用してカーソルをSSID先頭のSの位置に移動します。この状態で、xキーを4回押すと、SSIDが削除されます。
次に、使用する無線LAN環境のSSIDを入力します。viエディターで文字を入力する際は、入力したい位置へカーソルを移動した後、iキーを押して挿入モードに変更します。この状態で、キーボードから入力した文字が、カーソルの位置に挿入されます。
入力が完了したら、escキーを押下すれば挿入モードが終了し、入力した内容が確定します。
同様に、カーソルをPINの先頭のPの位置に移動し、使用する無線LAN環境のPINに書き換えます。
PINの書き換えが完了したら、キーボードから『:』(コロン)、『w』、『q』、『↩︎』(リターン)の順に入力すると、編集した内容が保存され、viエディターが終了します(このとき、カーソルを移動させる必要はありません)。
Linuxコマンドのcatを使用すると、作成したwpa_supplicant.confの内容を確認できます。ターミナルで、cat /volumes/【microSDカード rootディレクトリ名】/wpa_supplicant.conf
と入力します(【microSDカード rootディレクトリ名】の部分は、Finderでドライブを表示したときに表示されるmicroSDカードのドライブ名です)。
画面出力設定
RaspberryPi OSは、標準の設定ではHDMIでディスプレイを接続していないと、PCからリモートデスクトップ接続してもRaspberryPiの画面が表示されずにエラーとなってしまいます。ディスプレイを接続していないRaspberryPiへのリモートデスクトップ接続でRaspberryPiの画面をPCに表示できるよう、設定を変更します。
OSをインストールしたmicroSDカードのrootにあるconfig.txtを編集することで、設定が変更できます。
config.txtの中でコメントアウトされている# hdmi_force_hotplug=1
という設定を有効にすることで、リモートデスクトップ接続しているPCでRaspberryPiの画面を表示できるようになります。
詳細手順
vi /volumes/【microSDカード rootディレクトリ名】/config.txt
と入力し、viエディター上でconfig.txtを開きます(【microSDカード rootディレクトリ名】の部分は、Finderでドライブを表示したときに表示されるmicroSDカードのドライブ名です)。# hdmi_force_hotplug=1
の#の上に移動します。
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(開発環境)
おわりに
プログラミング初心者のため、誤りが多々あると思います。アドバイス、励ましのコメントなどいただけると嬉しいです。