2016年10月18日 星期二

[ Raspberry Pi 3 Model B ]
使用遠端控制 Raspberry Pi

假如想要控制 Raspberry Pi 會需要占用滑鼠鍵盤螢幕等等有點麻煩
但假如用遠端控制的話就可以省掉這些硬體設備囉!
但是還是要先接上一次來設定遠端相關控制

[ 安裝VNC ]
在 Raspberry Pi 及電腦端都需要裝上VNC
Raspberry Pi方面:
首先鍵入底下程式碼來更新安裝軟體及安裝程式之設定
$ sudo apt-get update
$ sudo apt-get upgrade
接下來鍵入下列指令在Raspberry Pi端安裝VNC Server
$ sudo apt-get install tightvncserver

電腦端方面:(我使用 windows)
這裡我是使用 REAL VNC 這款 VNC Viewer (官網下載)
官網裡面選擇自己的作業系統來下載
當然還有其他許多的 VNC Viewer 大家可以嘗試看看


[ 開始使用VNC ]
Raspberry Pi方面:
鍵入下列指令啟動 VNC server
$ vncserver
就會出現下圖
第一次使用的話會先要設定連線密碼
設定完連線密碼後會再詢問是否要設定只能觀看的連線密碼 (可以不設定)

然後會將連線埠預設為 1  (New 'X' desktop is raspberrypi : 1 )
之後就可以利用電腦端使用相關的 VNC viewer 來連線

電腦端方面:(我使用windows)
下載好 REAL VNC 之後打開
輸入 Raspberry Pi 所在的 IP 位址並且在最後面加上冒號及連線埠

出現警告訊息直接按下 Continue

輸入剛剛在 Raspberry Pi 端中所設定的連線密碼

就可以看到 REAL VNC 連上 Raspberry Pi

[ 開機就啟動VNC server ]
可以連上 VNC server 後可能會發現
這樣的做法還是每次都要先接螢幕鍵盤滑鼠來啟動 VNC server 並沒有比較方便!
所以接下來就是說明如何設定 Raspberry Pi 一開機就自動執行 VNC server

先在 /etc/init.d/ 下建立一個 script,這裡就取名為 tightvncserver
$ sudo nano /etc/init.d/tightvncserver
需要打的內容如下,而參數的設置則在 start) 之後
  1. #!/bin/bash
  2. ### BEGIN INIT INFO
  3. # Provides: tightvncserver
  4. # Required-Start: $syslog
  5. # Required-Stop: $syslog
  6. # Default-Start: 2 3 4 5
  7. # Default-Stop: 0 1 6
  8. # Short-Description: vnc server
  9. # Description:
  10. ### END INIT INFO
  11.  
  12. export USER='pi'
  13.  
  14. eval cd ~$USER
  15.  
  16. # Check the state of the command - this'll either be start or stop
  17. case "$1" in
  18. start)
  19. # if it's start, then start vncserver using the details below
  20. su $USER -c '/usr/bin/vncserver :1 -geometry 1000x700 -depth 16 -pixelformat rgb565'
  21. echo "Starting vncserver for $USER "
  22. ;;
  23. stop)
  24. # if it's stop, then just kill the process
  25. pkill Xtightvnc
  26. echo "vncserver stopped"
  27. ;;
  28. *)
  29. echo "Usage: /etc/init.d/tightvncserver {start|stop}"
  30. exit 1
  31. ;;
  32. esac
  33. exit 0
輸入完畢後 Ctrl + o 儲存 Ctrl + x 退出 nano

接著在終端機輸入下列指令修改 script 權限
$ sudo chmod 755 /etc/init.d/tightvncserver
修改完之後 Raspberry Pi 重新開機並在終端機輸入 $ netstat -nutlp
這指令可以查看目前系統開啟的 port,順便確認 VNC 是否已自動開啟

而在電腦端直接開啟 REAL VNC 測試能否直接連上 Raspberry Pi
能順利連上的話就可以將 Raspberry Pi 上的滑鼠鍵盤螢幕取下囉!

[ 電腦端與 Raspberry Pi 之間的檔案傳輸 ]
雖然能順利使用 VNC 來遠端控 Raspberry Pi,但是 VNC server 並不支援檔案傳輸
這時我們可以用 WinSCP (下載網址)
下載完成安裝以後開啟 WinSCP
1. 檔案傳輸協定: 選擇 SFTP 或 SCP 都可以
2. Host name: Raspberry Pi 的 IP 位址
3. Raspberry Pi 的帳號 (pi) 密碼 (預設是raspberry)
然後點選 Login
就可以開啟看到類似檔案總管的視窗
左邊是電腦端,右邊則是Raspberry Pi
這時候就可以自由作拖曳檔案的動作,達到電腦端與 Raspberry Pi 檔案互相傳輸

沒有留言:

張貼留言