【ラズパイ】Raspberry Piをディスプレイなしでセットアップする

Raspberry Pi

ラズパイをリモートでセットアップ

教育用の小さい安いコンピューターがルーツのラズパイでいろいろ遊ぶために標準OSのRaspberry Pi OSをインストールし、VNCでパソコンからラズパイを操作できるようにしていきます。Raspberry Pi OSは旧称RaspbianのことでLinuxベースの汎用OSになります。何が便利って一番最初のOSとして非常にフレンドリーで、インストール自体も書き込みソフトをダウンロードしてクリックするだけ。この記事ではただインストールして終わりではなくラズパイのために新たにキーボード、マウス、モニターを準備することなくVNCで使えるようになるまでをご紹介します。トップ画像の状態で使える、いわゆるヘッドレス環境の構築です。VNCは言うならばリモートデスクトップみたいなものでほかのパソコンでラズパイのデスクトップを見てそのままマウスとキーボードで操作できるようにしちゃうソフトです。小さいラズパイに電源を差しておくだけでいつでも別のパソコンから使えるので思いついたときに遊べるので非常に便利。この方法はラズパイぜんぶで共通です。Windowsのパソコンでセットアップを進める設定で書いています。

トップ画像はラズパイ3ですがどのラズパイでも同じ手順でできちゃいます。ちなみに我が家ではペットカメラをZero Wで構築しています。

Raspberry Pi OSをインストール

まずはOSをSDカードに書き込みます。専用のインストーラーが提供されているのでパソコンで公式サイトにアクセスし、Windows用なりMac用をダウンロード、インストールしておきます。

インストールしたら起動するとシンプルな画面が表示されます。

OSを選んで ⇒ 書き込み先を指定して ⇒ クリックするだけの親切設計。この辺りは先発の人気書き込みソフトbalenaEcharに似てますね。Pi Imager v1.66以降はヘッドレスでの利用開始を標準でサポートしていて右下の歯車から初期設定ができるようになっています。この機能が出たときは感動したよ・・・。

  • いつも使う設定なのか今回のみなのか選べます
  • ホスト名は必要に応じて変更。ラズパイが複数あるなら変えた方が探すとき楽です。
  • SSHは有効。パスワード認証を使うに設定しておいて下段のパスワード運用が標準的です。
  • ユーザー名とパスワードはデフォルトだとpi / raspberryです。
  • WiFi運用なら必ず設定してください。SSIDとパスワードをここで入力しておけるようになったのでスタートが非常に楽になりました。
  • ロケール設定は時間をAsia/Tokyoに、キーボードはjpで。

以前はBootフォルダに書き込み後から手でファイルを入れていたのが自動化されたイメージです。

ひとまずここではOSは一番上のRaspberry Pi OS (32-bit) を選択します。ほかのメジャーOSも一部カバーされていたりと、あちこちに散らばっていたOSがスマートにまとめられています。メディアサーバーにするならKodiの中のLibreELECを選んだりと慣れたらいろいろインストールしてみるといいかもしれません。カスタムからダウンロードした.imgファイルの指定もできます。アンドロイドもインストールできちゃいます。

真ん中で書き込み先を選択し、「書き込む」をクリックします。ホントにいいの?と確認がはいるのではいを選択、数分待ちます。途中でWindowsに「読み込めません」とか「使うにはフォーマットしてください」と言われますがすべて閉じるで無視します。Windowsで読めない形式なだけでラズパイには問題ナシです。そのままラズパイにさして電源ONします。

(参考)以前のやりかた

v1.6以前は手動でファイルをBootフォルダに追加することでWiFi設定とSSHを有効にしていました。Pi Imager以外で書き込む場合には使える手法なので記録までに書いておきます。

書き込みが終了したらbootフォルダにアクセスします。

ここで直接無線LANとSSHの設定をしてしまいます。無線LANは”wpa_supplicant.conf”というファイルをbootフォルダに作成、メモ帳などのテキストエディタで下記をいれておきます。

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

network={
scan_ssid=1
ssid="●ネットワークの名前●"
psk="●パスワード●"
}

●~●はラズパイをつなげるWFiのSSIDとパスワードをいれます。前後の””は必要です。起動後にSSID探してパスワード入力する代わりにあらかじめ教えてあげます。ここまで書いておいてアレですがファイル作っておいたのでダウンロードしてもokです。右クリック ⇒ 対象を名前を付けて保存でどうぞ。

