Raspberry Pi2 をPCから操作する方法


 Raspberry Pi2を購入してしまいました。システムのインストールも済み、ひととおり、動かせるようになり、やってみたいことがでてきました。そのひとつが別のPCからの遠隔操作です。
 ここでは、筆者の所有するノートPC(32bit、メモリ2GB)からRaspberry Piを操作する方法について紹介します。

1. SSH接続の設定

1-1. Raspberry Pi2側の設定
 接続は、SSH(Secure Shell)というプロトコルを使用します。Raspberry Piは、SSHを有効化する必要があります。このため、まず、raspi-configを起動します。

pi@raspberrypi:~ $ sudo raspi-config

 ここで、(1) Advanced Options を選択し、(2) SSH を選択し、(3) Enable で有効化します。

 また、今回はIPアドレスを指定して接続しますので、事前にifconfigコマンドを使ってRaspberry PiのIPアドレスを確認しておきます。例えば、無線LANの場合はwlan0のinetアドレスを確認します。次の例では赤字の部分です。

pi@raspberrypi:~ $ ifconfig
eth0 Link encap:イーサネット ハードウェアアドレス xx:xx:xx:xx:xx:xx
  inet6アドレス: fe80::8027:bd37:9841:a139/64 範囲:リンク
  UP BROADCAST MULTICAST MTU:1500 メトリック:1
  RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
  TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
   衝突(Collisions):0 TXキュー長:1000
  RXバイト:0 (0.0 B) TXバイト:0 (0.0 B)

lo Link encap:ローカルループバック
  inetアドレス:127.0.0.1 マスク:255.0.0.0
  inet6アドレス: ::1/128 範囲:ホスト
  UP LOOPBACK RUNNING MTU:65536 メトリック:1
  RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
  TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
   衝突(Collisions):0 TXキュー長:0
  RXバイト:0 (0.0 B) TXバイト:0 (0.0 B)

wlan0 Link encap:イーサネット ハードウェアアドレス xx:xx:xx:xx:xx:xx
  inetアドレス:192.168.0.11 ブロードキャスト:192.168.0.255 マスク:255.255.255.0
  inet6アドレス: fe80::76da:38ff:fe5b:4ee7/64 範囲:リンク
  UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1
  RXパケット:102 エラー:0 損失:6 オーバラン:0 フレーム:0
  TXパケット:140 エラー:0 損失:0 オーバラン:0 キャリア:0
   衝突(Collisions):0 TXキュー長:1000
  RXバイト:17769 (17.3 KiB) TXバイト:22874 (22.3 KiB)


1-2. PC側での操作
 次に、PC側のコマンドライン端末でsshを実行します。SSHサーバーの初期設定は、22番ポートを利用します。例えば、Raspberry Piのユーザー名「pi」、IPアドレス192.168.0.11の場合は、

[user01@localhost ~]$ ssh -lpi -p22 192.168.0.11
pi@192.168.0.11's password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Aug 13 17:19:15 2016
pi@raspberrypi:~ $

 Raspberry Piのユーザー名「pi」に対するパスワードを入れると上記のようになります。これで、SSHによる接続ができるようになります。


2. VNCの設定

 次は、Raspberry PiをGUIで操作するために、VNC(Virtual Network Computing)を設定します。ここでは、tightVNCをインストールします。Raspberry PiにはtightVNCServer(VNCサーバー)を、PCにはVNC-Viewer(VNCクライアント)をインストールする必要があります。

2-1. Raspberry Pi2側の設定
 まずは、Raspberry PiにtightVNC-Serverをインストールしていきます。この操作は、PC側からSSHでRaspberry Piに接続した状態で実行してもかまいません。(Raspberry Piで実行しても良いですが、筆者の環境では、Raspberry Piのデスプレイが小さくて見にくいため、むしろSSHで実行したほうが楽でした。このほうがPCの大きな画面で容易に確認できるので便利でした。)

 最初にRaspberry Piをアップデートします。(時間がかかる場合があります。)

pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get upgrade

 次に、tightVNC-Serverをインストールします。

pi@raspberrypi:~ $ sudo apt-get install tightvncserver

2-2. PC側での操作
 PC側にはVNC-Viewerをインストールします。REAL VNCのサイト(Download VNC Viewer to the device to connect from) https://www.realvnc.com/download/viewer/ から、PCにあったファイルを選び、ダウンロードします。

 ここでは、Linux用のVNC-Viewer-5.3.2-Linux-x86を使用しました。

2-3. VNCを使用する
 では、PC側からSSHでRaspberry Piに接続した状態で実行してみます。

 まず、コマンドとして「tightvncserver」を入力します。
 なお、最初はこの通信用のパスワードを設定します。そして「New 'X' desktop is raspberrypi: 」の後の番号を確認します(この例では1)。

pi@raspberrypi:~ $ tightvncserver

New 'X' desktop is raspberrypi:1

Starting applications specified in /home/pi/.vnc/xstartup
Log file is /home/pi/.vnc/raspberrypi:1.log

pi@raspberrypi:~ $

 次いで、VNCセッションを開始します。次のコマンドを入力します。

pi@raspberrypi:~ $ vncserver :1 -geometry 800×600 -depth 24

vncserver: geometry 800×600 is invalid
pi@raspberrypi:~ $

 解像度はいろんな指定があるようです。うまくいかなかったら数字を替えてみて下さい。

 この状態で、PCの別のコマンドライン端末のwindowから、さきほどダウンロードしたVNC Viewer を起動します。
 以下は、driversのディレクトリに実行ファイルが置いてある場合の例です。

[user01@localhost ~]$ cd drivers
[user01@localhost drivers]$ ls
・・・・・(省略)・・・・・
VNC-Viewer-5.3.2-Linux-x86
・・・・・(省略)・・・・・

 ファイルには実行権付与が必要です。付与されていないときは、
[user01@localhost drivers]$ chmod 755 VNC-Viewer-5.3.2-Linux-x86
のコマンドで付与します。

 VNC Viewer を起動します。

[user01@localhost drivers]$ ./VNC-Viewer-5.3.2-Linux-x86


 vncserverで決めた通信用のパスワードを入力します。


 暗号化されていないので警告がでますが、そのまま継続します。


 Raspberry Piの画面が表示されるはずです。これで、手持ちのPCからGUIでRaspberry Piをリモートで操作できるようになりました。


 Raspberry Piには、こんなソフトウェアも同梱されています。これもPC側から操作できるようになりました。


 VNC Viewer を閉じた後、SSH接続を切断するには、「pi@raspberrypi:~ $」の表示されているwindowで、[CTRL]+[C]を押します。回線切断すると、そのwindowに

pi@raspberrypi:~ $ Connection to 192.168.0.11 closed by remote host.
Connection to 192.168.0.11 closed.
[user01@localhost ~]$

と表示され、SSH接続が切断され、もとのPCのコマンドラインに戻ります。


参考文献・URL

[1] Raspberry PiをWindowsで操作する(SSH)
http://s2jp.com/2014/01/raspberry-pi-ssh/

[2] ラズベリーパイにSSHでリモート接続
http://usicolog.nomaki.jp/engineering/raspberryPi/raspberryPi_SSH.html

[3] TightVNC のインストール
http://www14.plala.or.jp/campus-note/vine_linux/server_vnc/tightvnc.html

[4] Download VNC Viewer to the device to connect from
https://www.realvnc.com/download/viewer/

 以上、なんらかのご参考になれば幸いです。

(2016-8-15)




■ 以前の記事

→ 「ラズベリーパイ関連(Raspberry Pi)」に関する以前の記事は、こちらをごらん下さい。

 ・Raspberry Pi2に取り付けたWebカメラの画像をPCで確認する方法




-->