1. 程式人生 > >【raspberrypi】樹莓派官方7寸屏入門指南

【raspberrypi】樹莓派官方7寸屏入門指南

原文作者: 戴曉天 @ 雲飛機器人實驗室

1. 引子

在樹莓派官方觸控式螢幕釋出之前,市場上可用的螢幕有以下三種:

  • 直接和GPIO插口對接的螢幕,使用SPI與CPU進行通訊。需要特殊的驅動程式將framebuffer的內容傳送到LCD控制器上,一般帶有觸屏功能,大小以3.5寸為主流。受限於SPI通訊速度,重新整理速率不高;
  • 專用USB介面的螢幕,如RoboPeak Mini USB Display。這類螢幕通過USB連線,需要本地執行驅動程式;
  • 通用LCD螢幕,通過HDMI和樹莓派連線。因其通用性不需要特殊的驅動程式,但是很多都不支援觸屏功能,而且都需要額外的轉接板,體積較大;

rpilcd-front-with-base
▲ 圖.  樹莓派官方7寸屏實拍

我自己的需求是將樹莓派作為資訊顯示中心,在螢幕上顯示我的HP伺服器的執行資訊,另外提供一些快捷的感測器監控和控制操作介面。最初一直在官方螢幕和HDMI螢幕之間猶豫,最後還是選擇了官方觸控式螢幕。歸結起來主要有幾個原因:

  • 官方屏的LCD模組最有保證,淘寶上的HDMI LCD一般成像質量不高;
  • 官方屏的觸控功能在所有方案中是支援的最好的,有十點電容觸控(目前Raspbian還只支援單點,以後會升級),且不需要額外驅動。而HDMI介面的LCD如果有觸控功能,都需要額外接一根USB用於提供觸控控制;
  • 官方觸屏和樹莓派3可以直接通過銅柱物理連線,無需額外的驅動電路板。連線也非常少,只需要一根DSI軟排線和供電介面即可。

總體上來說,雖然官方屏的價格高了一些,但是卻是所有方案中最可靠、簡潔的,所以最後也沒有多猶豫就從網上下單了。rpilcd-front-without-base
▲ 圖. 樹莓派官方LCD屏實拍 – 正面

2. 入手簡評

這款螢幕官方公佈的主要引數有:

  • 解析度800 x 480畫素,重新整理率60fps;
  • 10點電容觸控,但是目前只支援單點觸控;
  • 背後有可供背掛的安裝定位孔;
  • 可視角度70度 ,可視區域大約為155 x 86mm;
  • 非方形畫素 – 大約為0.19 x 0.175mm;
  • 電源功耗:455mA – 470mA之間,約為2.3W。

雖然說這款螢幕是相對來說比較好的選擇,但是拿到手之後還是發現了很多存在的問題:

  • 首先是這款螢幕的解析度只有800 x 480,是WVGA標準,很多應用軟體的介面都無法完全顯示,使用時要經常拖動視窗來顯示需要的資訊;同樣的,如果是自己開發圖形介面,能夠顯示內容的空間也會比較有限(尤其考慮到工作列也佔用了一部分空間);
  • 其次是這個螢幕的可視角不大。現在主流的LCD螢幕可視角都是120度以上了,而這款屏只有70度,工作時只要稍微變換一下角度螢幕的內容就看不清楚了。可視角的問題在仰視時還可以接受,俯視的時候就非常明顯了;
  • 最後就是這個螢幕比較吃電,如果和樹莓派供用電源,會影響到樹莓派的供電。如果出現供電不足的情況,螢幕的右上角就會時不時出現一個方形的彩虹圖示。

總體來說這款螢幕從設定到使用還是比較方便的,但是作為官方釋出的螢幕,同時再考慮其600塊錢的定價,整體價效比就顯得不高了。

3. 使用方法

3.1 注意事項(使用前必讀)

1) 這款螢幕主要支援的樹莓派型號是Model A+, B+, Pi 2和Pi 3。 Model A和B雖然也可以使用,但是會犧牲I2C的功能(因為這兩個型號只有一組I2C,而其他型號有兩組,可用其中一組作觸屏介面);

2) 至於作業系統,推薦使用最新版原生Raspbian OS。目前對NOOBS系統支援不好,所以還是推薦安裝Raspbian;如果已經在使用舊版Raspbian,但是不想重新安裝最新的系統,可以使用以下命令升級系統:

1 2 3 sudo apt-get update sudo apt-get install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-bootloader sudo reboot

