树莓派的面子,就交给PitTFT吧

epeppanda
发布于 2021-2-20 09:45
浏览
0收藏

从开发板到便携式移动处理平台,其间你只差了一块触摸屏。

 树莓派的初衷是提供一台廉价的教育电脑,让全世界所有的孩子都能借助它来探索神秘的电脑及编程世界。

树莓派变成大人的玩具,估计是树莓派的创始人始料未及的。使用树莓派的标准姿势是将它与显示器及键盘鼠标连接,当成一台标准的PC来用。不过随着树莓派的越来越普及,为树莓派添加一个便携的显示屏,使之更具便携性就成了迫切的需求,毕竟,不是所有的场合都能立即找到一台空闲的显示器来连接树莓派。树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

Adafruit推出的PiTFT,可以说是专门为树莓派量身定做,在不影响树莓派便携性的情况下,还能为树莓派提供显示功能,让树莓派更有面子。

 

PiTFT有多种规格可选,2.8吋的屏一般提供320X240的分辨率,而3.5吋屏则提供480X320的分辨率,本次使用的产品型号为3.5吋屏,屏幕分辨率则为480X320,通过SPI接口与树莓派通信,能提供基本的显示功能。受限于SPI接口的限制,刷新率方面会有一定的影响,不过做为基本显示来说,足够用了。另外一个特色是该屏还提供了电阻触摸,对于简单的图形演示,甚至可以连键盘和鼠标都扔了,直接在上面用手指点、戳,充分发挥二指禅神功。

 

Adafruit最喜欢黑色,无论是产品还是包装,大都以黑色为主。此次的PiTFT也未能免俗,黑白配,给人很神秘的感脚!包装盒列出了产品的型号及规格,是3.5吋的屏,分辨率为480X320。另外从包装盒上也可以了解到,该屏已组装好,可以直接连接到树莓派上,即插即用!菜鸟们听了都表示很好,很方便。树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

打开来看,首先是保护措施很到位,厚厚的防震泡沫,保证运输过程不会伤及到产品。看起来似乎和树莓派的尺寸差不多,四角有定位孔,不过似乎和树莓派没关系,这要装上去看会感受到。新产品上还有一层保护膜,使用前可以揭开,触摸的灵敏度会更好。树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区显示屏的背面,可以看到显示方案使用的是STMPE610加HX8357D,显示屏通过FPC连接到PCB板上的显示主控。另外还提供了两组GPIO接口,上图中左侧的接口与树莓派相连并实现与树莓派的通信,上部的GPIO接口则是引出的接口,可以用来连接外部传感器,完全不用担心GPIO全部被显示屏遮挡!树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

安装后的样子,与树莓派大小一致,美中不足的是显示屏四角的四个固定孔,有点超出了。

官方提供了配套的设备驱动及安装脚本,安装过程并不复杂。在组装好硬件后,给树莓派上电。注意,由于添加了显示屏,消耗的电流明显增大,请注意准备一个标准的5V/2A电源适配器,如果放到电脑的USB接口,小心可能会烧掉USB HUB!

打开一个终端窗口,执行如下的命令

cd ~

wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/adafruit-pitft.sh

chmod +x adafruit-pitft.sh

sudo ./adafruit-pitft.sh

接下来就是根据实际需要选择相关的设置,以便能在显示屏上输出画面。树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区接下来就是根据实际需要选择相关的设置,以便能在显示屏上输出画面。

树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

接下来是选择屏幕方向,根据实际情况,选择LANDSCAPE或PORTAIT模式,即横屏或竖屏模式

PiTFT支持双屏输出,即板载的HDMI正常输出,同时在PiTFT上输出控制台或直接镜像HDMI输出到PiTFT上,接下来配置如何在PiTFT上要显示的内容树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

这里询问显示在PiTFT上的内容,如果回答y,则显示控制台内容,实现双显示输出树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

最后一步询问是否将HDMI输出镜像到PiTFT,如果选y,将实现镜像输出,否则PiTFT将进入到FrameBuffer模式,一般情况下PiTFT将黑屏,除非强制使用framebuffer输出,将内容显示到PiTFT上。

上述配置过程可以反复执行,以满足不同的用户需求。

先来看看HDMI镜像输出的效果,即将PiTFT当成一个普通的显示器来使用树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区这是实际的输出效果,实际显示效果要更好一点。可以看到经典的树莓派桌面,唯一的遗憾是屏幕尺寸小了点,如查多打开几个程序,会发现任务栏上很挤树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

这是控制台显示的效果,现在可以接上键盘,好好玩一下纯正的linux命令了。

还有一种方式就是framebuffer模式了,一般情况下,PiTFT是黑的,使用mplayer等支持framebuffer输出软件时,需要强制指定输出位置,如下命令所示

 

mplayer -vo fbdev:/dev/fb1 bigbuckbunny320p.mp4

 

这里指定强制将内容输出到/dev/fb1,也就是在PiTFT播放电影内容,实际播放效果如下树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

远程终端上输出的内容如下树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

音频、视频解码正常,接上耳机就可以看电影了,不过速度有点慢!

 

按照官方的说法,可以调整SPI的速度来达到更好的显示性能,具体方法是修改config.txt的内容,调整到如下设置

dtoverlay=pitft28r,rotate=90,speed=62000000,fps=25

按照此设置重启后,显示屏常亮!当然也就没有输出内容了,测试时使用的最新树莓派版本。经多次尝试后,终于调整到一个比较好的状态,具体参数如下

 

dtoverlay=pitft28r,rotate=90,speed=32000000,fps=25

现在终于能看了。

接下来准备写个小小的GUI DEMO,也算是抛砖引玉!

用PYQT5来写个小小的DEMO,看下在PiTFT上运行的效果如何。首先得安装QT5的Python绑定,具体安装过程就不赘述了,直接上代码,看效果!

 

代码如下

from PyQt5.QtWidgets import QApplication, QWidget

import sys

app = QApplication(sys.argv)

w = QWidget()

w.setWindowTitle('Hello, Pi!')

w.resize(200, 200)

w.show()

sys.exit(app.exec_())

非常简单的一段代码,使用QWidget作为主窗口,然后显示,内容是空的,不过这不影响咱的测试效果。

这个得在X11下才能运行,虽然也可以写基于FrameBuffer版本的测试代码,不过要完整的编译QT才行,考虑到树莓派的性能,需要的时间估计有点长。树莓派的面子,就交给PitTFT吧-鸿蒙开发者社区

这个就是在桌面上运行的效果,没毛病,界面出来了,现在如果有时间,可以整一个复杂的界面来玩玩了。好吧,这个任务就由你来实现了,赫赫!

 

对于树莓派而言,传统的玩法无外乎两种:外接一个显示器,当成PC来玩;使用HEADLESS模式,使用终端来玩。现在有了PiTFT,又多了一种玩法,直接揣在口袋里,再准备一个MINI键盘,一机走天下!

 

也许你的荣耀,就藏在这个不起眼的PiTFT中,要装X和正准备装X的兄弟,玩起来,HIGH起来!不过话又说回来,装X是要代价的,PiTFT的代价就是340RMB

 

参考资源:

PiTFT: https://www.adafruit.com/product/2097

分类
标签
已于2021-2-20 09:45:09修改
收藏
回复
举报
回复
    相关推荐