自学内容网 自学内容网

Raspberry Pi3B+之安装bookworm+Rpanion系统

1. 源由

由于之前SD卡上的Rpanion系统坏了,导致RTP服务异常,无法正常使用

为此,干脆重新刷下系统,看看最新的bookworm系统情况如何。

2. 系统安装

Raspberry Pi OS Lite

    Release date: July 4th 2024
    System: 32-bit
    Kernel version: 6.6
    Debian version: 12 (bookworm)
    Size: 500MB

鉴于以下情况,部分细节不做深究:

  1. 没有显示屏幕,所以直接下Lite,根据需要作最精简的安装
  2. Raspberry Pi3B+有网口,所以对于USB直连不做过分要求

3. 系统安装

依照先后顺序,将安装步骤一一与大家过一下。

3.1 烧录系统

略,使用tf转USB的转接器,将OS镜像刷到tf卡上。

3.2 设备接线

  • 有线网口连接路由器,DHCP自动获取IP地址
  • 插入一个USB网卡,远比板载PCB天线性能好
  • 插入有系统的tf卡,上电启动

注:若MAC地址已经在路由器上固定配置了IP地址,那么启动后直接ssh连接该IP。若没有绑定过IP,那么可以采用raspberrypi.local来连接树莓派。

3.3 配置无线

通常情况下,有线不是很方便,那么配置一个无线,板子就可以随遇而安了。

$ sudo nano /etc/wpa_supplicant/wpa_supplicant-wlan1.conf
$ sudo cat /etc/wpa_supplicant/wpa_supplicant-wlan1.conf
network={
    ssid="SSID2"
    psk="password2"
}
$ sudo nano /etc/rc.local
$ tail -n 3 /etc/rc.local
sudo wpa_supplicant -B -i wlan1 -c /etc/wpa_supplicant/wpa_supplicant-wlan1.conf
sudo dhclient wlan1
exit 0

先手工配置下,确认IP地址(192.168.1.15):

$ sudo wpa_supplicant -B -i wlan1 -c /etc/wpa_supplicant/wpa_supplicant-wlan1.conf
$ sudo dhclient wlan1

3.4 更新系统

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get -o Acquire::http::proxy="http://192.168.1.10:808" update
$ sudo apt-get -o Acquire::http::proxy="http://192.168.1.10:808" upgrade
$ sudo apt-get -o Acquire::http::proxy="http://192.168.1.10:808" upgrade --fix-missing

上述命令来回切换,直到所有的安装包被正确下载,触发安装。

3.5 安装git

$ sudo apt-get install git

3.6 克隆Rpanion

$ git clone https://github.com/stephendade/Rpanion-server.git

3.7 安装Rpanion

$ cd Rpanion-server/
$ cd ./deploy && ./RasPi2-3-4-5-deploy.sh

4. 系统管理

管理界面:http://192.168.1.15:3000/

相关资料:

5. 附录

问题1:error: externally-managed-environment

+ sudo python3 -m pip install --upgrade pip
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    For more information visit http://rptl.io/venv

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
diff --git a/deploy/install_common_libraries.sh b/deploy/install_common_libraries.sh
index 408d649..f38bf8e 100755
--- a/deploy/install_common_libraries.sh
+++ b/deploy/install_common_libraries.sh
@@ -23,7 +23,7 @@ source ~/.profile
 # Debian Bookdown does not like pip install wthout a virtualenv, so do apt installs instead
 # Also need gstreamer1.0-libcamera, as the libcamerasrc gst element has moved
 source /etc/os-release
-if [ "$ID" == "debian" ] && [ "$VERSION_CODENAME" == "bookworm" ]; then
+if [ "$ID" == "debian" ] || [ "$VERSION_CODENAME" == "bookworm" ]; then
     sudo apt install -y meson python3-netifaces gstreamer1.0-libcamera
 else
     sudo python3 -m pip install --upgrade pip

问题2:bookworm系统上FPS性能降低

问题3:bookworm系统上电传UDP Client异常

问题4:ninja: error: ‘/home/daniel/Work/Rpanion-server/modules/mavlink-router/tools/meson-vcs-tag.sh’

Get:1 https://deb.nodesource.com/node_20.x nodistro/main armhf nodejs armhf 20.17.0-1nodesource1 [28.1 MB]
Fetched 28.1 MB in 20s (1,406 kB/s)
Selecting previously unselected package nodejs.
(Reading database ... 143825 files and directories currently installed.)
Preparing to unpack .../nodejs_20.17.0-1nodesource1_armhf.deb ...
Unpacking nodejs (20.17.0-1nodesource1) ...
Setting up nodejs (20.17.0-1nodesource1) ...
Processing triggers for man-db (2.11.2-2) ...
+ sudo sed -i.bak -e '/^\[main\]/aauth-polkit=false' /etc/NetworkManager/NetworkManager.conf
+ ./build_mavlinkrouter.sh
+ cd ../modules/mavlink-router
+ meson setup build . --buildtype=release
Directory already configured.

Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
If ninja fails, run "ninja reconfigure" or "meson setup --reconfigure"
to force Meson to regenerate.

If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
To change option values, run "meson configure" instead.
++ free -m
++ awk '/^Mem:/{print $2}'
+ '[' 920 -le 500 ']'
+ ninja -C build
ninja: Entering directory `build'
ninja: error: '/home/daniel/Work/Rpanion-server/modules/mavlink-router/tools/meson-vcs-tag.sh', needed by 'git_version.h', missing and no known rule to make it

这里实际问题是Rpanion-server应该路径可能由于在不正确的路径下安装过一次,因此配置就锁定在那个位置了。

sudo perl -pe 's/pi/$ENV{SUDO_USER}/' -i /etc/systemd/system/rpanion.service

/etc/systemd/system/rpanion.service 文件中,将所有的 pi 字符串替换为执行 sudo 命令的用户(即 $SUDO_USER)的用户名。例如,如果你以 daniel 用户执行这条命令,文件中的 pi 将被替换为 daniel

解决方案: rm -rf /home/daniel/Work/Rpanion-server/modules/mavlink-router/build


原文地址:https://blog.csdn.net/lida2003/article/details/142622229

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!