Raspberry Piを購入してからリモートで動かすまで
Raspberry Piを購入しました
先日の記事nexusuica.hatenablog.jp
で、Google HomeとNature Remo miniを連携するところまでやったのですが、これだけではできることが限られていて、さらに進んだことをしようと思うとWebサーバが必要でした。そこでRaspberry Piを購入し、今回はそのセットアップ編です。全く下調べをせずにAmazonでポチったので悪戦苦闘しましたが、最終的には電源ケーブルだけで運用できるようにしました。ぜひお付き合いください。
まずは開封
Raspberry Piにはいくつかのエディションがありますが、ホームオートメーション用途であればインターネットに繋がれば何でもいいのでAmazonで何も考えずにポチりました。
Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Clear)-Physical Computing Lab
- 出版社/メーカー: TechShare
- メディア: エレクトロニクス
- この商品を含むブログ (4件) を見る
説明書通りでは起動しない!!
同梱されていた説明書通りにセットアップを進めます。説明書に書かれていたステップは以下のようでした。
- microSDカードをRaspberry PiのmicroSDカードスロットに挿入します。
- USBキーボードとマウスをRaspberry PiのUSBスロットに接続します。
- モニタの電源が入っていて、入力の選択が正しいことを確認します。
- Raspberry PiとモニタをHDMIケーブルで接続します。
- Micro USB電源を接続します。これにより、Raspberry Piが起動されます。
起動にmicroSDカードが必要なことすら知らなかった僕ですが、言われたとおりにカードの挿入と周辺機器の接続を行って電源を入れました。が、画面には何も表示されません。どうしたことやら…。
事前にSDカードにOSのインストールが必要
少し調べてみると、起動する前にSDカードにOSを入れておく必要があるらしいことが判明。それならそうと書いてくれ。というわけでWindows 10を使ってSDカードにOSを焼きます。手順は以下のとおりです。
- SDカードをFAT32でフォーマット(「PC」でドライブを右クリックすれば「フォーマット」の項目があります)
- ダウンロードした圧縮ファイルを解凍(僕はBandiZip派)
- SDカードにOSを焼くためのソフト「Win32DiskImager」をインストール
- Win32DiskImagerを起動し、SDカードにOSを書き込み
ここまでやって、SDカードをRaspberry Piに挿して再度電源を入れると…?
リモートで動かす
ここまでくればとりあえずRaspberry Pi(以下ラズパイ)は動いてくれますが、ラズパイ専用にキーボードやマウスを用意するのは大変だし、なにより配線がごちゃごちゃです。そこで、普段使っているWindowsから完全リモートで操作できるようにします。これができるとラズパイにつながっているのは電源ケーブルのみになって、かなりスッキリします。ただ、このセットアップがけっこう大変です。順を追って説明します。
ラズパイのipアドレスを固定する
まずはラズパイのipアドレスを固定する必要があります。ラズパイ上のコマンドで以下のように入力します(無線LANを想定。有線の場合はeth0です)。
$ ifconfig wlan0
すると、よくわからない出力が出てきます。
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.3.32 netmask 255.255.255.0 broadcast 192.168.3.255 …
後半は無視してよく、大事なのはinetの後ろに書いてるローカルIPアドレス(この場合は192.168.3.32)です。メモります。
あとは、このアドレスに固定するように設定ファイルを書き換えます。玄人の方は
$ sudo vi /etc/dhcpcd.conf
としてファイルの末尾に以下を書き加えればよいです。
interface wlan0 static ip_address=(メモったIPアドレス)/24 static routers=(ルータのIPアドレス) static domain_name_servers=(ルータのIPアドレス)
しかし、僕のような初心者にはviの扱いが難しいので、GUIに頼ります。ファイルマネージャを用いて/etcにあるdhcpcd.confを開き、先程の内容を最後に追加して保存します。これでIPアドレスが固定できました。
なお、ルータのIPアドレスはWindowsではコマンドプロンプトで「ipconfig」と打ち込んで出てくるデフォルトゲートウェイの値です。
VNCサーバのインストール
次に、ラズパイにVNCサーバをインストールします。以下のコマンドを入力します。
$ sudo apt-get install realvnc-vnc-server
インストールが終わったらVNCを有効化します。
「Raspberry Pi」の設定を開き、「インターフェイス」の中の「VNC」を「有効」にします。そして、再起動を行います。
再起動すると右上にVNCのアイコンが出てくるので、右クリックして「Options」→「Troubleshooting」と選択してoption画面を立ち上げ、「direct capture mode」を有効にします。
画面解像度の固定
あとはクライアント側のパソコンからアクセスするだけですが、この際画面解像度が小さくなってしまうことがあるので予め設定しておきます。先ほどと同じく「Raspberry Piの設定」を開き、「システム」の中の「解像度を設定」をクリックし、所望の解像度(1920×1080など)に設定しておきます。これでラズパイ側の設定は完了です。
クライアントのダウンロードと接続
最後に、接続したいパソコンでの作業です。VNCクライアントをダウンロードしてインストールします。
www.realvnc.com
そしてCtril+Nを押して新しい接続先を追加します(「VNC Server」にメモったアドレスを入れます)。これでOKを押すと、接続先が追加されます。あとはダブルクリックして接続し、ラズパイのユーザ名とパスワード(デフォルトは「pi」と「raspberry」)を入力すると接続できます。
今後
これでラズパイのセットアップはひとまず終了。あとはNode.jsなどを動かして、Google Homeとの連携をやっていきたいと思います。