wpa_supplicant.config“をダウンロード

もうひとつ、SSHを有効にします。初期設定では外部からのアクセスを受け付けないことになっているのでSSHを有効にするために空っぽの、拡張子もない「ssh」というファイルを同じくbootに作成します。もしくは下からダウンロードしてください。勝手に.txtになることがあるので拡張子ついちゃったら削除してください。

“ssh”をダウンロード

ということでこの2つのファイルをboot内に追加したらSDカードをラズパイに戻して電源ケーブルさして起動します。

IPアドレスを調べる

ラズパイを電源にさして3分放置したらWiFiにつながっているはずなので、まずはIPアドレスを調べます。ルーター設定画面で確認が第一選択ですが以下の方法もご紹介します。

名前で調べる

インストール時にデフォルトでは名前がraspberrypi.localになっています。sshではIPアドレスの代わりにこの名前でも探せます。以前はラズパイが同一ネットワークに複数あると面倒だったのですが名前が指定できるようになってずいぶん楽になりました。後述の”ssh pi@raspberrypi.local”がうまくかなければ下の方法をお試しください。

スマホアプリで調べる

これが一番楽かな。AndroidならNetwork Scanner、iPhoneならiNetがおすすめです。

フリーソフトで調べる

もしPowerShellからラズパイのIPアドレスを探せなければWiFiルーターの管理画面もしくはAngry IP Scannerを使います。

操作方法は難しくなく、起動したら探すIPアドレスの範囲を決めてStartを押すだけです。といってもデフォルトで探す範囲が入ってると思いますのでStartクリックするだけの簡単仕様。うまくいけばRaspberrypiって書いてある番号が見つかると思います。

SSHの準備

初めてラズパイに接続する場合この手順は無視してください。OS再インストールなどで同じラズパイにOSを入れなおしたりするとFingerpringが違うとエラーがでるので解決策です。

  • Cドライブ ⇒ ユーザー ⇒ ユーザー名 ⇒ “.ssh”という隠しフォルダ ⇒ “known_hosts”というファイルがある場合はそのファイルを削除してください。フォルダもファイルもない場合は気にせず次へ
  • Windows PowerShellを起動して、”ssh”と入力、エンター押したときのメッセージが下の画像と同じならokです、気にせず次へ進んでください。もしそんなコマンド知らんなど他の表示ならばSSHがまだ使えない状態なのでPuTTYというソフトをインストールしてください。あ、PowerShellは最初からWindowsに入っているアプリです。右クリックでコピーor貼り付けできます。

PowerShellからラズパイに接続

ラズパイに接続するためにPowerShellを起動します。ちなみにPowerShellとコマンドプロンプトはできることほぼ一緒なのでもしコマンドプロンプトがお好きならそちらでどうぞ。起動したら、”ssh pi@raspberrypi.local”と入力します。これはsshでraspberrypiという名前のローカルネットワーク内のデバイスにpiというユーザーで接続します、という意味です。我が家の場合はラズパイに固定IPで192.168.0.11を割り当てているので

//デフォルトの名前
$ ssh pi@raspberry.local
//IPアドレスから指定の例
$ ssh pi@192.168.0.11

のどちらでも接続できます。

初回の接続時にPowerShellに「ほんとに接続していいの?」と聞かれるので”yes”と入力します。エンターを押すとパスワードを入力するように求められるのでOSインストール時に設定したパスワードもしくは初期パスワードのraspberryと入力します。入力してもカーソールは動きませんが気にせず入力してください。無事ログインできると以下の表示になります。

ここまでくればひと段落、SSH接続が確立してラズパイを操作できる状態になっています。

VNCで接続

デスクトップが見えてマウスでクリック操作がひとまずのゴールなのでVNC接続の設定をします。PowerShellの最後が”pi@raspberry:~ $ “となっていることを確認して設定画面を呼び出します。

$ sudo raspi-config

と入力するとラズパイの基本的な設定画面が開きます。

VNCの設定は”Interface Options”にあるのでInterface Options ⇒ VNC ⇒ <YES>です。enableにしたよと表示がでるのでOKするとraspi-configのトップ画面に戻ります。

もうちょっとだけ設定を進めます。System Options ⇒ Boot / Auto Login ⇒ Desktopを選択します。GUI (Graphical User Interface) を有効にしないと見覚えのあるデスクトップが準備されません。raspi-configのトップ画面に戻りFinishを選択すると再起動するかと聞かれるので<Yes>を選択します。

