自玩树莓派记录-关于树莓派LCD3.5英寸屏幕使用及raspios(raspbian)-lite简单GUI服务搭建记录

自玩树莓派记录-关于树莓派LCD3.5英寸屏幕使用及raspios(raspbian)-lite简单GUI服务搭建记录

我有一个想法!

我有两个树莓派,玩了一年了,不懂的地方也一直有在CSDN看资料。嗯…现在也开始写一些自己的玩的东西吧。
既然是第一次,嗯,第一次,那就要从头开始来。
目标是搭建基于raspios极简的GUI框架,以便于开发自定义的桌面。一个可以用手指头在3.5寸的小屏幕上戳、戳、戳就可以用的GUI界面。(GUI界面待开发)
想要实现这个目的方法或许很多啦。但是因为技术原因(毫无系统性的自学)呢,我只会在基于raspios-list上安装xorg+lightdm。这样我就可以在这台树莓派上设置开机运行自己写的界面了。

硬件准备

你要有个树莓派!TF卡(8G及以上)!电源线!一块LCD3.5寸的可触摸小屏幕!

1.下载系统

树莓派呢,有很多系统,我只玩过官方的Raspbian,现在叫Raspios了。
那么Raspios呢也有很多版本,历史版本很多。
2020-12-02-raspios-buster-armhf-lite
上面一行是其中一个版本的名字:发布日期-系统名称-buster是版本-armhf是基于arm芯片的32位系统-lite是不带图形界面(GUI)的版本,full是带官方GUI且安装了许多基础软件的版本,也有不带软件只安装了GUI界面的。
这里我吐槽一下,以前从来没接触过linux,刚开始当然下了两个多G的full版,然鹅真不好用。后来还因为好奇,在PC上试了Deepin之类的系统。总结发现linux用命令方便多了。命令记不住,可以去某宝上买个命令鼠标垫,用久了就习惯了,个人觉得不难。
raspios系统下载地址: 点击这里.

下载页面,有时候会变哟,最重要是按名字找到自己需要的系统
因为我的目的是搭建一个最简单的GUI系统框架,而且树莓派性能有限,特别是我其中一块树莓派还是zero,所以选择Raspberry Pi OS Lite。它没有GUI界面,它才438MB,跟XP差不多大嘿嘿…
那么这个系统下过来之后是个.zip的压缩包文件,木有关系,不要管它。
我们进行下一步。

2.树莓派安装系统

PC上操作:
1.格式化TF卡
工具有很多,我用的是SDFormatter,傻瓜式格式化,一键操作。

2.系统镜像导入TF卡
工具有很多,我用的是balenaEtcher,稍微复杂一丢丢,它会自动识别TF卡盘,咱只需选择需要的系统镜像,然后点击开始就行。

3.TF卡加入SSH,无线网络
镜像好了后拔插TF卡,PC会发现boot盘。原本好几个G的U盘变成了200多M。(buster版的系统boot是200多M,但之前的版本会更少。如有需要安装的驱动文件过于庞大的,请一定使用buster版的,我有一块ReSpeaker2mic的模块,它的驱动就需要在boot中占用超大的空间。)
废话太多,在boot下建立SSH、wpa_supplicant.conf两个空文件(如使用.txt文件改名过来的记住一定要去掉原文件的后缀。)
TF卡boot中存有SSH为名的空文件时,树莓派开机会开启SSH功能。是PC控制树莓派的基础功能之一。
wpa_supplicant.conf是设置树莓派无线网络连接的设置文件。树莓派开机时会先从该文件中读取并使用参数设置。
wpa_supplicant.conf文件用文本编辑器打开,添加以下内容:

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="XXXX"  #你的无线网络名称
        psk="XXX"     #你的无线网络密码
        priority=5
}

4.连接树莓派
做好上述设置后,TF卡插入树莓派再上电。树莓派上绿灯闪呀闪,第一次需要较长时间,等它不闪的时候说明已经启动完毕了。
OK,用PC登录路由器查看树莓派IP地址。
SSH连接工具很多,我用的是putty。host name or IP address中输入树莓派的IP地址,Port中输入22,然后点击连接(Open)
OK,一般是可以连接上的哦,万一连接不上不要着急。TF拿出来,不要格式化,不重新倒镜像,插PC上再按第三步再细细走一遍。
OK,再不行,查看一下路由器,一般家用路由器是没有局域网隔离这个选项的,如果有,那么请去掉,一般是无线网连接这一项下。
OK,再不行?请自行百度。
黑框出来后连接输煤派成功会让你输入账号,在黑框中输入通用账号:pi,回车后再输入通用密码:raspberry
树莓派命令行界面
输入密码时你会发现,啥都没出现!是的,木有错!输入密码都是不显示的!不要以为自己没有按!输入错误会出现Access denied。重新输入一遍就OK了。

