1. 将LCD背面的拨码开关拨到I2C0或I2C1的模式,Bullseye分支使用I2C0,Buster分支使用I2C1。默认是I2C0模式。
注:如果你不清楚Raspberry Pi OS的两个分支的差别,可以查看以下介绍#Raspberry Pi OS分支介绍
2. 使用15PIN的FPC排线,将4inch DSI LCD连接到Raspberry Pi的DSI接口。
3. 将4inch DSI LCD通过铜柱与Raspberry Pi固定。则时显示屏的5V,GND,SCL,SDA会通过顶针连接到树莓派的40PIN GPIO上。5V和GND接口可以接入小功率设备,如风扇。
注:对于使用I2C0模式,可以不将4inch DSI LCD和Raspberry Pi固定,也可以正常使用,但显示屏的5V和GND接口将不能对外供电。
最终连接如下图所示:
git clone git://github.com/waveshare/4inch-DSI-LCD.git
cd 4inch-DSI-LCD
#终端输入uname -a查看内核版本,并进入到对应文件目录
cd 5.10.63
#确定当前使用的是什么通信接口,进入到对应文件目录
#Bullseye分支使用I2C0
cd I2C0
#Buster分支使用I2C1
#cd I2C1
sudo ./WS_4inchDSI480x800_MAIN.sh
sudo reboot
注:以上步骤需要确保树莓派可以正常连接到互联网。
在开始菜单里选择:Preferences->Screen Configuration->Configure->Screens->DSI-1->Orientation,在里面选择对应的角度,点击“√”,选择Yes,重启即可。
2022/2/10注:当前Bullseye分支有一个BUG,就是如果打开VNC后,使用上面的旋转,触摸的旋转方向是错误的。这个BUG将在之后的版本中修复。如果你需要同时打开VNC和进行旋转,可以参考Buster分支的旋转方式。
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart #在autostart文件末端输入对应显示旋转角度的指令,重启后生效 #显示旋转90度 xrandr --output DSI-1 --rotate right #显示旋转180度 xrandr --output DSI-1 --rotate inverted #显示旋转270度 xrandr --output DSI-1 --rotate left
sudo nano /boot/config.txt #在config.txt文件末端修改触摸旋转角度的指令,重启后生效(默认存在0°触摸方向的指令) #90°: dtoverlay=WS_4inchDSI480x800_Touch,invertedx,invertedy #180°: dtoverlay=WS_4inchDSI480x800_Touch,invertedy,swappedxy #270°: dtoverlay=WS_4inchDSI480x800_Touch #0°: dtoverlay=WS_4inchDSI480x800_Touch,invertedx,swappedxy
sudo nano /boot/config.txt #在config.txt里,将dtoverlay=WS_4inchDSI480x800_Screen改成以下的命令,其中x为0-255,0为最暗,255为最亮,默认为最亮) dtoverlay=WS_4inchDSI480x800_Screen,Backlight=x #如: dtoverlay=WS_4inchDSI480x800_Screen,Backlight=100 #在重启即可 reboot
使用微雪提供的应用程序(该程序仅用于Raspberry Pi OS系统),用户可以通过以下方式下载安装使用:
#找到原来的驱动目录 cd 4inch-DSI-LCD cd Backlight sudo ./install.sh
安装完成后,可以在开始菜单-》Accessories -》Brightness 打开该程序,如下图:
注:如果你不清楚Raspberry Pi OS的两个分支的差别,可以查看以下介绍#Raspberry Pi OS分支介绍
DSI LCD在使用时,需要加载KMS显示驱动程序,这会与Buster分支的默认相机子系统raspicam产生冲突。
需要编译和安装libcamera相机子系统,才可以正常使用树莓派相关的CSI摄像头。
如果用户使用Bullseye分支,则无需进行任何操作就可以使用树莓派相关的CSI摄像头。
先关闭树莓派,在接上树莓派摄像头,在给树莓派上电。
注:不允许带电插拔树莓派摄像头,否则可能导致烧坏相关电路。
libcamera-apps应用程序支持Pi3和Pi4。 在安装之前,需要先更新您的Raspberry Pi软件:
sudo apt update
根据实际摄像头,在/boot/config.txt中设置正确的dtoverlay
sudo nano /boot/config.txt
在文档末端添加:
#以RPi Camera V2为例,感光芯片为索尼IMX219,则添加以下代码: dtoverlay=imx219 #同理,OV5647芯片: #dtoverlay=ov5647 #IMX477芯片: #dtoverlay=imx477
打开摄像头接口,执行以下命令:
sudo raspi-config
选择3 Inteface Options -》 P1 Camera -》回车 -》 Yes -》 Finish -》 Yes,然后会重启树莓派。
注1:建议使用Pi4来安装和编译libcamera-apps,而非Pi3,因为Pi4的性能更强,编译不容易出错。编译完成后的镜像也可以在Pi3上使用。
注2:在安装libcamera的过程中很可能在某些步骤会出错,如果你是新手,建议直接烧录#方法一 ,使用预装驱动的镜像,在这个镜像中我们已经安装好了libcamera。
为libcamera安装所有必需的依赖项:
sudo apt install libboost-dev -y sudo apt install libgnutls28-dev openssl libtiff5-dev -y sudo apt install qtbase5-dev libqt5core5a libqt5gui5 libqt5widgets5 -y sudo apt install meson -y sudo pip3 install pyyaml ply sudo pip3 install --upgrade meson
现在我们可以下载并构建libcamera:
git clone git://linuxtv.org/libcamera.git cd libcamera meson build cd build meson configure -Dpipelines=raspberrypi -Dtest=false cd .. ninja -C build sudo ninja -C build install
Libcamera-apps需要安装libepoxy。首先安装其前提条件:
sudo apt install libegl1-mesa-dev
然后下载并构建libepoxy:
cd git clone https://github.com/anholt/libepoxy.git cd libepoxy mkdir _build cd _build meson ninja sudo ninja install
Libcamera-apps进一步操作如下:
sudo apt install cmake libboost-program-options-dev libdrm-dev libexif-dev
构建libcamera-apps,请输入:
cd git clone https://github.com/raspberrypi/libcamera-apps.git cd libcamera-apps mkdir build cd build cmake .. make -j4
最后使用libcamera-hello指令打开一个5秒钟的预览摄像画面:
./libcamera-hello
相关指令介绍:
libcamera-still #可替换raspistill使用。 libcamera-vid #可替换raspivid使用。 libcamera-raw #libcamera-vid的一个版本,用于保存未压缩的原始视频文件。 libcamera-hello #入门指令,运行即可在显示屏上看到摄像画面。 libcamera-jpeg #一个精简版的libcamera——仍然可以运行预览并捕捉JPEG,不受其他选项的干扰。
注意:在安装好libcamera-apps后,会将原来的DSI驱动覆盖,为了使DSI LCD可以正常使用,需要重新安装驱动:
#对于7inch DSI LCD (C)使用: cd 7inch-DSI-LCD-C sudo ./WS_7inchDSI1024x600_MAIN.sh sudo reboot #对于4inch DSI LCD使用: cd 4inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_4inchDSI480x800_MAIN.sh
由于安装libcamera的步骤很多,耗时很长。我们提供一个脚本程序进行直接安装。
具体操作步骤如下:
1. 更新可用软件包列表
sudo apt update
2. 下载libcamera-install文件并安装
git clone https://github.com/waveshare/libcamera-install.git cd libcamera-install sudo chmod +x install_libcamera_all.sh sudo ./install_libcamera_all.sh
3. 出现echo "install Succeed"表示成功安装。出现echo "install Fail" 表示安装失败。
成功安装后会在libcamera-install目录下生成libcamera、libcamera-apps和libepoxy三个文件夹,如果需要重新安装,应先将这三个文件夹删除后,在重新安装。
受网络影响,运行一次可能安装不成功,多运行几次即可。
注意:在安装好libcamera-apps后,会将原来的DSI驱动覆盖,为了使DSI LCD可以正常使用,需要重新安装驱动:
#对于7inch DSI LCD (C)使用: cd 7inch-DSI-LCD-C sudo ./WS_7inchDSI1024x600_MAIN.sh sudo reboot #对于4inch DSI LCD使用: cd 4inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_4inchDSI480x800_MAIN.sh
4. 重启
sudo reboot
5. 测试,显示5秒摄像头图像
cd /home/pi/libcamera-install/libcamera-apps/build ./libcamera-hello
更多关于libcamera的使用说明,请参考:
https://www.raspberrypi.org/documentation/linux/software/libcamera/README.md
https://github.com/raspberrypi/libcamera-apps/blob/main/README.md
https://www.raspberrypi.org/documentation/linux/software/libcamera/rpi_SOFT_libcamera_1p2.pdf
在2021年12月2日,树莓派的Raspberry Pi OS分成了两个分支,分别是Buster分支和Bullseye分支。
其中Buster分支是老系统的延续,更为稳定,使用raspicam作为默认的相机子系统。
Bullseye分支则添加了一些新的功能,其中将KMS作为了默认的显示驱动程序,并且使用libcamera作为默认的相机子系统。
对于配合该显示屏使用的项目,我们建议用户使用Bullseye分支系统,因为在该系统上,只需进行简单的配置就可正常使用,并且可使用DSI接口中默认的I2C0进行通信,无需占用树莓派40PIN GPIO中的I2C1。
对于必须使用Buster分支的用户,我们当前也提供了相关的驱动程序,但由于DSI驱动默认需要加载KMS显示驱动程序,导致在Buster分支下的raspicam默认的相机子系统无法使用,需要重新编译和安装libcamera相机子系统(对新手来说,有一定难度),并且为了使raspicam相机子系统不与DSI驱动冲突,DSI驱动会占用树莓派40PIN GPIO中的I2C1。
对于Bullseye分支,微雪研发团队将长期维持更新,对于Buster分支,我们将会持续支持到2024年6月(因为树莓派基金会在此时间后,将不会对Buster分支进行支持)。
以下是该显示屏的系统支持列表:
系统名称 | 所属分支 | 操作系统位数 |
---|---|---|
2022-01-28-raspios-bullseye-arm64 | bullseye | 64位 |
2022-01-28-raspios-bullseye-armhf | bullseye | 32位 |
2022-01-28-raspios-buster-armhf | buster | 32位 |
2021-10-30-raspios-bullseye-armhf | bullseye | 32位 |
2021-12-02-raspios-buster-armhf | buster | 32位 |
Raspberry Pi OS和Raspberry Pi OS (64-bit)为Bullseye分支,Raspberry Pi OS (Legacy)为Buster分支。
更详细信息可查看:
注:以上信息更新于2022年2月10日,由于树莓派的镜像更新比较频繁,在你看到此信息时,相关信息可能已经过时,具体以镜像的实际表现为准,这里仅供参考。
1. 更新系统,如执行以下命令
sudo apt-get update sudo apt-get full-upgrade
在更新完系统后,原本安装的驱动有些文件可能会被覆盖掉,需要重新安装驱动才可以正常显示。
2. 更换主板
如果原来在Raspberry Pi 4 Model B上安装的驱动,用户更换主板,如修改成Raspberry Pi 3 Model B+,会导致显示屏无法正常显示。
因为Pi4和Pi3需要加载不同的驱动文件,需在新的主板上重新安装驱动才可以正常显示。