はじめに
プログラミング歴半年の初心者記事です。
間違っていたらご指摘ください。
また、ご自身でも調べてからお試しください。
やりたいこと
ラズパイは、モニターやキーボードに接続して使うのが一般的です。
しかしながら、外出先などに持っていくには荷物になってしまうことも。なにより高価ですよね。
そのため今回は、すでに持っているMacbook Airと接続し、モニター、キーボード、マウスとして使うことにしました。
環境
MacBook Air mid 2014(11 inch)
-OS: MacOS Mojave
Raspberry Pi Model 3 B+
-OS: Raspbian Buster with desktop and recommended software
材料
- ラズパイ本体
- SDカード
- イーサネットケーブル
- Macbook
セットアップ手順
以下のサイトをメインに参考にさせていただきました。
たくさんの資料をWebに残してくださっている先輩がたに、ただただ感謝です。
私は以下の手順で初回起動とセットアップを行いましたが、実行環境によってエラーがでたり、うまくいかない場合があるかと思います。
他の記事も参照しながら丁寧に進めていただくことをおすすめします。
OSのインストール
まずはMacbookをつかってmicroSDカードにOSをインストールします。
実際にダウンロードする前に、「ディスクユーティリティ」から、SDカードが初期化されているか、フォーマットが「FAT-32」になっているかどうか確認します。
Raspberry Piの公式サイトから、Zipファイルをダウンロードし、解凍しておきます。
今回は「Raspbian」OSを/Users/Mymac/Downloads/
(いわゆるダウンロードフォルダ)に保存しました。
解凍して現れたimgファイルをSDカードに保存するのですが、これをMacのターミナルから行います。
まず、SDカードの場所を特定するため、ターミナルで以下のコマンドを実行します。
$ diskutil list
接続されているディスク(記憶装置)がリストで表示されます。私の場合は
/dev/disk4
がSDカードでした。
次に、SDカードをアンマウントします。アンマウントとは「安全に取り外せる状態」のことです。(私の場合は/dev/disk4
がSDカードの位置です。)
$ diskutil unmountDisk /dev/disk4
アンマウントしたら、SDカードにimgファイルを書き込みます。(Users/
以降は、imgファイルへのパスです。)
$ sudo dd bs=1m if=/Users/Mymac/Downloads/2019-06-28-wheezy-raspbian.img of=/dev/disk4
コマンド実行後は特に何も表示されませんが、バックグラウンドで処理されています。私の場合は20分くらいかかりました。ここでコーヒーを飲んで一服してください。
sshファイルの作成
SDカードにOSの書き込みができたら、bootディレクトリにsshという空ファイルを作成しておきます。
$ touch /Volumes/boot/ssh
SSHとは、めちゃくちゃ簡単にいうと「コンピュータを遠隔操作するやり方の一つ」です。これからMacbookを使って、ラズパイを遠隔操作します。
しかし、ラズパイは自分を守るために、SSH(つまり遠隔操作)を無効にする設定になっています。そして、sshという空ファイルを認識したら、遠隔操作が有効になるよう設定されています。
私はこれをやっておらず、ラズパイ起動後にSSHができなくて詰みました。電源を引っこ抜いてSDカードをMacbookにさし直して、sshという空ファイルを作るはめになりました。(クソザコなので雑な解決しかできませんでした)
マックに接続する
SDカードにOSの書き込み、sshファイルの作成ができたら、ラズパイ本体にSDカードをさしておきます。(ラズパイの電源はまだ入れません。Macbookともつなぎません)
次にイーサネットケーブルを、Macbookに差し込みます。
Macbookのシステム環境設定から、「共有」へと進み「インターネット共有」「USB-LAN(名前が違うかもしれません)」にチェックをいれます。
ラズパイに電源を入れて起動まで1分ほど待ちます。
Macbookとラズパイをイーサネットケーブルでつなぎます。
おめでとうございます!これでMacbookとラズパイがつながりました!
(ここからが本番です。)
IPアドレスの特定
ラスパイをSSHで操作するためには、ラズパイのIPアドレスを特定する必要があります。
あとから調べてわかりましたが、大抵 「192.168.2.2」だそうですのでまずこれを試してみてもいいかもしれません。
私の場合は先述のとおり最初にsshを有効化していなかったせいか、多くのサイトで紹介されているコマンドでIPアドレスを取得できませんでした。
通常の場合、おそらく以下のコマンドでIPアドレスを取得できるかと思います。
$ ssh pi@raspberrypi.local
arp-scanを使ってIPアドレスを調べる
私は、arp-scanを使ってIPアドレスを調べました。
arp-scanは同一ネットワーク内のIPアドレスを調べるコマンドです。
私が行った手順はは以下の通りです。
-
Homebrewのインストール(ソフトウェア管理システムです/ここでは詳しく説明しませんので各自調べてください)
-
brewを使ってarp-scanをインストール
$ brew install arp-scan
- コンピュータが接続されているネットワークを表示
$ifconfig
- 接続されているネットワークやアダプタ名e4 やwlan0やbridge100など)がリストで表示されますので、メモる。
$ sudo arp-scan -l --interface bridge100
bridge100の部分は環境によってことなります。
先ほどメモったアダプタ名を総当たりで実行し、当たりだったらIPアドレスが表示されます(頭悪い)
ついに、ラズパイに接続!
以下を実行し、ラズパイを操作します。
$ ssh pi@192.168.2.2
接続に成功すると、ターミナルで以下のように表示されるはずです。
pi@raspberrypi ~ $
これは、Macのターミナルからラズパイを操作しているということです。
あとはラズパイのデスクトップをMacbookに表示させる必要があります。
設定にとりかかります。以下を実行すると、設定画面が表示されます。
$ sudo raspi-config
VNCの設定
「5 Interfacing Options」 > 「P3 VNC」 > 「Yes」
を選択します。これで、Raspberry Pi 3側の設定は完了です。
「VNC」というのは、コンピュータを遠隔操作するときに使うソフトのことです。現在ターミナルから遠隔操作しているのを、もっとやりやすくしてくれるソフトです。
今度はMac側でVNCの設定をします。
VNCクライアントの RealVNC Viewer をインストールします。
RealVNC Viewerを起動したら、先ほど調べたラズパイのIPアドレスを入力します。
これで、ラスパイのデスクトップが表示されたら終了です!
あとは画面の指示に従えば、基本設定も通常のパソコンのように行うことができます。
ラスパイのデスクトップが表示されない場合
ラスパイのデスクトップが表示されない場合(cannot show desktop)は、設定で
「8 Advanced Options」 > 「5 Resolution」 > 「1920 x 1080」
にしてみてください。
うまくいかない場合は他の画面サイズも試してみてください。
「Would you like to reboot now? (再起動しますか?)」と聞かれた場合は「yes」で大丈夫です。
まとめ
ようやくMacbookにデスクトップが表示されました!
-
Macbookに接続しよう
-
ipアドレスがわかんない
-
ssh接続できない
-
VNC表示されない
など、一通り初心者が詰まるエラーを経た気がしますが、そのぶん喜びもひとしおです。