5.树莓派初始设置
如上图,那就是成功登录树莓派了。那么接下来要为树莓派做一些设置,方便我们使用。

sudo passwd root  #设置开启超级管理员账户,它会让你输入两次密码,成功就开启超级管理员账户了,有时候我们会遇到很多权限问题,登录它就可以解决了,此外也可以在pi下在你的命令前加上sudo 获得权限。
 sudo raspi-config  #树莓派系统设置,我们需要更改时区,键盘使用习惯,更改pi账户密码。(不同版本系统的设置界面会稍有不同)

在这里插入图片描述System Options中Password项是修改密码的
Boot/Auto Login是选择默认开机启动的方式,其中有四项选择。1.命令行系统,需要输入账户密码;2.命令行系统,直接以用户’pi’登录;3.登录GUI界面,需要输入账户密码;4.登录GUI界面,直接以用户’pi’登录。当然我们lite没有GUI,所以后面两项目前暂不可用,需要等我们安装xorg+lightdm后才行。
Localistion Options 中可以设置我们的默认时区和键盘布局,这两样还是要设置一下会比较好用。Timezone设置时区,选择Asia,Shanghai;Kayborad设置键盘布局选择Generic 104-key PC,English(UK),The default for the keyboard layout,No compose key。
OK,我所需要的基本上设置好了。
6.树莓派系统软件列表及软件更新
通过以上设置,我们的键盘也好用了,时间也整对了,那么我们就要更新系统软件列表和软件更新了。由于某些原因,我们直接更新软件列表、更新软件会比较慢,一般速度在10KB/S以内。所以我们需要给系统更换下载的源。方式如下:

sudo nano /etc/apt/sources.list

sudo 是为了获得更改权限
nano 是编辑器,系统自带,lite版不带vim
/etc/apt/sources.list源文件路径
运行命令后nano编辑器打开,会出现三行,第一行彩色的,第二、三行蓝色的。给彩色的那一行开头加个“#”。
然后在最后加入两行

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib

保存退出:Ctrl+X ,回答:Y,再按回车。
可换的国内源很多,可以自己找。
然后再执行

sudo apt-get update
sudo apt-get upgrade

第一个命令是更新列表,第二个是更新软件,有看到需要选择Yes/No的时候当然是选择Y了
更新软件即使换了源,也还是有些慢的,基本上可以来个泡面,看上两集动画片的时间吧。当然不排除某天非常玄学。(哪位大佬有更好,更快,更激情的办法还请告知。)
更新好后,我们最基础的框架就差不多了。接下来就是上LED屏幕了。

上脸

在这里插入图片描述
某宝3.5寸触摸屏,可以直接插到树莓派GPIO接口上。当然也有HDMI接口的显示器,但是会贵一些。为什么我要选这款呢,因为便宜,效果就别想了,肉眼可见的刷新频率。
插上树莓派的时候记得千万别插反咯…
对了,这里要提一句,这款GPIO接口的触摸屏,它的驱动一定要比GUI服务先装,否则GUI系统会出现循环登录,GUI服务会启动失败。
那么怎么配置才能让它显示呢,PC上连接树莓派后如下操作:
1.下载GIT,它的驱动就在GIT下载

sudo apt-get install git

2.安装好GIT后,下载驱动,并安装驱动

sudo git clone https://github.com/waveshare/LCD-show.git
cd LCD-show/
sudo ./LCD35-show lite

3.安装好驱动后会让你重新启动。这时屏幕会先白屏一会儿,大概几秒之后或十几秒之后,屏幕就会显示树莓派内容啦,此时如果你有一个USB键盘,那就可以直接在树莓派上操作命令了。因为树莓派已经有脸了,你能看清了。^^

那么接下来,安装GUI服务。

安装GUI服务

xorg是X11的一个实现,而X Window System是一个C/S结构的程序,Xorg只是提供了一个X Server,负责底层的操作当你运行一个程序的时候,这个程序会连接到X server上,由X server接收键盘鼠标输入和负责屏幕输出窗口的移动,窗口标题的样式等等。——引用自百度百科xorg词条。
lightdm(Light Display Manager),轻量级的linux桌面管理器。
俺目前只用到这两个就够了。
怎么安装呢?如下:

sudo apt-get install xorg
sudo apt-get install lightdm

这是个漫长的过程,大概两集动画片的时间吧。当然家里有小朋友要写作业的,也可以来一局混合双打。这样时间差不多就行了。

这一步完成后就可以设置启动直接进入GUI了,raspi-config里设置哦,方法在上面。
重启后你就可以看到下图了:
在这里插入图片描述
那么问题来了,这什么玩意儿?
还不是命令行么?
NO,看见中间那个光标了么?
同样是命令行,但是有了GUI服务框架后,你想来个窗口就来个窗口,python的QT,TK都可以用了。
那么问题又来了,这么做有意义吗?同样桌面版的系统也能做的事情,为啥要弄个这么东西呢?
这事儿当然有意义,因为我觉得好玩!