以下是官方公佈的作業系統支援情況:
– Raspbian – Supported
– Ubuntu MATE – Supported
– RetroPie – Supported
– OpenElec – Supported
– OSMC – Supported
– Arch – Display works, Touch may be tricky: https://www.raspberrypi.org/forums/viewtopic.php?f=108&t=128452
– Kano OS – Not supported

3) 確保使用官方電源(或其他品牌電流供應能力 > 2A以上的電源),保證螢幕可以正常供電;

4) FPC連線頭很脆,安裝的時候需要小心一點。確保FPC連線頭可靠連結,連線埠的卡口扣下。

3.2 安裝方法

開啟包裝後,螢幕背面介面的情況如下圖所示:

rpilcd-back-without-base00
▲ 圖. 樹莓派官方LCD屏背面介面

這裡主要需要連線的就是LCD軟排線和電源供電介面。LCD軟排線連線的時候問題不大,主要就是注意介面觸電的方向是否正確,不要裝反了。至於電源介面,這款螢幕提供三種供電方式:

1) GPIO引腳供電(樹莓派向LCD供電)

可以直接從樹莓派跳VCC和GND線進行連線,然後給樹莓派供電,但是這樣就無法使用其他IO擴充套件板了(如SenseHat)。

rpilcd-back-without-base1
▲圖. GPIO供電連線方法

2) USB串聯供電(LCD向樹莓派供電)

將LCD的Power Out端連線至樹莓派,然後給LCD電源介面供電。經測試,這種方式供電經常會遇到之前說的供電不足的情況,螢幕右上角會出現彩虹圖示。

rpilcd-back-without-base2
▲圖. USB串聯供電連線方法

3) 雙USB同時供電

兩個USB都單獨供電,但是要保證兩個USB可以同時上電,否則會出現開機沒有初始化螢幕,而沒有圖形顯示的問題。

電源和軟排線連線完成後就可以固定樹莓派了。樹莓派的安裝方法有兩種:正裝和反裝。所謂正裝,就是將樹莓派以相同方向安裝在LCD的銅柱固定柱上。而反裝,則是將樹莓派面朝LCD驅動板進行安裝。反裝可以節省空間,但是反裝就無法再使用GPIO引腳了,所以一般情況下都是正裝的。

官方屏不含支架,可以去網上購買專用的LCD支架,像我買的這款用起來就不錯:

rpilcd-back-with-base
▲圖. LCD亞克力支架

3.3 使用虛擬鍵盤

對於想使用觸控式螢幕進行全部操作的朋友,可以安裝一個虛擬鍵盤進行文字輸入:

3.3.1 Florence

Suggested on the Pi forums by Hove is Florence: http://xmodulo.com/onscreen-virtual-keyboard-linux.html. Install with:

sudo apt-get install florence

3.3.2 Matchbox

Suggested by Alex ( the almighty @raspitv ), and scattered on various blogs, is Matchbox, which you can install like so:

sudo apt-get install matchbox-keyboard

And then find in Accessories > Keyboard.

4. FAQ問題解答

Q: 螢幕上下180度翻轉

A: 開啟SD卡中的/boot/config.txt檔案,增加以下一行:

lcd_rotate=2

也可以直接使用以下命令:

echo "lcd_rotate=2" | sudo tee -a /boot/config.txt

Q: 程式控制背光

A: 開啟背光:

echo 0 > /sys/class/backlight/rpi_backlight/bl_power

關閉背光:

echo 1 > /sys/class/backlight/rpi_backlight/bl_power

Q: 在Pi A, B上使用

A: 首先需要將樹莓派的IIC線與LCD控制板的IIC匯流排手動連線在一起,包括SDA ( http://pinout.xyz/pinout/pin3_gpio2) 和 SCL (http://pinout.xyz/pinout/pin5_gpio3)。之後修改配置,在IIC總線上識別LCD:

ignore_lcd=0

注意: 其他IIC裝置將無法使用。

Q: 螢幕左上角出現方形彩虹圖示

A: 電源供電不足,請使用電流供應能力 > 2A的電源。

Q: 如何使用Kivy圖形庫

A: Kivy介紹:Kivy is a Python GUI development system for cross-platform applications. It is designed to work with touchscreen devices (phones and tablets), but also runs on the Raspberry Pi. To install Kivy onto your Pi follow the instructions at https://kivy.org/docs/installation/installation-rpi.html.

如果需要在樹莓派上正常識別觸控式螢幕輸入,需要將觸控式螢幕在Kivy中配置成為輸入源。開啟配置檔案 ~/.kivy/config.ini ,在 [input] 一欄增加以下命令:

1 2 3 mouse = mouse mtdev_%(name)s = probesysfs,provider=mtdev hid_%(name)s = probesysfs,provider=hidinput