0
2

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 1 year has passed since last update.

Rasberry Piの初期設定(ヘッドレスで設定)

Last updated at Posted at 2022-02-03

# 追記
Raspberry Pi ヘッドレスセットアップという記事がRaspberry Pi Imagerを使ってのヘッドレス設定について解説しています。何枚もOS入りsdカード作らないならRaspberry Pi ヘッドレスセットアップの方が絶対楽です。

目的

久しぶりにRaspberry Piを使って何かしようと思い、Raspiの設定をしようと思ったところいろいろと状況が変わったようなので調査がてら、自分向けにまとめていきます。

目標

Raspiに接続するディスプレイとキーボードを使わずに、sshで接続可能にする。

使用したもの

  1. OSをsdカードに焼いたり、sshを接続するためのPC(Mac Pro M1チップのものを使いました)
  2. Rasberri Pi 本体(Raspberri Pi 3 model Bを使いました)
  3. SDカード(32GB)

どちらの機器で操作しているか分かりやすくするために、1をPC、2をRasberry PiまたはRaspiと表現します。

OSの準備

Raspberry Piを動かすためのOSの準備をします。用意したSDカードにOSを焼きます。Raspberri PiはSDカードからOSを読み込んで動作します。1このとき使用するOSは以前はRaspbianと呼ばれていましたが、現在はRaspberry Pi OSと呼ぶそうです。2

Raspberri Pi公式からRaspberri Pi Imagerという、sdカードに焼くためのsoftwareが用意されています。また、このソフトウェアからOSを選択できるので別個にOSをダウンロードする必要はありません。

Raspberry Pi Imager のインストール

Rasberry Piの公式ページSoftware からインストールできます。個人的にはパッケージ管理ソフトを使って入れたいのので、Macのパッケージ管理ソフトbrewを使って入れています。3

brew install --cask raspberry-pi-imager

Ubuntuなどでaptを使う場合はこちらです。

sudo apt install rpi-imager

これで、OSを焼く準備が完了しました。

Raspberry Pi OS をSDカードに焼く

OSを焼くSDカードをPCに接続し、Raspberry PI Imagerを立ち上げてください。

Raspberry Pi Imager の起動画面

Operating Systemの項目のCHOOSE OSからRaspberry Pi OS (32-bit)を選択、Storageの項目のCHOOSE STORAGEから接続したSDカードを選択します。

WRITEが押せるようになっていると思いますので、WRITEを押して書き込みます。

SSHで接続をするための設定

通常の手順では、この時点でSDカードをPCから取り外しますが、今回はそのままネットワークに接続するための設定をしていきます。

raspi用のディスプレイやキーボードを用意していないので、最低限ネットワークに接続できるようにして、sshを有効化してPCから接続できるようにしていきます。

ネットワークへ接続するための設定

ここでの、ネットワークへの接続はwi-fiの使用を想定しています。有線LANを使用する場合はそのまま次の項目へ進んでくださの使用を想定しています。有線LANを使用する場合はそのまま次の項目へ進んでください 。

wi-fiの設定はwpa_supplicant.confというファイルに記述されます。SDカードの直下(ルートディレクトリ)にこの名前のファイルを作成し、ファイルの中身を以下のようにして保存します。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
  ssid="【接続したいSSIDの名前】"
  psk=【wifiのパスワード】
}
  • 【接続したいSSIDの名前】は接続したいSSIDの名前に変更してください。"で囲んでください。
  • 【wifiのパスワード】は"で囲むことで平文で記述することもできますが、パスワードを平文で書くのは非常に気持ちが悪いので、こちらのサイトなどでWPA keyを計算して"で囲まずに記述してください。

SSHの有効化

デフォルトの状態ではSSHは無効化されています4。有効化は簡単です。SDカードの直下(ルートディレクトリ)に、sshという名前のファイルを作成するだけです。

sshで接続

Raspiを立ち上げていきます。PCからSDカードを取り外して、Raspiに入れ電源を繋げてください。

IPアドレスの検索

現状では、RaspiのIPアドレスがわかりません。
まずは、デフォルトで割り振られるホスト名raspberrypi.localで試してみてください。

ssh pi@raspberrypi.local

複数のraspiを接続していない場合はこれで接続できると思います。piの部分がユーザー名、raspberrypi.localがホスト名を表しています。

しかし、複数のRaspiを接続していて、かつホスト名をraspberrypiから変更していない場合は、この方法では検索できません。そこでarp5というコマンドを使って調べたいと思います。

arp -a |grep -e b8 -e dc -e e4

arp -aは現在のネットワーク内で使用されているIPアドレスとMACアドレスの対応を表示してくれます。grepは指定して単語が含まれる行のみ表示してくれます。 -eオプションはor検索をしてくれます。b8dce4はRaspiのMACアドレスの冒頭の2文字です。以前はb8:~のみでしたが最近追加されたようです。こちらを確認してください。

ここで表示されたIPアドレスがraspiのIPアドレスになります。複数のraspiを繋げていると当然複数表示されるので、適切なものを選んでください。

仮に192.168.X.XXXが繋げたいraspiのIPアドレスだったとします。

SSHで接続

PCからsshで接続します。PCのターミナルで

ssh pi@192.168.X.XXX

入力してください。パスワードはraspberryです。これでsshで接続できます。

raspiの設定

sshでraspiに接続できたと思います。最後にraspi上での設定をします。

パスワードの変更

Raspberry Pi OSのsshのデフォルトのユーザーとパスワードはpiraspberryであるのは有名なので必ず変更しましょう。sshで繋げたraspi上で

sudo raspi-config

と入力してください。
raspi-configの画面
この画面が表示されます。1 System Options -> S3 Passwordで変更することができます。

タイムゾーンの設定

タイムゾーンを日本に変更します。
raspi-config5 Localisation Options -> L2 Timezone -> Asia -> Tokyoで変更できます。

  1. 設定をすることで、USBからのOSの起動も可能なようです。https://jyn.jp/raspberrypi-usb-only-boot/

  2. 他のOSをインストールすることが可能です。実際Raspberry Pi Imager では様々なOSが選択できます。ですが、 Rasberry Pi OSがデファクトスタンダードとなっており、特定の目的がない場合はこれこれを使います。

  3. https://formulae.brew.sh/cask/raspberry-pi-imager

  4. 初期のユーザ名がpi、パスワードがraspberryとなっていることは検索すればすぐに出てくるのでセキュリティ上の問題だと思います。

  5. arpAddress Resolution Protocolの略です。IPアドレス(ネットワーク上で割り振られる識別子)からMACアドレス(機器に固有の識別子)を調べるプロトコルです。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?