树莓派 2.8寸 ili9341 tft lcd spi 屏幕显示

结果展示

  1. 显示命令行的效果喜人
  2. 我把树莓派0w通过胶枪打胶贴到显示屏的背部,感觉还不错,稍后我把线焊一下,管脚减短些更清爽,现在整体是这样的:
  3. 淘宝店家的显示屏截图是这样的,我专门买的ili9341,因为网上的资料全
    树莓派 2.8寸 ili9341 tft lcd spi 屏幕显示_第1张图片

2.8寸屏幕仅展示命令行玩法

配置说明

  1. 我使用的树莓派系统是:2017-11-29-raspbian-stretch.img
  2. 接线,我参考的LOVE DOTNET的《树莓派研究笔记(9)-- 树莓派SPI连接TFT屏幕》
  3. 打开SPI,参考DevinTT的《树莓派使用上spi tft!(fbtft的使用)》,我这里不专门写了。
    1. 关键命令:sudo raspi-config
    2. 选项路径:Interfacing Options - > SPI - > Yes
  4. 参考第1步提到的参考材料,生成fb1(即是framebuffer1,这个tft屏幕就可以当做是fb1了),执行以下命令,lcd的灯会亮,如果是白天的话亮的不明显。所以最好在暗处观察
    sudo modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
    
  5. 参考athuhu0321的《树莓派开发系列教程10——树莓派spi液晶屏支持(fbtft)》,Console(可以理解为命令行)显示在fb1上,我觉得展示命令行更有趣一些
    1. 如果想要lcd展示命令行,需要先将树莓派的启动界面,改为启动进入命令行才行,这步非常重要。(我试过,树莓派启动进入桌面,无法使用指令让树莓派在lcd上展示命令行,而是,使用指令了之后,lcd一点反应都没有),改动方式见下:
    sudo raspi-config
    选择路径为:Boot Options -> Desktop/CLI ->Console AutoLogin (表示自动进入pi用户)
    选择完成后,使用指令重启: sudo reboot
    
    1. 大显示器(非我们的2.8寸lcd小屏幕)接入树莓派的hdmi口,重启完成后,发现树莓派直接进入了命令行,而不是桌面,继续使用下列指令
    先使用命令生成fb1:sudo modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
    再使用命令,将命令行界面映射到fb1上:con2fbmap 1 1
    
    1. 搞定!

设置启动就在2.8寸lcd屏幕上进入命令行

思路:

  1. 用户登入linux系统,linux系统会首先加载用户家目录下的.bashrc文件
  2. 树莓派每次默认自动登入pi用户。(可以使用sudo raspi-config指令,选项路径Boot Options->DeskTop / CLI 下选择pi的登入选项)
  3. 所以,只要改动pi用户家目录下的~/.bashrc文件,在文件末尾追加启动需要执行的命令即可。
  4. 追加的命令如下
sudo modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
con2fbmap 1 1
  1. 实际验证,并不行,我猜:可能是sudo modprobe ***** 这句指令执行需要部分时间,到con2fbmap指令执行时,fb1还没创建出来
  2. 所以应该这样配置,在/etc/rc.locatl文件中追加sudo modprobe *****配置,在~/.bashrc文件中追加con2fbmap 1 1搞定
    1. /etc/rc.locatl是linux系统启动加载文件,加载主体是root用户,所以追加的执行无需带sudo,但是vi这个文件需要带sudo,指令如下
    sudo vi /etc/rc.local
    在文件末尾,exit 0内容之前,追加以下内容:
    modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
    
    1. 在~/.bashrc文件末尾,追加以下内容:
    vi ~/.bashrc
    追加以下内容:
    con2fbmap 1 1
    
    1. 重启,这之后,即使不带hdmi显示器,也可以在这个小lcd上展示命令行了

2.8寸屏幕仅展示linux桌面玩法

经过以上内容的洗礼,这个就简单多了

  1. 非常重要,修改启动加载桌面(而不是启动加载命令行),这样应该是使树莓派在启动的时候,就加载桌面组件,才能在hdmi或者2.8寸lcd这样的桌面UI输出设备上进行显示,使用以下指令:
    sudo raspi-config
    选择路径为:Boot Options -> Desktop/CLI ->Desktop AutoLogin (表示自动进入pi用户)
    选择完成后,使用过指令重启: sudo reboot
    
  2. /etc/rc.locatl文件先加入fb1初始化的内容:
    sudo vi /etc/rc.local
    在文件末尾,exit 0内容之前,追加以下内容:
    modprobe fbtft_device name=rpi-display gpios=reset:25,dc:24,led:18 rotate=90 fps=50 speed=65000000
    
  3. 新增文件,特别注意,加入以下内容之后,hdmi接口在重启之后,就不输出了,而是通过fb1(2.8寸)屏幕进行输出:
    sudo vi /usr/share/X11/xorg.conf.d/99-fbdev.conf
    写入以下内容:
    Section "Device"  
      Identifier "myfb"
      Driver "fbdev"
      Option "fbdev" "/dev/fb1"
    EndSection
    
  4. 在命令行,使用以下命令,就可以在2.8寸lcd屏幕上显示桌面。
    startx
    
  5. 或者,在新增好/usr/share/X11/xorg.conf.d/99-fbdev.conf文件之后,直接在2.8寸lcd的命令行中(看上一章节:2.8寸屏幕仅展示命令行玩法),直接使用startx命令,就可以在2.8寸lcd中进入桌面,方便快捷。
  6. 按以上方式配置了之后,启动就直接不在hdmi接口上输出了(即使接了hdmi屏幕也不输出),而是在2.8寸lcd上输出。如果要回复输出到hdmi上,只能将新增的这个配置文件/usr/share/X11/xorg.conf.d/99-fbdev.conf删除,并重启树莓派(或者使用startx指令),就可以在hdmi上输出了。反正要么2.8寸lcd输出,要么hdmi输出。不可兼得。(如果既想在hdmi上输出,又想在2.8寸lcd上输出,参考athuhu0321的《树莓派开发系列教程10——树莓派spi液晶屏支持(fbtft)》中的fbcp部分)

你可能感兴趣的:(树莓派,raspberry,pi)