お次はデスクトップの解像度を設定します。というのもディスプレイにつながっていない状態だとデスクトップは出力されていないので、ディスプレイに関わらず解像度を指定しておくことでバーチャルデスクトップを表示するようにします。raspi-configよりDisplay Options ⇒ Resolution ⇒ 解像度を選択します。まぁお好みですが1920×1080を選んでおけば問題ないと思います。もしここでフリーズしちゃったり設定したのに反映されないようであればページ下部「デスクトップがどうしても起動しない」を実行してください。

ラズパイ側の設定はこれで完了です。<Finish>で戻ると再起動するかと聞かれるので再起動します。

VNC viewerのインストール

お次はラズパイにアクセスする側、クライアントPCの設定を進めます。一番メジャーでシンプルなReal VNCのVNC Viewerを使います。

ダウンロード画面でいろいろ並んでいるのはアクセスする側のOSです。リンク先のラズパイはラズパイから他のデバイスにVNC接続するためのバージョンです。ここではWindows版で進めます。

インストールして起動したら左上のFile ⇒ New Connectionから新しい接続を設定します。VNC ServerにはラズパイのIPアドレス、Nameはわかりやすい名前を入れておきます。ここは空欄でも大丈夫でその場合はIPアドレスが名前になります。ちなみに我が家はラズパイ3はRPi3、4はRPi4です。

最初だけ「ほんとにつないでいいの?」と聞かれるのでYes、UsernameはPi、Passwordは設定したもの(デフォはraspberry)で接続します。

無事に接続するとラズパイのデスクトップが表示されます。これでVNC接続でパソコンからラズパイをGUIで操作する環境が整いました。

初期設定のウィザードが立ち上がっているので言語設定やパスワードの変更を進めます。もしデスクトップの周囲に黒い枠があるなら途中の”This screen shows a black border~”にチェックを入れます。WiFi設定はすでに済んでいるのでSkipでokです。Update Softwareは時間あるなら実行しましょう、10分以上かかります。最後にRestartで再起動したら完了です。VNCが切れますがそりゃ再起動してりゃ当たり前ってことで数分待ちます。ラズパイが再起動したら初期設定は完了です◎

デスクトップがどうしても起動しない

上記で紹介した方法がいわゆる正攻法で、コマンドやメニューから設定を変更する方法です。ただ私みたいにラズパイの機嫌が悪くデスクトップがどうしても表示されずVNCで接続できない場合もあろうかと思います。そんな時は直接boot/config.txtを編集します。SDカードをパソコンにさしてもいいですし、sshで接続しPowerShellから

$ sudo nano /boot/config.txt

でもokです。nanoはWindowsのメモ帳に相当するソフトで、nanoでbootフォルダに入ってるconfig.txtってファイルを開いてねのコマンドです。

HDMIを有効にする

HDMIケーブルが差さってなくても強制的にHDMI出力、1920×1080に設定します。

  1. config.txt中の”#hdmi_force_hotplug=1”の#を削除(コメントアウト解除)
  2. ”#hdmi_group=1″の#を削除
  3. “#hdmi_mode=1″を”hdmi_mode=5″に変更
  4. 最後の方の”dtoverlay=vc4-fkms-v3d”の先頭に#を追加する(コメントアウト)

Ctrl+sで上書き保存、Ctrl+xで終了です。これでデスクトップが強制的にフルHDで表示されています。groupとmodeの設定は細かくはコチラを参照ください。1でhdmiケーブルが刺さってなくても強制的にhdmiから映像出力をするようにして、2で出力モードを指定、3でそのモードに対応したディスプレイサイズを指定しています。4はこの方法を使うとVNCで表示の際に画面のサイズによっては正しくフルスクリーンにならないことがあるので修正しています。

我が家にはラズパイが5台ありますが若干挙動が違うんですよね・・・VNCは慣れたら使わなくなるので最初だけお付き合いください。

おまじない

ラズパイ最初のおまじないを忘れずに実行したら完了です。

$ sudo apt update
$ sudo apt full-upgrade

ラズパイ本体だけで使用環境が整うのでハードルがすんごい下がります。慣れてきたらテレビサーバーだって自分でつくれちゃいます。

今までは買うしかなかった電子機器でも自分でつくれるようになるラズパイ、一家に一台あっても損はしません。

コメント

  1. 匿名 より:

    とっても丁寧で助かりました。感謝です

タイトルとURLをコピーしました