見出し画像

ゼロからはじめるRaspberry Pi [OSの書き込み/SSH接続]

ゼロ知識からRaspberry Piを使う必要があったため、その過程を書きたいと思います。ゼロからはじめて、MacでRaspberry PiにSSH接続できるところまで行います。

目次

・必要機材
・OSの書き込み
・SSH接続
・(おまけ) Python環境構築

必要機材

使ったのは以下のRaspberry Pi。

箱を開けると以下のような機材が入っています。

このキット以外に以下の3つを使用しました。
・キーボード(USB接続)
・マウス(USB接続)
・ディスプレイ (HDMIのコネクタが付属)

OSの書き込み

OSイメージのダウンロード

まず、Raspberry Piで使うOSをMicroSDに書き込むことで用意します。今回は「Raspbian」というOSを使用します。まず、downloadページからzipファイルをダウンロードします。「Raspbian Stretch with desktop and recommended software」の「Download ZIP」をクリックします。

ダウンロードしたzipファイルを解凍します。

$ unzip 2018-11-13-raspbian-stretch-full.zip

「2018-11-13-raspbian-stretch-full.img」のようなファイルが確認できればOKです。

SDカードのアンマウント

次に、Micro SDカードをPC(今回はMac)に接続します(付属の接続子によりPCにUSB接続できます)。SDカードにイメージを焼き付ける前に、アンマウントを行う必要があります。「アンマウント」とは「物理的にPCと接続していても、アクセスできない状態にすること」です。例えば、PCからデバイスを取り出し可能な状態にするときもアンマウントにあたります。「マウント」とはその逆です。Micro SDを接続したときに自動的にマウントされた状態になりますが、OSを焼き付けるときに使う「dd」コマンドはマウントされた状態のデバイスには実行できません。そのため、まず SDカードをアンマウントする必要があるのです。

アンマウントはGUIでもCUIでもどちらからでも可能です。それぞれの方法で試している記事があるので参考までに。
・GUIから: Raspberry Pi 3にRaspbianをインストール(Mac OS X を使用)
・CUIから: Raspberry PiにRaspbianをインストールする for Mac OSX
ここでは、GUIから行います。

まず、「ディスクユーティリティ」のアプリを開きます。SDにあたるデバイスを選択して、「消去」のボタンを押します。

適当な名前をつけて下記のようにして、「消去」を実行します。

その後に「マウント解除」ボタンをクリックします。

これで、マウント解除完了です。

イメージの書き込み

ここまででイメージの書き込みの準備ができました。書き込みの実行を行いましょう。イメージの書き込みは書き込む場所を間違えると大惨事になりかねないので注意が必要です。

書き込みは下記のコマンドで簡単にできます。「if」にはイメージのパスを、「of」には書き込むデバイスのパスを指定します。「bs」は一度に書き込むブロックサイズですが、1mで問題ありません。特に注意が必要なのは書き込むパスである「of」です。

$ sudo dd bs=1m if=2018-11-13-raspbian-stretch-full.img of=/dev/disk3

下記のコマンドでパスとデバイスの関係を確認できます。

$ diskutil list

SDカードに対応するものを選択します。他の接続次第ですが、「/dev/disk2」か「/dev/disk3」になると思います。ちなみに、先程のディスクユーティリティでも装置「disc3s1」という記述があり、GUIからも確認はできます。(この場合「/dev/disk3」)

ここまで確認して、変更箇所があれば変更して下記を実行します。

$ sudo dd bs=1m if=2018-11-13-raspbian-stretch-full.img of=/dev/disk3

以上で、OSの準備は完了です。

SSH接続

それでは、Raspberry Piの本機にSDカードと、キーボード、マウス、ディスプレイを接続します。本機は電源を繋げると起動します(電源スイッチはなく、電源を繋げば起動します)。起動すると、設定画面になるので、誘導通りに進み、セットアップして下さい。

そこまでできれば、以下のように「Raspberry Piの設定」に進みます。設定画面の「インターフェース」というタブから「SSH」を有効にします。

図引用: raspberry pi 3のsshが繋がらない対策(Connection refused)

これで、SSH接続するRaspberry Pi側の用意は整いました。

それでは、PCから接続してみます。まず、同じネットワーク環境であることを確認してください。

Raspberry PiのIPアドレスを確認するために利用するライブラリをインストールします。

$ brew install arp-scan

インストールできたら、下記のコマンドを実行してみます。

$ sudo arp-scan -l --interface en0

以下のようにRaspberry Piに該当する項目が出力されるので、そのIPを使います。

192.168.11.11 12:34:56:78:90:12 Raspberry Pi Foundation

以下のようにssh接続ができます。ユーザー名は「pi」でIPアドレスは上記のIPアドレスです。パスワードが聞かれますが、OS起動時に設定したものです。(初期値はraspberry)

$ ssh pi@(IP adress)

これで接続できれば成功です!

(補足) Raspberry Piを起動し直すとIPアドレスが変わってしまうようです。IPアドレスはこの記事ではここまでしかやりませんが、IPアドレスを固定すれば対応できるので必要があれば検討してみるとよいでしょう。

(おまけ)Pythonの環境構築

Pythonを使いたかったので、環境構築をpyenvで行いました。一点、下記のようなエラーが出て対応が必要だったのでメモしておきます。

ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

下記のコマンド実行時に発生しました。

$ pyenv install 3.6.8

OpenSSLをインストールして「CFLAGS」にopensslのパスを指定してインストールすればできました。参考: ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? #950

$ CFLAGS=-I/usr/include/openssl LDFLAGS=-L/usr/lib pyenv install 3.6.8

参考URL

https://qiita.com/onlyindreams/items/acc70807b69b43e176bf
http://web09.hatenablog.com/entry/how-to-raspberry-ssh
https://qiita.com/xshell/items/af4e2ef8d804cd29e38e
https://qiita.com/ttyokoyama/items/7afe6404fd8d3e910d09

この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
5
web&DeepLearningエンジニア系大学生。 東京大学/鹿児島→東京/Rails/DeepLearning/その他諸々 Qiita: https://qiita.com/shizuma blog: https://blog.seishin55.com
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。