GWでRaspberryPi3をつかって遊んだのでそのインストレーションガイドを作成しました。お役立て下さい。
ハードウェアで必要なもの
- Raspberry Pi 3 model B
- 言わずもがなです。
- PC
- 今回はMacbookPro(MBP) 13inch Early2015・OS X El Capitan(10.11.3)を用意しました。Macであればこの文書の方法は使えるのでMacbookAirでもなんでもいいです。
- MicroSD
- 8GB以上あればいいです。
- 今回は余裕を持って Trancend Premium 400x 32GB(SDHC Class10) を利用しています。
- SDカードリーダー
- MicroSDにイメージを書き込むために必要です。
- MBPの場合は本体にSDカードリーダーが付いているのでSDカード変換アダプタ経由で利用することができるので、別途で用意しなくても大丈夫です。
- 今回は別途でLOASの
CRW-12M36BK
が手元にあったのでこれを利用しています。
- USB充電器とMicroUSBケーブル
- RaspberryPiに給電するために必要です。
- 今回は5V 2.1Aのものを使用しています。
- ディスプレイとHDMIケーブル
- RaspberryPiに接続する画面です。
- HDMIポートがあるテレビがある場合はそれで代用できますが、上下左右数ピクセルが切れてしまう可能性があるので注意して下さい
- USBキーボード・マウス
- キーボードは必須です。日本語キーボードでも大丈夫ですが、今回はHHKB(USキーボード)を利用しています。キーボードレイアウトの設定は今回の記事に書いているので安心して下さい。
- マウスはGUIでいじるときに必要になります。今回は必要無いように書きますが、あると便利かもしれません。
- なお、Lenovoから出ている、トラックポイント付きキーボード
SK-8855
を持っていたので試した所、キーボードもマウスも使えることがわかりました。
- ネットワーク環境
- 有線LANが確保出来る場合は一番楽です。イーサーネットケーブルも必要になるので確保して下さい。
- 無線LANしか確保出来ない場合も、Raspberry Pi3であれば無線LAN接続できるので大丈夫です。
Rasbian(OS)をダウンロード
公式サイトからRasbianをダウンロードします。
Download Raspbian for Raspberry Pi
今回はRASPBIAN JESSIE
のversionMarch 2016
を選択しました。デスクトップが要らない、最小限の構成で組みたい人はRASPBIAN JESSIE LITE
を選択して下さい。
Download Torrent
Download Zip
のどちらかでイメージを落として下さい。なお、Download Zip
はhttp経由でダウンロードすることになりますが、滅茶苦茶遅かったので、Torrentで落とすことをおすすめします。
RaspberryPiには他にもWindows10 IoTやUbuntuのイメージもあります。
MicroSDをフォーマットする
書き込むMicroSDをフォーマットします。ディスクユーティリティを開いたらMicroSDが接続されてる外部ディスクを選択し、「消去」をクリックして下さい。
フォーマットをMS-DOS(FAT)
、方式をマスター・ブート・レコード
にして消去します。
MicroSDにRasbianイメージを書き込む
デバイス名を確認する
ディスクユーティリティを使う場合
先のディスクユーティリティの操作のままやる場合は、先ほどのウィンドウ右下に装置
と書いてあるところのdisk4
とかいてあるのを調べます。disk4
であれば/dev/disk4
をメモっておきます。
ターミナルを使う場合
ターミナルの場合はdiskutil list
で書き込むMicroSDのデバイスを確認します。容量が32GBであることはわかっているので、それを頼りに探します。
$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage Macintosh HD 250.1 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD +249.8 GB disk1
Logical Volume on disk0s2
96BDA3EA-C7C8-418F-9498-1B119D6D8E86
Unencrypted
/dev/disk4 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *32.2 GB disk4
1: DOS_FAT_32 32.2 GB disk4s1
アンマウントし、イメージを書き込む
デバイス名(この場合は/dev/disk4
)がわかれば、一旦アンマウントします。
$ diskutil unmountDisk /dev/disk4
Unmount of all volumes on disk4 was successful
アンマウントしたらdd
コマンドでRaspbianイメージを書き込みます。この操作は5-20分くらいかかったりします。パスワードが要求されます。基本的にはいまログインしているユーザーのパスワードを入力しましょう。
$ sudo dd bs=1m if=/Users/admin/Downloads/2016-03-18-raspbian-jessie.img of=/dev/disk4
Password:
3847+0 records in
3847+0 records out
4033871872 bytes transferred in 511.636614 secs (7884252 bytes/sec)
RaspberryPiを起動する
各種ケーブルの接続等を行う
先ほどイメージを書き込んだMicroSDを挿入します。RaspberryPiの裏面にカードスロットがあります。
有線LANケーブル、USBキーボードを取り付けます。今回はHHKBを取り付けました。有線LANがなく、無線LANしかない環境の場合は有線LANを取り付けなくても良いです。
HDMIケーブルを取り付けます。PCのディスプレイまたはテレビ等に接続して下さい。ディスプレイがない場合は調達して下さい。(シリアルコンソールケーブルで通信する方法はありますが、今回は解説しません。ケーブルが無いので。)
電源を入れ、ログインする
HDMIポートの隣りにあるMicroUSBポートが電源ポートになっています。USB充電器を用意し、RaspberryPiと接続します。接続すると自動的に電源が入ります。
電源が入って暫く経つと、デスクトップ画面が表示されます。Ctrl+Alt+F1を押してCLIモードに切り替えてください。
RASPBIAN JESSIE LITE
のイメージを選択した場合はCLIでログインが要求されるので以下の通り入力してログインして下さい。パスワードはタイプしても表示されません。
- user: pi
- password: raspberry
必ずやる初期設定を行う
ストレージ領域を広げる
イメージが書き込まれたばかりの状態のストレージのパーティション領域は最低限しか確保されてません。この状態でapt-get upgrade
等を行うと、OSが壊れてデスクトップが表示されなくなったりします。なのでMicroSDの容量いっぱいまでパーティションを広げます。まずはraspi-config
を行いましょう。
pi@raspberrypi:~ $ sudo raspi-config
するとこんな画面が表示されます。(画面は説明用にSSHで接続してキャプチャしたので色味とか若干変わります。周りが真っ青な感じです。)
これが表示されたら、1 Expand Filesystem
を選択し、Enterを押下します。うまく行けばこんな感じの画面が表示されるのでEnterを押下しましょう。
キーボードレイアウトを変更する
Raspbianの標準キーボードレイアウトはUKになっています。RaspberryPiがイギリス発の製品なので仕方ないですね。なので標準では|
とか打てなくて困ったりします。キーボードレイアウトを適切なモノに変更しましょう。今回はHHKB(HappyHackingKeyBord)を使っているのでそれに合わせます。
raspi-config
のはじめの画面の5 Internationalisation Options
を選択し、Enterを押下します。
画面が変わって、次にI3 Change Keyboard Layout
を押下します。
キーボードのモデルを聞かれるので、今回に合わせてHappy Hacking Keybord
を選択します。
次の画面で、キーボードのロケーションを聞かれます。今回はUSキーボードなのでEnglish (US)
を選択します。
次の画面で、オルタネートグラフィックキー (AltGr)の動作について聞かれます。気にせずDefaultを選択します。
次の画面でコンポーズキー (Compose Key)の動作について聞かれます。気にせずDefaultを選択します。
次の画面で Ctrl+Alt+BSでX ServerをTerminateするか聞かれるのでYesを選択します。
これでキーボードレイアウト設定は完了です。
リブートする
パーティション設定をしたのでリブートしてパーティションの状態を最新化します。
raspi-config
の最初の画面で→
キーを押してFinishを選択します。
リブートするか聞かれるので、Yesを選択します
するとリブートします。
CLIでの無線LANの設定
デスクトップからの無線LANの設定は多分みなさん簡単にわかるので、CLIからの設定を解説します。
まず、ifocnfig
でネットワークインターフェイスを確認します。
pi@raspberrypi:~ $ ifconfig
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:10.136.177.7 Bcast:10.136.179.255 Mask:255.255.252.0
inet6 addr: fe80::97f6:7f6:7264:aeba/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:134 errors:0 dropped:0 overruns:0 frame:0
TX packets:131 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12718 (12.4 KiB) TX bytes:17680 (17.2 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:200 errors:0 dropped:0 overruns:0 frame:0
TX packets:200 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:16656 (16.2 KiB) TX bytes:16656 (16.2 KiB)
wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet6 addr: fe80::ba27:ebff:fe14:94a8/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:75 errors:0 dropped:75 overruns:0 frame:0
TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:36692 (35.8 KiB) TX bytes:4931 (4.8 KiB)
wlan0
が無線LAN(WirelessLAN)ですね。多分どこかにあるであろう命名規則でそう決められてるのかもしれません(ソースがすぐには見つからなかったので割愛)。実際そうなので、インターフェイス名はwlan0
と判断します。
インターフェイス名がわかれば無線LANをスキャンしましょう。
pi@raspberrypi:~ $ sudo iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: xx:xx:xx:xx:xx:xx
Channel:4
Frequency:2.427 GHz (Channel 4)
Quality=70/70 Signal level=-38 dBm
Encryption key:on
ESSID:"SSIDhoge0"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
18 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=0000000000000000
Extra: Last beacon: 80ms ago
IE: Unknown: 000C69636869695F656C655F3267
IE: Unknown: 010882848B961224486C
IE: Unknown: 030104
IE: Unknown: 2A0104
IE: Unknown: 32040C183060
IE: Unknown: 2D1AEE1117FFFF000001000000000000000000000000000000000000
IE: Unknown: 3D1604000000000000000000000000000000000000000000
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Preauthentication Supported
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00
IE: Unknown: 0B05000000127A
IE: Unknown: 4A0E14000A002C01C800140005001900
IE: Unknown: DD07000C4300000000
IE: Unknown: 07064A5020010D10
IE: Unknown: DD900050F204104A0001101044000102103B000103104700102880288028801880A8803495DB136A861021001852616C696E6B20546563686E6F6C6F67792C20436F72702E1023000F534B55313139303320526F75746572102400065254323836301042000831323334353637381054000800060050F204000110110009534B55313139303320100800020084103C000101
Cell 02 - Address: xx:xx:xx:xx:xx:xx
Channel:5
Frequency:2.432 GHz (Channel 5)
Quality=48/70 Signal level=-62 dBm
Encryption key:on
ESSID:"SSIDhoge1"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 9 Mb/s
18 Mb/s; 36 Mb/s; 54 Mb/s
Bit Rates:6 Mb/s; 12 Mb/s; 24 Mb/s; 48 Mb/s
Mode:Master
Extra:tsf=0000000000000000
Extra: Last beacon: 80ms ago
IE: Unknown: 000C303031443733333642453943
IE: Unknown: 010882848B961224486C
IE: Unknown: 030105
IE: Unknown: 32040C183060
IE: Unknown: 33082001020304050607
IE: Unknown: 33082105060708090A0B
IE: Unknown: DD270050F204104A0001101044000102104700109645515A98DF11DB878513782A500432103C000101
IE: Unknown: 050400010002
IE: Unknown: 2A0100
IE: Unknown: 2D1A6E100FFFFF000001000000000000000000000000000000000000
IE: Unknown: 3D1605050600000000000000000000000000000000000000
IE: Unknown: 7F0101
IE: WPA Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : TKIP CCMP
Authentication Suites (1) : PSK
IE: Unknown: DD180050F2020101000003A4000027A4000042435E0062322F00
IE: Unknown: 0B0503001D127A
IE: Unknown: DD1E00904C336E100FFFFF000001000000000000000000000000000000000000
IE: Unknown: DD1A00904C3405050600000000000000000000000000000000000000
IE: Unknown: DD07000C4300000000
IE: Unknown: DD09000740010109000000
それぞれのAPのESSIDをみて、接続したいAPのESSIDがあるかチェックしましょう。なければ接続できないので…
接続したいAPがあることを確認したら、テキストエディタで接続情報を記録します。今回はviを使いましょう。
pi@raspberrypi:~ $ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
ファイルの中身が表示されます。何か書かれている場合も一緒で、末尾に次のように追記していきましょう。
network={
ssid="接続したいAPのESSID"
psk="接続したいAPのパスワード"
}
追記が完了して、少し待ってからifconfig
してみて、wlan0
にIPアドレスが割り当ててあれば接続完了です。
pi@raspberrypi:~ $ ifconfig
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:10.136.177.7 Bcast:10.136.179.255 Mask:255.255.252.0
inet6 addr: fe80::97f6:7f6:7264:aeba/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1503 errors:0 dropped:0 overruns:0 frame:0
TX packets:854 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:124416 (121.5 KiB) TX bytes:135596 (132.4 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:200 errors:0 dropped:0 overruns:0 frame:0
TX packets:200 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:16656 (16.2 KiB) TX bytes:16656 (16.2 KiB)
wlan0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.2.107 Bcast:192.168.2.255 Mask:255.255.255.0 ←ここがあれば成功
inet6 addr: fe80::ba27:ebff:fe14:94a8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:406 errors:0 dropped:401 overruns:0 frame:0
TX packets:54 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:196069 (191.4 KiB) TX bytes:11576 (11.3 KiB)
もし、2,3分立ってもIPアドレスが割り当てられなかったら、インターフェイスを一旦再起動します。
pi@raspberrypi:~ $ sudo ifdown wlan0
pi@raspberrypi:~ $ sudo ifup wlan0
これで待ってもダメなら再起動します。
pi@raspberrypi:~ $ sudo reboot
これでもダメならまたScanしてちゃんと無線LANが飛んでいるか・認証情報が間違ってないか確認して下さい。
おわりに
みなさん、無事インストレーション出来ましたでしょうか?ここからRaspberryPiで遊ぶスタート地点です。ここからセンサーやアクチュエータを接続してぜひ遊んで下さい。
ところで、センサーやアクチュエータの接続って難しいですよね。実際部品を選んで、コードとかブレッドボード買ってきてチクチク刺したりめんどくさいですよね。
そんなあなたに、素晴らしいキットがあります。GrovePi+ スターターキットです。
こんな感じにセンサーやLEDなどを簡単に接続してPython等の様々な言語から簡単にコントロールすることができます。興味のある方はぜひやってみてください。暇があればGrovePiの記事も書いてみようかと思います。
それでは良いRaspberryPiライフを!