Raspberry Pi 3 Model B+開箱:組裝5吋觸控螢幕小電腦、設定VNC連線解析度

兩個多月前收到台灣樹莓派Sosorry先生贈送的樹莓派3B+、智慧語音控制套件(ReSpeaker 2-Mics Pi HAT)以及2.5A電源供應器,今天補上積欠已久的開箱文。前些日子,從Sosorry先生那裡得知,台灣樹莓派(Rice Lee)是目前唯一獲得英國Raspberry Pi官方認可的台灣地區經銷商

智慧喇叭語音學習套件網頁

智慧語音控制套件的相關說明,請參閱台灣樹莓派的智慧喇叭語音學習套件網頁

樹莓派3B+簡介

我之前購買的樹莓派控制板有第一代Rev. 2, 2B和Zero,這一款Raspberry Pi 3 Model B+(以下簡稱Pi 3 B+)是我第一次使用內建Wi-Fi和藍牙的樹莓派控制板。

根據台灣樹莓派的商品說明頁,這一代最大的改變是提昇網路效能,更新部份如下:

  • 使用 BCM2837B0 晶片(上一代為 BCM2837)64位元四核心ARM Cortex-A53,單核心時脈可達 1.4GHz。
  • 使用 Cypress CYW43455 雙頻晶片(上一代為 CYW43438),支援 2.4GHz 和 5GHz 雙頻,並支援 Bluetooth 4.2。
  • 使用 LAN7515(上一代為 LAN951x),支援USB 2.0連線的Gigabit級乙太網路。
  • 支援乙太網路供電(Power-over-Ethernet, PoE),由四根新增的 Pin 做控制,但要搭配的擴充板。
  • 更好的溫度管理,在不同溫度下可自動調整 CPU 速度。

售價和上一代相同,但我覺得比較可惜的是主記憶體沒有加倍、USB仍是2.0版。

拿到Pi 3 B+,我很開心地替它焊上micro USB延長線並連接一個micro HDMI轉接頭,打算接上Motorola Lapdock變身小筆電(參閱「Raspberry PI 2 + 自製Arduino + Motorola Lapdock 小改造」)。結果在開機過程中,Pi 3 B+會不停地重啟,因為效能變強了,對電能的要求也增加了,超過Motorola Lapdock電池的負荷。

此外,Pi 3 B+的micro SD記憶卡插座沒有彈簧,所以採用像下圖這款壓克力外殼時,很難取出記憶卡。

樹莓派3B壓克力外殼

所以我鋸斷micro SD記憶卡開口外面的支架,控制板背面的1GB記憶體晶片位置,也開個散熱孔並且貼上散熱片(其實不需要,但是感覺比較cool)。

Pi 3B+背面開孔

正面的微控器晶片也黏貼一個散熱片:

Pi 3B+貼散熱片

最後加上一個5吋電阻式觸控螢幕,使用台灣樹莓派(Rice Lee)品牌的5V/2.5A電源供應器或者行動電源,搭配藍牙鍵盤滑鼠,也是一台小巧便利的Linux行動電腦。

Raspberry Pi行動Linux電腦

5吋電阻式觸控螢幕GPIO接腳與驅動程式

有些樹莓派的Linux系統內建觸控螢幕的驅動程式,像Sticky Fingers Kali-Pi(樹莓派專屬的Kali Linux發行版)。我使用樹莓派官方的Raspbian系統,並依照waveshare.com網頁的說明安裝觸控螢幕驅動程式

比起合身的3.5吋螢幕,5吋螢幕的好處是有預留GPIO接點。底下5吋觸控螢幕的PCB板背面,如果需要透過GPIO操控硬體週邊,可以自行焊上接線。

下表翻譯自waveshare.com的商品說明,從中可看出電阻觸控採用SPI介面和一個中斷腳,所以除了22和26腳,其餘GPIO接腳都能用於控制週邊。

接腳編號 標示 說明
1, 17 3.3V 3.3V電源輸入
2, 4 5V

5V電源輸入

3, 5, 7, 8, 10, 11, 12, 13, 15, 16, 18, 24

NC

空接

6, 9, 14, 20, 25 GND 接地
19 TP_SI 觸控面板SPI資料輸入
21 TP_SO 觸控面板SPI資料輸出
22 TP_IRQ 觸控面板中斷訊號
23 TP_SCK 觸控面板SPI時脈
26 TP_CS 觸控面板晶片選擇腳

調整VNC解析度

Raspbian系統內建RealVNC伺服器軟體,在Raspberry Pi Configuration(設置)畫面的Interfaces(介面)啟用VNC之後,只要在電腦或手機安裝RealVNC用戶端軟體,就能透過網路遠距操控樹莓派(參閱「安裝與設定Raspberry Pi的RealVNC伺服器」)。

樹莓派的介面設置畫面

