树莓派的面子,就交给PitTFT吧
- [导读]
- 从开发板到便携式移动处理平台,其间你只差了一块触摸屏。
树莓派的初衷是提供一台廉价的教育电脑,让全世界所有的孩子都能借助它来探索神秘的电脑及编程世界。
树莓派变成大人的玩具,估计是树莓派的创始人始料未及的。使用树莓派的标准姿势是将它与显示器及键盘鼠标连接,当成一台标准的PC来用。不过随着树莓派的越来越普及,为树莓派添加一个便携的显示屏,使之更具便携性就成了迫切的需求,毕竟,不是所有的场合都能立即找到一台空闲的显示器来连接树莓派。
Adafruit推出的PiTFT,可以说是专门为树莓派量身定做,在不影响树莓派便携性的情况下,还能为树莓派提供显示功能,让树莓派更有面子。
PiTFT有多种规格可选,2.8吋的屏一般提供320X240的分辨率,而3.5吋屏则提供480X320的分辨率,本次使用的产品型号为3.5吋屏,屏幕分辨率则为480X320,通过SPI接口与树莓派通信,能提供基本的显示功能。受限于SPI接口的限制,刷新率方面会有一定的影响,不过做为基本显示来说,足够用了。另外一个特色是该屏还提供了电阻触摸,对于简单的图形演示,甚至可以连键盘和鼠标都扔了,直接在上面用手指点、戳,充分发挥二指禅神功。
Adafruit最喜欢黑色,无论是产品还是包装,大都以黑色为主。此次的PiTFT也未能免俗,黑白配,给人很神秘的感脚!包装盒列出了产品的型号及规格,是3.5吋的屏,分辨率为480X320。另外从包装盒上也可以了解到,该屏已组装好,可以直接连接到树莓派上,即插即用!菜鸟们听了都表示很好,很方便。
打开来看,首先是保护措施很到位,厚厚的防震泡沫,保证运输过程不会伤及到产品。看起来似乎和树莓派的尺寸差不多,四角有定位孔,不过似乎和树莓派没关系,这要装上去看会感受到。新产品上还有一层保护膜,使用前可以揭开,触摸的灵敏度会更好。
显示屏的背面,可以看到显示方案使用的是STMPE610加HX8357D,显示屏通过FPC连接到PCB板上的显示主控。另外还提供了两组GPIO接口,上图中左侧的接口与树莓派相连并实现与树莓派的通信,上部的GPIO接口则是引出的接口,可以用来连接外部传感器,完全不用担心GPIO全部被显示屏遮挡!
安装后的样子,与树莓派大小一致,美中不足的是显示屏四角的四个固定孔,有点超出了。
官方提供了配套的设备驱动及安装脚本,安装过程并不复杂。在组装好硬件后,给树莓派上电。注意,由于添加了显示屏,消耗的电流明显增大,请注意准备一个标准的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
接下来就是根据实际需要选择相关的设置,以便能在显示屏上输出画面。
第一步是选择屏幕类型,根据实际的硬件来选择参数,这里选择4,即3.5吋的规格,不用担心选错了,发现错误,重新运行该配置脚本就可以重新设置。
接下来是选择屏幕方向,根据实际情况,选择LANDSCAPE或PORTAIT模式,即横屏或竖屏模式
PiTFT支持双屏输出,即板载的HDMI正常输出,同时在PiTFT上输出控制台或直接镜像HDMI输出到PiTFT上,接下来配置如何在PiTFT上要显示的内容
这里询问显示在PiTFT上的内容,如果回答y,则显示控制台内容,实现双显示输出
最后一步询问是否将HDMI输出镜像到PiTFT,如果选y,将实现镜像输出,否则PiTFT将进入到FrameBuffer模式,一般情况下PiTFT将黑屏,除非强制使用framebuffer输出,将内容显示到PiTFT上。
上述配置过程可以反复执行,以满足不同的用户需求。
先来看看HDMI镜像输出的效果,即将PiTFT当成一个普通的显示器来使用
这是实际的输出效果,实际显示效果要更好一点。可以看到经典的树莓派桌面,唯一的遗憾是屏幕尺寸小了点,如查多打开几个程序,会发现任务栏上很挤
这是控制台显示的效果,现在可以接上键盘,好好玩一下纯正的linux命令了。
还有一种方式就是framebuffer模式了,一般情况下,PiTFT是黑的,使用mplayer等支持framebuffer输出软件时,需要强制指定输出位置,如下命令所示
mplayer -vo fbdev:/dev/fb1 bigbuckbunny320p.mp4
这里指定强制将内容输出到/dev/fb1,也就是在PiTFT播放电影内容,实际播放效果如下
远程终端上输出的内容如下
音频、视频解码正常,接上耳机就可以看电影了,不过速度有点慢!
按照官方的说法,可以调整SPI的速度来达到更好的显示性能,具体方法是修改config.txt的内容,调整到如下设置
dtoverlay=pitft28r,rotate=90,speed=62000000,fps=25
按照此设置重启后,显示屏常亮!当然也就没有输出内容了,测试时使用的树莓派版本了2B+。经多次尝试后,终于调整到一个比较好的状态,具体参数如下
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才行,考虑到树莓派的性能,需要的时间估计有点长。
这个就是在桌面上运行的效果,没毛病,界面出来了,现在如果有时间,可以整一个复杂的界面来玩玩了。好吧,这个任务就由你来实现了,赫赫!
对于树莓派而言,传统的玩法无外乎两种:外接一个显示器,当成PC来玩;使用HEADLESS模式,使用终端来玩。现在有了PiTFT,又多了一种玩法,直接揣在口袋里,再准备一个MINI键盘,一机走天下!
也许你的荣耀,就藏在这个不起眼的PiTFT中,要装X和正准备装X的兄弟,玩起来,HIGH起来!不过话又说回来,装X是要代价的,PiTFT的代价就是340RMB,MOUSER.CN有售。
参考资源:
PiTFT: https://www.adafruit.com/product/2097
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前