ラズベリーパイ zero OSの環境設定とssh/VNC接続

2020年7月16日

ここまでで、ラズベリーパイ(Raspberry Pi)のOSであるRaspbianをSDカードに書き込むところまで終わりました。次に、OSの環境設定を行います。

最初は、ラズベリーパイ zeroとパソコンをUSBケーブルで接続して、ssh接続でラズベリーパイを操作する予定でした。この方法は、キーボードやマウス、ディスプレイをラズベリーパイ zeroに接続しないで済みます。

ところが実際にやってみると、ホスト名が通らないトラブルが頻発しました。これはWindowsのバージョンが1803であるなど、複数の原因が報告されています。

このような経過もあり1番確実な、キーボード、マウス、ディスプレイをラズベリーパイzeroに直接接続する方法を紹介します。ケーブルの接続が面倒ですが、設定が格段に簡単なので、こちらをおすすめします。

1.ケーブルの接続

写真のようにケーブルを接続します。

①電源ケーブル
②usbマウスもしくはusbキーボード
③HDMIケーブル

マウスとキーボードは、必要に応じて切り替えます。USBハブがあれば切り替えは必要ないかもしれません。

2.ラズベリーパイ zeroを立ち上げる

電源ケーブルを差し込めば、Raspbianが立ち上がります。最終的にデスクトップが立ち上がります。1,200円ほどのワンボードパソコンでデスクトップが動くなんて、すごいことですね。

3.sshを有効にする

ターミナルを起動します。デスクトップの「LXTerminal」を選択します。

そして、raspi-configを起動します。以下のコマンドを入力してください。

sudo raspi-config

すると、環境設定画面が出てきます。ここで「Interfacing  Options」を選択します。

インタフェイス一覧が出てきます。ここで「ssh」を選択します。

「はい」を選択して、sshを有効にします。

4.Wi-Fiの設定

次にW-Fiの設定をします。「Network Options」を選択してください。

「Wi-Fi」を選択します。

SSIDとパスワードを入力します。これでWi-Fiが使えるようになります。

右上のステータスバーにWi-Fiのアイコンが有効になれば、設定OKです。試しにブラウザを動かしてみてください。すごく遅いですけど、ウェブを見ることができるでしょう。
ちなみに、マウスカーソルをアイコンの上に置くと、IPアドレスを確認できます。

※後ほど使うホスト名「raspberrypi.local」が通らない現象が複数報告されています。そのためにもIPアドレスは控えておいてください。

5.VNCの設定

パソコンからリモートデスクトップで操作できるVNCを有効にします。

先ほどのインタフェイス一覧で、「VNC」を選びます。

「はい」を選択して実行してください。これでVNCが有効になり、パソコンでリモートデスクトップによるラズベリーパイ zeroの操作ができるようになります。

6.解像度の設定

画面サイズを設定します。「Advanced Options」を選択します。

次に「Resolution」を選択します。

お好みの解像度を選択してください。

7.パソコンでの使い方は次回に行います

ちょっと長くなりすぎたので、パソコン側での操作は次回の投稿で行います。

8.忘備録

これから以降は、USBケーブルでラズベリーパイとパソコンを接続する時の設定方法です。これがドツボにはまりました。

忘れないように記録として残しておきますが、Wi-Fiでの動作確認だけを済ませた状態でUSBの動作検証は行っていません。あくまでも参考として残しておきます。

テキストエディタを用意する

ファイルの中身を修正するときは、LFのみの改行に対応できるテキストエディタを使用してください。Windowsでのテキストの改行はLDLFですが、UNIX系はLFのため、メモ帳などで修正するとLDLFが付いてしまって動かなくなってしまいます。

私は、NoEditorを使って修正しました。プログラムをしない人も使いやすいエディタだと思います。

sshファイルの作成

エクスプローラーで見ると、「boot」ドライブが見えると思います。bootディレクトリの位置で、「ssh」の名前のテキストファイルを作成します。作成後は「.txt」は消してください。
※図では既にsshのファイルができています。

cmdline.txtを修正する

反転しているテキスト「modules-load=dwc2,g_ether」を挿入します。rootwaitの後に正確に入れてください。

config.txtを修正する

最終行に「dtoverlay=dwc2」を追加してください。

SDカードをラズベリーパイのスロットへ挿入する

これで準備ができましたので、SDカードリーダーからSDカードを抜いてラズベリーパイ zeroのスロットに差し込みます。

そして、USBケーブルを使ってラズベリーパイ zeroとWindows PCを接続します。USBケーブルはUSBの印字のあるUSBスロットへ差し込んでください。

RPI Driver OTGの入手

USBケーブルでラズベリーパイzeroを接続すると、デバイスマネージャーではCOM3(環境により番号は異なる)になってしまいます。ここはネットワークアダプタの中の「USB Ethernet」でなければなりません。

これはWindows PCのみで起こる現象で、LinuxやMacでは起こりません。もし、Windows以外のPCをお持ちでしたら、そちらで操作する方がずっと楽です。

このままでは動かないので、ドライバーを入手します。以下のURLから「RPI Driver OTG」を入手してください。ブログの中にドライバを提供するページがあります。場所がずれていくので、少しわかりづらいです。

https://caron.ws/

RPI Driver OTGのインストール

ドライバーの更新を選んで、ダウンロードした「RPI Driver OTG」を読み込ませます。

ドライバーの更新を確認する

デバイスマネージャーのネットワークアダプターの位置にデバイスが表示されればOKです。

ssh接続してみる

それでは、PCからラズベリーパイ zeroへssh接続してみます。ホスト名は「raspberrypi.local」で接続します。

繋がらない!!

ここまで完璧と思われる作業をしましたが「ホストが存在しません」と弾かれます。どうして?ホストを「raspberrypi.local」を使うためにはiTunes(Bonjour)が必要ですが、それも入っています。

ネットワーク接続を見ても動いているようだけど、どうしても繋がりません。IPを直接入力してもダメでした。

しょうがないので、Ubuntuで接続してみることに。しかし、それでもイーサネット接続の失敗が出る始末。これは、もしかしてラズベリーパイ zeroを壊してしまったかも?。起動させるとLEDが点滅して、そのうち点滅が終わるので、大丈夫な気もしますが、これではわかりません

HDMIで接続することにする

もうどうにもならないので、HDMIでディスプレイに接続して、メニューからの設定をするしかありません。がっかりですが、HDMIアダプタをぽちってから、到着後に接続してみました。

すると、起動のメッセージが表示されて、デスクトップ画面が表示されました。sshも有効のメッセージが表示されます。そして、Wi-Fiの設定をすると、インターネットの表示もできるようになりました。

Wi-Fiが動いたので、Wi-FiのIPアドレスでssh接続してみます。しかし、これも接続が拒否されます。他でやってみた人を見ると簡単につながるのに、すっかりこじらせています。少し頭を冷やして、一つずつ問題をクリアしていくしかなさそうです。

この後、デスクトップパソコンに接続したら、あっさりとWi-Fiで接続できました。しかし、ノートパソコンでないと移動先で使えないので、原因をいつかは見つけようと思います。

※後日操作するとWindowsノートもWi-Fi接続できました。何が悪かったのかが分かりません。USBは試していませんが、今後必要ないので試していません。