5吋觸控LCD螢幕的解析度是800×480,使用VNC連入樹莓派時,用戶端的解析度也將是800×480。然而,某些軟體的操作畫面(如:RealVNC伺服器的設定面板)需要更高解析度才能顯露完整視窗,所以有必要調高VNC連線畫面的解析度。

樹莓派微電腦沒有BIOS,裝置的記憶體、顯示器、聲音、相機…等設定,都存放在config.txt檔案裡面,完整路徑是/boot/config.txt。

HDMI訊號輸出格式,是在config.txt檔案中透過hdmi_group(hdmi分組)和hdmi_mode(hdmi模式)命令設定。其中hdmi_group的可能值為0, 1或2,接電視時,通常設定成1;接電腦螢幕,則設定成2。

hdmi_mode則是設定視訊輸出的解析度和更新頻率,依照hdmi_group分成兩組數字編號,從1~59或者1~85。以hdmi_group=2為例,hdmi_mode設定成82,代表1920×1080, 60Hz視訊輸出。關於HDMI訊號輸出格式的詳細設定說明,請參閱Raspberry Pi官網的VIDEO OPTIONS IN CONFIG.TXT文件

安裝5吋觸控螢幕驅動程式時,它將在config.txt檔案末尾新增如下的設定:

  hdmi_group=2
  hdmi_mode=87
  hdmi_cvt 800 480 60 6 0 0 0
  hdmi_drive=1

其中,hdmi_mode=87,代表「自訂解析度和更新頻率」,自訂的解析度和更新頻率透過hdmi_cvt設定,這道指令的前3個參數,分別代表解析度寬(800)、高(480)與更新頻率(60)。

hdmi_drive(hdmi驅動)指令的可能值為1或2,若設定成1,代表聲音從樹莓派的3.5mm插孔輸出;2代表視訊和音訊從HDMI整合輸出。此觸控螢幕沒有內建揚聲器,所以設定成1。

如果把hdmi_mode=87改成其他參數值,例如hdmi_mode=16,代表1024×768, 60Hz視訊輸出,後面的hdmi_cvt自訂解析度命令將失效。這樣一來,VNC連線的畫面解析度確實提高成1024×768,但是5吋螢幕將只會顯示部份畫面,超過800×480範圍的內容會被截掉。

另一組跟視訊解析度相關的參數是framebuffer_width(影格緩存_寬)和framebuffer_height(影格緩存_高),底下設定會強制讓LCD螢幕顯示成960×640,VNC連線的畫面也會變成960×640,但由於5吋觸控螢幕的真實解析度只有800×480,所以觸控螢幕的顯示畫面會變得模糊。

  framebuffer_width=960
  framebuffer_height=640

設定VNC虛擬桌面解析度

自訂VNC連線畫面解析度,同時保有觸控LCD解析度的方法,是讓VNC伺服器產生虛擬桌面(virtual desktop)。下圖取自RealVNC官網的Creating and remoting a virtual desktop文件,虛擬桌面就是在樹莓派的主記憶體中,額外劃分一塊區域當作顯示記憶體來暫存畫面內容,提供給VNC連線的用戶端。

在終端機輸入vncserver命令,就能產生一個VNC虛擬桌面,預設的解析度為800×600。

接著,從VNC用戶端連線到樹莓派的IP位址並指定虛擬桌面編號(目前只有一個,所以編號為1)。假設樹莓派的IP位址是192.168.7.132,VNC虛擬桌面的連線位址要設定成:192.168.7.132:1。

vncserver命令後面可以附加解析度參數,例如,底下將產生960×640解析度的虛擬桌面:

vncserver -randr=960x640

解析度設定會影響到佔用的主記憶體大小和網路傳輸頻寬,960×640已經夠我平常使用了。

開機啟動VNC虛擬桌面的自訂服務程序

假如每次VNC連線都要手動輸入建立虛擬桌面的命令,實在太麻煩了,在樹莓派官方討論區的這一篇貼文裡面,網友Rob提供一個開機啟動VNC虛擬桌面的自訂服務程序,設定步驟如下:

1. 在 /etc/systemd/system/路徑底下新增一個systemd開機啟動腳本,檔名:vncvirtualdesktop.service。

2.在其中輸入底下的程式碼(此虛擬桌面設定成960×640,你可以自由修改):

  [Unit]
  Description=Start VNC Server Virtual Desktop

  [Service]
  Type=oneshot
  ExecStart=/bin/su pi -c '/usr/bin/vncserver -randr=960x640'
  ExecStop=/usr/bin/vncserver -kill :1
  RemainAfterExit=yes
  
  [Install]
  WantedBy=multi-user.target
  

3. 執行systemctl enable vncvirtualdesktop.service啟用此服務(系統將要求你輸入管理員密碼)。

以後,從VNC用戶端連線到樹莓派的IP位址並指定虛擬桌面編號,即可連線到此虛擬桌面。

Posts created 470

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top