1.将LCD背面的拨码开关拨到I2C0或I2C1的模式,Bullseye分支使用I2C0,Buster分支使用I2C1。默认是I2C0模式。
2.使用15PIN的FPC排线,将11.9inch DSI LCD连接到Raspberry Pi的DSI接口。
3.将树莓派通过螺丝固定到屏幕上,注意对齐顶针位置。 最终连接如下图所示:
注意: 如果你不清楚Raspberry Pi OS的两个分支的差别,可以查看以下介绍#Raspberry Pi OS分支介绍
若树莓派和屏幕没有按上述操作背锁式固定,则需额外使用杜邦线通过树莓派提供供电和I2C通信。
git clone https://github.com/waveshare/11.9inch-DSI-LCD.git
cd 11.9inch-DSI-LCD
#确定当前使用的系统是多少位的,32位系统进入32目录,64位系统进入64目录
cd 32
#cd 64
#终端输入uname -a查看内核版本,并进入到对应文件目录
cd 5.15.32
sudo ./WS_11_9inchDSI320x1480_MAIN.sh
sudo reboot
注:以上步骤需要确保树莓派可以正常连接到互联网。
在开始菜单里选择:Preferences->Screen Configuration->Configure->Screens->DSI-1->Orientation,在里面选择对应的角度,点击“√”,选择Yes,重启即可。
显示旋转:
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_11_9inchDSI320x1480_Touch,invertedy,swappedxy #180 #dtoverlay=WS_11_9inchDSI320x1480_Touch #270 #dtoverlay=WS_11_9inchDSI320x1480_Touch,invertedx,swappedxy #0 dtoverlay=WS_11_9inchDSI320x1480_Touch,invertedx,invertedy
将/boot/config.txt文件里 dtoverlay=WS_11_9inchDSI320x1480_Screen
改为: dtoverlay=WS_11_9inchDSI320x1480_Screen,Backlight=x #( x为0-255,0为最暗,255为最亮,默认为最亮)
如:dtoverlay=WS_11_9inchDSI320x1480_Screen,Backlight=255
在reboot重启即可。
微雪提供了对应的应用程序(该程序仅用于raspbian系统),用户可以通过以下方式下载安装使用:
cd 11.9inch-DSI-LCD cd brightness 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 cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_7inchDSI1024x600_MAIN.sh sudo reboot #对于4inch DSI LCD使用: cd 4inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_4inchDSI480x800_MAIN.sh sudo reboot #对于2.8inch DSI LCD使用: cd 2.8inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_2_8inchDSI480x640_MAIN.sh sudo reboot #对于7.9inch DSI LCD使用: cd 7.9inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_7_9inchDSI400x1280_MAIN.sh sudo reboot #对于11.9inch DSI LCD使用: cd 11.9inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_11_9inchDSI320x1480_MAIN.sh sudo reboot
由于安装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 cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_7inchDSI1024x600_MAIN.sh sudo reboot #对于4inch DSI LCD使用: cd 4inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_4inchDSI480x800_MAIN.sh sudo reboot #对于2.8inch DSI LCD使用: cd 2.8inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_2_8inchDSI480x640_MAIN.sh sudo reboot cd 7.9inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_7_9inchDSI400x1280_MAIN.sh sudo reboot #对于11.9inch DSI LCD使用: cd 11.9inch-DSI-LCD cd xxx/xxx #使用不同内核,不同接口,需要进入不同目录 sudo ./WS_11_9inchDSI320x1480_MAIN.sh sudo reboot
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