GoPiGoでロボットプログラミングを行うには、PCとGoPiGoのRaspberryPiを接続してPCからリモートで作業を行うようにすると楽です。PCとRaspberryPiを接続する方法としてはSSH接続とVNC接続があります。本記事ではその両方について解説していきます。
本記事ではGoPiGo3に搭載されているRaspberryPiとの接続を前提としていますが、基本的には通常のRaspberryPiとの接続と変わりません。(ただし、RaspverryPi側でSSH接続とVNC接続を有効に設定にしておく必要があります。)
環境
- PC
- Windows10
- GoPiGo3
- RaspberryPi model B
- Ubuntu Mate
準備
- RaspberryPiとPCを同一LAN内に接続し、IPアドレス(又はホスト名)をメモしておきます。
- RaspberryPi側で、SSH接続とVNC接続を有効に設定しておきます。
- ただし、GoPiGo3はデフォルトでSSH接続とVNC接続が有効になっているようです。
-
PCにTera TermとVNC Viewerをインストールしておきます。
- Tera Term:OSDN Tera Term Home Page
- VNC viewer:REALVNC VNC viewer
RaspberryPiにtightvncserverをインストールしておきます。
$ sudo apt-get install tightvncserver
SSH接続
VNC接続
RaspberryPi側でtightvncserverを起動します。このとき、前述のSSH接続でPCから操作を行うか、あるいは後述の自動起動スクリプトを用いて起動します。
PCからVNC Viewerを起動します。ウィンドウの上の入力欄にRaspberryPiのIPアドレスとポート番号を入力します。ポート番号は大抵の場合5901又は5902です。(例:192.168.0.1:5901)
tightvncserverを自動で起動させる方法
RaspberryPi起動時に自動でtightvncserverを起動するようにするには、スクリプトを書いて設定します。
/etc/init.d/
下にvncbootという名前のファイルを作成し、中身を以下のように編集します。ウィンドウサイズ等も好みに設定できます。
スクリプトはこちらのサイト(Raspberry PiのVNCサーバーの自動起動の設定と自分のローカルIPの自動メール送信設定で捗るVNCライフ)からお借りしました。
#! /bin/sh
### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO
# /etc/init.d/vncboot
USER=pi
HOME=/home/pi
export USER HOME
case "$1" in
start)
echo "Starting VNC Server"
#Insert your favoured settings for a VNC session
su $USER -c '/usr/bin/vncserver :1 -geometry 1280x720 -depth 24'
;;
stop)
echo "Stopping VNC Server"
su $USER -c '/usr/bin/vncserver -kill :1'
;;
*)
echo "Usage: /etc/init.d/vncboot {start|stop}"
exit 1
;;
esac
exit 0
スクリプトの実行権限を変更し、自動起動するように設定します。
$ sudo chmod 755 /etc/init.d/vncboot
$ sudo update-rc.d vncboot defaults
RaspberryPiを再起動し、VNC Viewerから接続できれば完了です。
参考記事
Raspberry PiとMac or Windows PCを有線で直接繋いでさくっとSSH接続する