ラズベリーパイ zero OSの環境設定とssh/VNC接続
ここまでで、ラズベリーパイ(Raspberry Pi)のOSであるRaspbianをSDカードに書き込むところまで終わりました。次に、OSの環境設定を行います。
最初は、ラズベリーパイ zeroとパソコンをUSBケーブルで接続して、ssh接続でラズベリーパイを操作する予定でした。この方法は、キーボードやマウス、ディスプレイをラズベリーパイ zeroに接続しないで済みます。
ところが実際にやってみると、ホスト名が通らないトラブルが頻発しました。これはWindows 10のバージョンが1803であるなど、複数の原因が報告されています。
このような経過もあり1番確実な、キーボード、マウス、ディスプレイをラズベリーパイzeroに直接接続する方法を紹介します。ケーブルの接続が面倒ですが、設定が格段に簡単なので、こちらをおすすめします。
1.ケーブルの接続
写真のようにケーブルを接続します。
①電源ケーブル
②usbマウスもしくはusbキーボード
③HDMIケーブル
マウスとキーボードは、必要に応じて切り替えます。USBハブがあれば切り替えは必要ないかもしれません。
2.ラズベリーパイ zeroを立ち上げる
電源ケーブルを差し込めば、Raspbianが立ち上がります。最終的にデスクトップが立ち上がります。1,200円ほどのワンボードパソコンでデスクトップが動くなんて、すごいことですね。
3.sshを有効にする
ターミナルを起動します。デスクトップの「LXTerminal」を選択します。
(※2023年現在、Raspberry Pi Zeroは2 WになってCPU性能が向上したため、ターミナルから環境設定をせずにメニューからの設定でも十分設定できるようになりました。どちらを使って設定しても良いです)
そして、raspi-configを起動します。以下のコマンドを入力してください。
sudo raspi-config
すると、環境設定画面が出てきます。ここで「Interfacing Options」を選択します。
インタフェイス一覧が出てきます。ここで「ssh」を選択します。
「はい」を選択して、sshを有効にします。
4.Wi-Fiの設定
次にWi-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」を入手してください。ブログの中にドライバを提供するページがあります。場所がずれていくので、少しわかりづらいです。
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は試していませんが、今後必要ないので試していません。