2024.10.28 基于树莓派的物联网嵌入式开发(一)——树莓派5系统烧录、环境配置
树莓派烧录系统、无显示屏安装系统
1. 安装系统
下载安装烧录软件,因为采用树莓派os64位,直接在软件下载镜像文件和烧录到tf卡,注意wifi地区选CN,用户名首位要为小写字母
在卡内新建一个名为ssh的空文件
windows如何改后缀名:文件显示改成显示后缀名
用cmd ssh连接
如果你第一次在windows上使用ssh:
系统-可选功能-添加openssh
(一开始用流量热点无法安装,换校园网就好了,不知是巧合还是网络安全限制)
报错的话重启ssh:以管理员身份运行cmd,输入
net stop sshd
net start sshd
通过IP连接服务器:
ssh 用户名@ip地址
-yes
输入密码的时候不会显示输完回车就行
报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!:
远程主机标识已更改!由于远程的主机的公钥发生了变化导致的
使用命令清除所连接的IP
ssh-keygen -R ip地址
再重新连接
ssh pi@<ip>
sudo apt-get install xrdp
2. 换源
太慢了我先换个源
教程:
树莓派 5 更换(国内)镜像源 Bookworm_树莓派 国内源-CSDN博客
raspbian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
使用下列命令查看自己树莓派相关信息:
(很好奇自己当时在这里插入这一段无关内容的精神状态)
uname -m # 显示当前系统的架构,我是aarch64
lsb_release -a # 显示当前系统的发行版信息 我是Debian 12
cat /etc/os-release # 显示当前系统的操作系统版本信息
打开文件
sudo nano /etc/apt/sources.list
nano是编辑器,个人觉得比vi顺手,ctrl+o写入,enter确认写入文件,ctrl+x退出
然后自己看其他教程,作者就是这样不负责
设置Raspberrypi 软件仓库镜像:
sudo nano /etc/apt/sources.list.d/raspi.list
要改什么就看其他教程吧
应用更新
sudo apt-get update
更新软件源列表
sudo apt update
sudo apt full-upgrade
升级已安装的软件包
sudo apt upgrade
清理不再需要的软件包(可选)
sudo apt autoremove
3. xrdp连接
悲报,蓝屏了,搜集解决方案:(最后选择了放弃xrdp)
- 重启xrdp服务:
sudo /etc/init.d/xrdp restart
- 卸载xrdp重装
sudo apt remove xrdp
sudo apt install xrdp
- 修改配置文件
su -
vi /etc/X11/xrdp/xorg.conf
在xorg.conf配置文件中找到下面的参数,然后注释掉:Option “DRMDevice"“/dev/dri/renderD128”
在下一行添加Option “DRMDevice”
保存后重新启动。
- 系统设置
sudo gpasswd -d pi video
sudo gpasswd -d pi render
sudo raspi-config
依次选择进入System options -> Boot / Auto Login -> Desktop GUI, requiring user to login
确定重启
- 更新安装xrdp相关组件
sudo apt-get install xserver-xorg-core
sudo apt-get -y install xserver-xorg-input-all
-
可能原因
【填坑】树莓派4B上运行Bullseye版本系统,不能登录xrdp的问题~~ - zhw618 - 博客园
新建用户:adduser -
可能方案
登录到您的Raspberry Pi并运行以下命令来安装Pixel桌面:sudo apt update
完成后重启:sudo reboot
默认情况下,Xrdp使用/etc/ssl/private/ssl-cert-snakeoil.key文件,该文件仅可由属于“ ssl-cert”组的用户读取。您需要将运行Xrdp 服务器的用户添加到ssl-cert组。
执行以下命令,以将用户添加到群组:sudo adduser xrdp ssl-cert
在 Debian 12 上使用 Xrdp 设置远程桌面 (RDP) 的指南
4. 其他图形化界面连接方式
当然用命令行更方便,但项目有调用摄像头的需求
VNC连接
连接要求:已知树莓派ip地址,连接与被连接的设备接入同一网络
安装桌面软件注册登录输入ip地址连接
系统设置里要允许VNC连接
NX
好像和树莓派5的桌面不适配
raspberry pi connect
连接要求:选用wayland桌面,x11不行
sudo apt-get rpi-connect
rpi-connect on
登陆树莓派账号,网址
https://connect.raspberrypi.com/
5. 环境配置
安装anaconda
清华镜像链接下载aarch64新版bash 文件路径
安装opencv,对应python版本
选择了opencv4.5.4.60,python3.9,numpy1.24.0
环境名opencv4.5
因为可能需要特征检测和图像处理算法等功能,我额外安装了opencv-contrib-python
numpy报错:
已解决ERROR: No matching distribution found for numpy==1.26.0-CSDN博客
换源
创建/删除环境
python 的几种创建以及删除虚拟环境的方法_python删除虚拟环境-CSDN博客
本来想用3.9的,发现安装python指定版本还麻烦,先不管了
python3.9 -m venv --system-site-packages cv
所以我最后用回3.11,opencv下到全局里了
sudo apt install -y python3-opencv
sudo apt install -y opencv-data
安装TensorFlow Lite
安装gpio库
安装摄像头
不需要修改配置文件
第一次报错not camera available
第二次说cpu不够,但新系统改不了GPM(显存)
莫名其妙摄像头可用了,但cv环境还没安装picamera2包
这个地方有点烦人,一切都怪树莓派5的适配有点割裂
梳理一下目前情况,python(opencv)调用摄像头不能用libcamera库,要用picamera库,在bookworm(或者说是树莓派5?)系统中是picamera2,注意在终端无论是lib还是rpi都要用sudo打开不然会fail
其他问题
经历了oserror permissionerror indexerror runtimeerrorr
我觉得最大的问题是权限
采取以下措施但结果是打不开浏览器
只把所有用户提到管理员级导致不能打开thonny
修改passwd文件
nano /etc/passwd
找到pi:x:1000:1000::/home/pi:/bin/bash,把1000都改为0
这里pi和上面同理,可以更改为自己的用户名
修改远程登录许可
正常情况下,前六步即完成了权限设置,但是无法更改完权限设置以后无法进行远程登录,所以需要进行修改远程登录许可,步骤如下。
nano /etc/ssh/sshd_config
输入上述指令后,找到#PeimitRootLogin prohibit-password或者PermitRootLogin without-p,将#去掉,同时更改为PermitRootLogin yes
bookworm改配置:nano /boot/firmware/config.txt
总结
没有性能需求别买树莓派5(实则要性能也有更好的替代),这玩意用的人少开源资料少,还有一堆由于升级带来的适配问题,至少是截止至2024年
更多推荐
所有评论(0)