当前位置: 首页 > news >正文

Raspberry Pi3B+之安装bookworm+Rpanion系统

Raspberry Pi3B+之安装bookworm+Rpanion系统

  • 1. 源由
  • 2. 系统安装
  • 3. 系统安装
    • 3.1 烧录系统
    • 3.2 设备接线
    • 3.3 配置无线
    • 3.4 更新系统
    • 3.5 安装git
    • 3.6 克隆Rpanion
    • 3.7 安装Rpanion
  • 4. 系统管理
  • 5. 附录
    • 问题1:error: externally-managed-environment
    • 问题2:bookworm系统上FPS性能降低
    • 问题3:bookworm系统上电传UDP Client异常
    • 问题4:ninja: error: '/home/daniel/Work/Rpanion-server/modules/mavlink-router/tools/meson-vcs-tag.sh'

1. 源由

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

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

2. 系统安装

  • Raspbian镜像无头烧录
  • 最新树莓派系统下载链接
Raspberry Pi OS LiteRelease date: July 4th 2024System: 32-bitKernel version: 6.6Debian 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 更新系统

  • apt-get通过代理更新系统
$ 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/

  • Rpanion-Server github
  • Rpanion-Server manual

相关资料:

  • Ardupilot Rpanion iperf网络性能测试
  • Ardupilot Rpanion 4GLTE 网络性能测试 - 国内中转
  • Ardupilot 4.5.1 Rpanion 4GLTE(Domestic Routing) 720P First Fly
  • ArduCopter 4.5.1 Rpanion 4G LTE Outside

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 installpython3-xyz, where xyz is the package you are trying toinstall.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. Makesure you have python3-full installed.For more information visit http://rptl.io/venvnote: 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.
  • 解决方案:需要对脚本做一些简单的处理。
  • error: externally-managed-environment #252
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 movedsource /etc/os-release
-if [ "$ID" == "debian" ] && [ "$VERSION_CODENAME" == "bookworm" ]; then
+if [ "$ID" == "debian" ] || [ "$VERSION_CODENAME" == "bookworm" ]; thensudo apt install -y meson python3-netifaces gstreamer1.0-libcameraelsesudo python3 -m pip install --upgrade pip

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

  • 640x480 on RPI3B+ FPS can’t be over 6.5, performance degraded

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

  • Can’t add UDP telemetry 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

http://www.lryc.cn/news/451953.html

相关文章:

  • 无人机专业除理论外,飞手执照、组装、调试实操技术详解
  • 【网路通信基础与实践番外二】TCP协议的流量控制和拥塞控制以及二者区别和例题
  • SpringBoot3+Vue3开发后台管理系统脚手架
  • OpenFeign微服务部署
  • 【C语言】数组(下)
  • cGANs with Projection Discriminator
  • mysql学习教程,从入门到精通,SQL HAVING 子句(32)
  • JavaScript while循环语句
  • 49天精通Java(Day 2):Java的基本语法
  • uni-app之旅-day01-home页
  • Vue3轻松实现导出Excel文件功能
  • 在Kali Linux中使用VNC和iptables配置xrdp以实现远程连接
  • 小徐影院:Spring Boot技术下的影院革新
  • 命名空间
  • 使用 Elastic 将 AI 摘要添加到你的网站
  • dOOv:Java 数据验证与映射库(简化业务逻辑)
  • Arthas sc(查看JVM已加载的类信息 )
  • OCR 行驶证识别 离线识别
  • PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程
  • LeetCode题练习与总结:丑数--263
  • 初识C语言(五)
  • Linux:深入理解冯诺依曼结构与操作系统
  • 面试中顺序表常考的十大题目解析
  • 测试管理新增视图与高级搜索功能,测试计划支持一键生成缺陷详情,MeterSphere开源持续测试工具v3.3版本发布
  • TypeScript 算法手册 【归并排序】
  • 生信名词|MOA|基因敲低与基因敲除|DMSO|MODZ|生信基础
  • 基础岛第3关:浦语提示词工程实践
  • vscode中配置python虚拟环境
  • chatGPT对我学术写作的三种帮助
  • 【PostgreSQL 】入门篇——支持的各种数据类型介绍,包括整数、浮点数、字符串、日期、JSON、数组等