Raspberry Pi 3の環境構築
お正月前にRaspberry Pi 3を購入。教育用とはいいつつも、5,000円でLinuxが動作するちょっとしたPCのようなものが手に入るのはなかなか凄い。
早速、セットアップ方法をメモる。
用意したもの
- Raspberry Pi 3 Model B (Element14)
Element14製の方がRS製よりちょっと安かったので、こちらを購入。RS製は国産らしいけど、これといって違いはないらしい。
nw-electric.way-nifty.com
- 拡張ボードケース
なくてもいいけど基盤むき出しで使うのもアレなので購入。写真はケースに入れた状態(底面と上面と真ん中の3層構成)。ケースとセットで売っているものもあるらしい。
- USB-ACアダプタ
Raspberry Pi 3の電源は2.5Aが推奨されているっぽい。
www.raspberrypi.org
1Aとかだと周辺機器接続の有無や処理の重さで動作が不安定になるとか。一応専用の電源もあるにはあるけど、なかなか売っていないのでとりあえず2.4Aの急速充電用のを購入。
- USBケーブル(A⇔MicroB)
こちらもUSB-ACアダプタに合わせて2.4A対応の充電専用ケーブルを購入。見た目はそこそこゴツいがその割には取り回しがいい。
- MicroSDカード
今回入れるOSが約3GBなので、最低4GBは必要。購入したのは東芝製・Exceria・16GB・Class-10。これが600円強で買えるなんて、さすがは秋葉原。家電量販店で買う気が失せる。
- HDMIケーブル
- マウス
LogicoolのBluetoothマウス(M557)。USBの方が楽っちゃ楽だけど有り物を活用。
- キーボード
キーボードは有線の方が無難。USBキーボードを使用する。
- モニタ
HDMI接続ができるやつ。無くても設定できるらしいけどあったほうが無難。地デジ対応TVならHDMI端子もだいたいついてると思うので、一応代用できる。
- パソコン
Raspberry Piで使用するOSをSDカードに書き込むのに使う。MicroSDからSDに変換するアダプタやSDカードライターも、必要に応じて用意する。
OSのインストール
今回は公式OSのRASPBIAN JESSIE WITH PIXELを使用。Debian系Linuxらしい。下記からダウンロードできる。
www.raspberrypi.org
LITE版もあるがデスクトップ関連のパッケージが入っていないらしい。
sstea.blog.jp
今回は通常版を選択(ファイル名でいうところの「2016-11-25-raspbian-jessie.img」)。
インストール方法としては、インストーラ(NOOBS)を使う方法と、SDにイメージを焼く方法(installation guide)の2種類があるらしい。今回は後者を選択。
SDはFAT32でフォーマットしておく。Macの場合はディスクユーティリティでSDカードの消去を行い、フォーマットをMS-DOS(FAT)にするとよい。
書き込みの手順は下記の記事を参考にした。
qiita.com
手順で使用するddコマンドについては、http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230741/?rt=nocntを参照。
起動確認
書き込みに成功したら、基盤にMicroSDカードを挿入。Raspberry Pi 2ではカチッという挿入感があったらしいが、故障報告が結構あって3では無くなったとか。取り出しが地味にやりにくい。
HDMIケーブルをモニタに繋いで、キーボードをUSBポートに挿し、電源ケーブルを挿す。電源スイッチなどはなく、ケーブルを挿したらもう起動する。上手く行けばデスクトップ画面が出る。
終了時はターミナルからシャットダウンコマンド実行後、電源ケーブルを抜く。
でシャットダウン。再起動は
または
でOK。
Bluetooth接続
http://pmp-jp.com/wp31/blog/2016/01/17/raspbian-jessie版でのbluetooth接続方法/を参考にした。
Bluetoothマウスを使うべく、Winキーと矢印キーで、設定 > アクセサリ > LXTerminalを選択、起動する。起動後は、接続するデバイスのペアリングを有効にし、下記のコマンドを実行。
[bluetooth]# power on
[bluetooth]# agent on
[bluetooth]# dafault-agent
[bluetooth]# scan on
[bluetooth]# devices
これで接続するデバイスのMACアドレスが一覧に表示されたらOK。
で接続が確立。
で、再起動後も自動接続できるようになる。
でbluetoothctlを終了。
追記(2022/2/23):
しばらくぶりにRaspberry Piを起動したら、マウスが繋がらなくなってしまった。
一旦接続設定を削除し、改めて登録し直すことで復旧できた。
登録削除は下記のコマンドで行える。
削除がうまく行ったかどうかなど、接続ステータスは下記のコマンドで確認できる。
キーボード・ロケール・タイムゾーン設定
キー配列がUSだったり、タスクバーの時刻がズレていたので設定。
設定 > Raspberry Pi の設定の、ローカライゼーションタブで設定可能。
設定 > キーボードとマウスでもいける。
-
- Country: (使用するキーボードに合わせて設定する)
- Variant: (同上)
- 無線LANの国
- 国: JP JAPAN
設定後は再起動が求められる。
ネットワーク設定
Raspberry Pi 3 にはLANのポートもWi-Fiも載っているので、有線/無線接続が選べる。
画面右上のネットワーク接続のアイコンをクリックし、接続先を選択する(接続先によっては要パスワード入力)。
今回SSHやVNCでリモート操作したいので、IPを自動割り当てでなく、固定化する。
アイコンを右クリックし、Wireless & Wired Network Settingsを開く。
- Configure
interfaceではeth0かwlan0を選択できる。有線と無線で設定を切り替えたい場合はinterfaceを選択。
SSIDでは接続先のSSIDが選択できる。接続先ごとに設定を切り替えたい場合はSSIDを選択(interfaceと異なり、設定画面を開くごとに入力欄が空欄になっており、接続設定がきちんと保存されているのかよく分かっていない)。
- Automatically configure empty options
チェックを外す。
- IP アドレス
自身のIPアドレスを入力。
- Router
ルータのIPアドレスを入力。
- DNS Servers
- DNS Search
空欄。
一通り設定できたら「適用」し、画面を閉じる。
SSH
SSHを使用し、リモートでターミナルにログインできるようにする。これが設定できると、Raspberry Piに直接キーボードを繋いでコマンドを打たなくて済む。
設定 > Raspberry Pi の設定
のインターフェイスタブで、SSHを「有効」に設定する。
デフォルトでは
- ユーザ名: pi
- パスワード: raspberry
が設定されている(初期設定のままだと起動時に、セキュリティリスクがある旨の警告が表示される)。
あとは接続元PCのターミナルで
を実行する。
ちなみに、一回SSH接続をした後にRaspbianの環境をいろいろいじくりまわしていたら元に戻せなくなったので、SDにOSを焼き直した。復旧後にSSHで接続したところ、接続元PCに前の接続設定が残っていてエラーが出た。下記の記事を参考に、前の接続情報を整理した。
qiita.com
VNC
SSHでCUIログインできるようになったが、GUIで操作したいときもある。VNCの設定を行うと、Raspberry Piにマウスやモニタ、キーボードを直接繋がなくて済む。
ググるとTightVNCをインストールする事例が多かったが、今回使用したイメージには予めRealVNCが入っていたのでこれをそのまま使うことにした。
設定 > Raspberry Pi の設定
のインターフェイスタブでVNCを「有効」にすると、タスクバーにアイコンが出る。これをクリックすると設定情報が見られる。基本的にはここに表示された自身のIPアドレスを入力すればよい。ただ、RealVNCはTightVNCやTigerVNCとは互換性がないらしく、手元のViewerでは接続できなかった(「No mutching security types」というエラー表示)。ブラウザから開けるViewerを使うのが一番手っ取り早そうなのでこれを紹介する。
先程のVNCサーバの画面に、「Java-enabled web browser users can navigate to ~」という一文がある。WebブラウザのJavaの設定を有効にし、URLにIPアドレス:ポート番号を入力してあげると、VNC Viewerが立ち上がる。
VNC Serverは記入済み、Encryptionは特に設定しなくてもConnectできる。
ユーザ名とパスワードのデフォルト設定はSSHと同様。うまくいくと、Raspbianのデスクトップ画面が遠隔から操作できるようになっている。
ちなみにブラウザを閉じるとViewerが終了するので注意。
画面解像度設定
VNCで接続してみると分かるが、デフォルトの解像度はVGAと小さめ。そこで、/boot/config.txtを編集する。ここには解像度以外にもOSの設定値が書き込まれているため、要注意。このファイルについては下記を参照のこと。このファイルの役割や、設定値の説明が載っている。
https://www.raspberrypi.org/documentation/configuration/config-txt.md
どうもページが無くなってしまったようなので、HDMI関連のパラメータだけでも載っている下記のページをメモっておく。
https://www.raspberrypi.org/forums/viewtopic.php?f=5&t=5851
今回解像度の設定をするにあたって編集する変数は下記の3つ。
- hdmi_group
HDMIの出力先。今回は
hdmi_group=2
に設定(1: 家庭用TVなど | 2: PCモニタなど)。
- hdmi_mode
解像度。あんまり大きいとVNC Viewerの描画が重くなるので、今回は
hdmi_mode=16
に設定(16: hdmi_group=2なら、1024x768 @ 60Hz)。
- hdmi_force_hotplug
HDMI出力でモニタに接続されていないと、上の2つのパラメータが反映されないらしい。そのため、
hdmi_force_hotplug=1
でこのパラメータを有効にすることで、HDMI出力系を「検出していることにする」。これにより、VNC Viewerの解像度を任意に設定できる。
ちなみに、SDカードには/boot以下のファイルが置かれるため、他のPCにSDカードを挿してそのPCで/boot/config.txtを編集することもできる。ネットワーク環境が変わったときなどは覚えておくと良いかも。
10. 日本語入力
今回使用したイメージには日本語フォントが予めインストールされていたが、入力については別問題。盲点だった。
下記のコマンドを実行。
Macのキー配列でインプットメソッドをショートカットキーから切り替える方法がまだ分からない。一応タスクバーの「US」とか「あ」とか書いてあるアイコンをクリックすれば切り替えられるが…。
以上、とりあえず初期設定はこんな感じ。