最后填个坑,慢慢前行的道路上总有无数的坑,我填一个先。

我不知道其他触摸屏会不会有这样的坑,但是我这里有。
完成以上的步骤后我发现屏幕触摸的X轴反了,那么我总要把它纠正回来呀,戴牙套是不可能的了,我就查资料纠正呗。
经过奋斗,成果如下:

 sudo apt-get install xinput 

它的用处就是列出可用的输入输出设备,安装完后通过以下命令查看自己的输入输出设备:

DISPLAY=:0 xinput --list

接下来会列出一个表,它有各项设备的ID,因为我也不知道我的屏幕是什么型号,但是我看得懂型号后面有个Touchscreen,Touch嘛,触摸嘛。知道屏幕ID后运行以下命令:

DISPLAY=:0 xinput --list-props Id

命令中Id换成你找到的设备id;这个命令运行后,信息会出现两种情况,因为驱动方式不一样:
1.“Evdev Axis Calibration (247)”字样的,可以百度自行修改参数即可纠正。
2.“libinput Calibration Matrix (246)”字样的,请如下操作:

    查看/usr/share/X11/xorg.conf.d/目录下是否有40-libinput.conf这个文件。没有则需要安装  
 sudo apt-get install xserver-xorg-input-libinput   
 下一步安装完成后ls一下,就可以看到在/usr/share/X11/xorg.conf.d/目录下存在该文件, 
 下一步复制该文件到/etc/X11/xorg.conf.d/目录下。 
 一开始xorg.conf.d这个目录在/etc/X11可能没有,需要自己创建。 
 sudo mkdir xorg.conf.d 
 下一步复制到xorg.conf.d 目录下即可。 
 sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/ 
 下一步进入/etc/X11/xorg.conf.d/目录下修改40-libinput.conf 文件 
 cd /etc/X11/xorg.conf.d/ 
 sudo nano 40-libinput.conf 
 找到touchscreen section 
 Section "InputClass" 
        Identifier "libinput touchscreen catchall" 
        MatchIsTouchscreen "on" 
        MatchDevicePath "/dev/input/event*" 
        Driver "libinput" 
 EndSection 
 添加一行  Option "CalibrationMatrix" "-1 0 1 0 1 0  0 0 1"   
 结果为 
 Section "InputClass" 
        Identifier "libinput touchscreen catchall" 
        Option "CalibrationMatrix" "-1 0 1 0 1 0  0 0 1" 
        MatchIsTouchscreen "on" 
        MatchDevicePath "/dev/input/event*" 
        Driver "libinput" 
 EndSection
 然后重启生效

作者:相维变
链接:https://www.jianshu.com/p/74df0c1450ce
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

“-1 0 1 0 1 0 0 0 1” 就是更改触摸屏坐标的参数-1 0 1为X轴,010位Y轴
最后,虽然都是同一个屏幕,但是如需屏幕翻转,触摸也同样需要翻转设置。
就写到这里了,混合双打去也。

以上文字内容如有不妥、错误还请联系作者,有错必改!

"ip2location-lite-db5.ipv6.bin.zip" 是一个IP地址定位数据库文件的压缩包。其中的 "ip2location-lite-db5.ipv6.bin" 文件是一个IPv6地址定位数据库的二进制文件。 IP地址定位是通过IP地址对应的地理位置信息来确定一个特定的IP地址的物理位置。这种定位技术在许多领域中有着广泛的应用,比如网络安全、广告定向投放、地理定位服务等。 "ip2location-lite-db5.ipv6.bin.zip" 文件中的 "ip2location-lite-db5.ipv6.bin" 文件是一个IP地址定位数据库的一部分,它采用了IPv6地址格式。IPv6是一种Internet协议版本,为了解决IPv4地址短缺问题而开发的新一代互联网协议。IPv6地址的格式更长,可以提供更多的IP地址空间。 该IP地址定位数据库文件在压缩包中以二进制形式存储,使用了特定的数据结构和算法来实现高效的IP地址定位功能。这个数据库中包含了大量的IP地址与地理位置的映射信息,用户可以根据需要使用这个数据库来查询和定位IPv6地址的物理位置。 通过使用这个IPv6地址定位数据库文件,开发人员可以实现IP地址定位功能,为用户提供更准确的地理位置信息。这对于需要根据用户IP地址定位其位置的应用和服务来说是至关重要的。 总之,"ip2location-lite-db5.ipv6.bin.zip" 是一个包含IPv6地址定位数据库文件的压缩包,用户可以通过解压和使用其中的 "ip2location-lite-db5.ipv6.bin" 文件来实现对IPv6地址的定位功能。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柚稚酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值