树莓派4B、树莓派5使用 Debian 12(bookworm) 的配置

最新的系统Debian 12(bookworm)目前的一些配置发生了一些改变,同时树莓派5的硬件也做了一部分调整。
这里均以系统 Debian 12 对不同的配置做简单记录。

树莓派4B使用旧系统的配置见【树莓派】专栏。

新系统中的配置文件 config.txtcmdline.txt 移动到了 /boot/firmware 中.

文章目录

  • 1、串口
    • 1.1、树莓派4B
    • 1.2、树莓派5
  • 2、网络配置

1、串口

1.1、树莓派4B

早期树莓派系列仅2个串口,其中 UART0 是 PL011 硬件串口,UART1 是 mini UART 软件串口。
树莓派4B相比之前的pi多了4个额外的硬件串口(UART2~UART5),默认是关闭的。

Raspberry Pi OS 有一个主串口(primary UART)和一个辅助串口(secondary UART),主串口存在于GPIO连接器上但辅串口不存在。

设备名称映射:

  • UART0: /dev/ttyAMA0
  • mini UART(UART1): /dev/ttyS0
  • UART2: /dev/ttyAMA1
  • UART3: /dev/ttyAMA2
  • UART4: /dev/ttyAMA3
  • UART5: /dev/ttyAMA4

主辅两个串口实际是两个软连接

  • primary UART: /dev/serial0 => /dev/ttyS0 (用于控制台)
  • secondary UART: /dev/serial1 => /dev/ttyAMA0 (用于蓝牙)

在新系统bookworm中 /dev/serial1(即辅助串口) 是默认不启用的,需要在 config.txt 中配置 dtparam=krnbt=off 以启用。在系统中使用 ls -l /dev/ttyAMA*ls -l /dev/serial* 都是搜索不到串口设备的。
在这里插入图片描述
默认情况下,主 UART 分配给 Linux 控制台。如果希望将主UART用于通信,则必须重新配置Raspberry Pi OS。

可以通过 raspi-config 配置,或者直接在config.txt里面 enable_uart=1 即可,重启看到增加了 mini UART 串口 /dev/ttyS0 ,且是作为主串口
在这里插入图片描述
没有出现辅助串口,在config.txt中添加 dtparam=krnbt=off 后重启再次查看串口信息
在这里插入图片描述
增加一个辅助串口设备 /dev/ttyAMA1,它是硬件串口,但是其被用于蓝牙,因此需要手动禁用蓝牙功能。首先在config.txt中配置 dtoverlay=disable-bt 以关闭蓝牙功能、且 将硬件串口 PL011 (UART0) 切换为主串口,同时还要 sudo systemctl disable hciuart 关闭蓝牙服务,重启再次查看
在这里插入图片描述
此时仅有一个硬件串口 /dev/ttyAMA0,且分配到了主串口上,可以用于通信。但是没有了硬件串口 /dev/ttyAMA1

按照之前博客的配置,如果要使用 /dev/ttyAMA1, 仅需配置 dtoverlay=uart2 ,但是这里配置之后重启预期不一致,多了硬件串口 /dev/ttyAMA2,而没有 /dev/ttyAMA1
在这里插入图片描述
但是实际测试,发现 /dev/ttyAMA2 仍然分配在了GPIOs 0-3 (RTX和DTX在BCM编码 0 ~ 1 ), 也就是物理针脚 27~28。和树莓派4B使用旧系统的电路连接保持不变。

1.2、树莓派5

树莓派5一共5个硬件串口(UART0~UART4),没有mini UART。另外,主串口 UART10 用于控制台,/dev/serial0/dev/ttyAMA10的软链接。

2、网络配置

如果带界面,直接手动修改就行了。

无线网络使用NetworkManager管理,通常命令行使用 nmcli 操作(这里不做使用说明)。

配置过的(raspi-config 和 Raspiberry Pi Image 配置)的都在 /etc/NetworkManager/system-connections/下,会以 wifiname.nmconnection 文件出现,例如

pi@raspberrypi:~ $ ls /etc/NetworkManager/system-connections/
magicsky-702-office.nmconnection

pi@raspberrypi:~ $ sudo cat /etc/NetworkManager/system-connections/magicsky-702-office.nmconnection
[connection]
id=magicsky-702-office
uuid=0f0fc0ce-d2f3-4087-851c-6c043060ad82
type=wifi
interface-name=wlan0

[wifi]
mode=infrastructure
ssid=magicsky-702-office

[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=magicsky123

[ipv4]
method=auto

[ipv6]
addr-gen-mode=default
method=auto

[proxy]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/586738.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第11章 数据库技术(第一部分)

一、数据库技术术语 (一)术语 1、数据 数据描述事物的符号描述一个对象所用的标识,可以文字、图形、图像、语言等等 2、信息 现实世界对事物状态变化的反馈。可感知、可存储、可加工、可再生。数据是信息的表现形式和载体,信…

github托管静态页面

免费在线上空间,不用简直就是浪费,关键还不限流量赶紧去折腾一下 这是搭建的GitHub托管网页,由于是GitHub的服务器,国内访问会非常!慢 下载 Watt Toolkit 这里我建议下载一个软件 Watt Toolkit 它是一个开源跨…

QT——简易计算机(从0开始)

目录 一、题目描述: 二、创建工程: 三、UI界面设计: 四、程序编写: 五、总程序: 六、windows可执行文件 七、实现效果 一、题目描述: 创建一个简单的图形用户界面(GUI),包括一个文本框用于显示计算结…

Linux(Centos 7)环境下安装wget,并且更换阿里云镜像

Linux(Centos 7) Minimal 安装后,由于没有预装wget,在使用wget命令去下载安装相关应用时,提示:“wget: command not found” 先在Linux服务器窗口中,输入如下命令,检查Linux服务器有没有安装过wget。 rpm -…

【网站项目】戒烟网站

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

如何在Linux上安装Python?2024Python安装教程

在Linux上安装Python并不难,对于Ubuntu或Debian系统,使用命令sudo apt install python3;对于CentOS、Red Hat或Fedora系统,使用命令sudo yum install python3。 如何在Linux上安装Python? 确切的安装步骤有所不同&am…

【Linux 系统】多线程(线程控制、线程互斥与同步、互斥量与条件变量)-- 详解

一、线程概念 线程是进程的一个执行分支,是在进程内部运行的一个执行流。下面将从是什么、为什么、怎么办三个角度来解释线程。 1、什么是线程 上面是一张用户级页表,我们都知道可执行程序在磁盘中无非就是代码或数据,更准确点表述&#xff0…

Python基础学习之记录中间文件

倘若想记录代码运行过程中的结果文件,那么以下函数仅供参考 代码示例: import os import datetime import sys import pandas as pd# 定义总的文件夹路径 base_folder E:\\D\\log\\product_data_compare_log# 定义一个函数来创建带时间戳的文件夹 def…

Python量化炒股的财务因子选股

Python量化炒股的财务因子选股-财务因子选股 选股是股市投资的第一步,是最基础的一步,也是最重要的一步。 初识财务因子选股 量化选股是利用数量化的方法选择股票组合,期望该股票组合能够获得超越基准收益率的投资行为。总的来说&#xff…

el-tabs作为子组件使用页面空白

文章目录 前言一、问题展示二、源码分析三、解决方案 前言 如果el-tabs是子组件,父组件传值value / v-model为空字符,这个时候在watch中监听value / v-model就会发现监听的数据会被调用为‘0’。一定是作为子组件引用,且在watch进行监听&…

【webrtc】MessageHandler 7: 基于线程的消息处理:切换main线程向observer发出通知

以当前线程作为main线程 RemoteAudioSource 作为一个handler 仅实现一个退出清理的功能 首先on message的处理会切换到main 线程 :main_thread_其次,这里在main 线程对sink_ 做清理再次,在main 线程做出状态改变,并能通知给所有的observer 做出on changed 行为。对接mediac…

OpenNJet : 下一代云原生应用引擎

本心、输入输出、结果 文章目录 OpenNJet : 下一代云原生应用引擎前言OpenNJet 技术架构安装 OpenNJet为什么有了 OpenNJetOpenNJet 和 NGINX 是什么关系什么是云原生应用引擎?OpenNJet 的有哪些优势OpenNJet 的有哪些优势 OpenNJet 与国产化OpenNJet 使…

【团体程序设计天梯赛】往年关键真题 L2-036 网红点打卡攻略 模拟 L2-037 包装机 栈和队列 详细分析完整AC代码

【团体程序设计天梯赛 往年关键真题 详细分析&完整AC代码】搞懂了赛场上拿下就稳 【团体程序设计天梯赛 往年关键真题 25分题合集 详细分析&完整AC代码】(L2-001 - L2-024)搞懂了赛场上拿下就稳了 【团体程序设计天梯赛 往年关键真题 25分题合…

初学React基础

最近准备跟着黑马React学一下React,扩充一下技术面,打算还是以一边学习一边记笔记为主,进行学习! 1. React介绍 1.1. React是什么? React是由FaceBook现在称(Meta)开发的开源 JavaScript 库&a…

SpringCloudStream 3.x rabbit 使用

1. 前言 今天带来的是SpringCloudStream 3.x 的新玩法,通过四大函数式接口的方式进行数据的发送和监听。本文将通过 rabbitMQ 的方式进行演示 3.x版本后是 可以看到 StreamListener 和 EnableBinding 都打上了Deprecated 注解。后续的版本更新中会逐渐替换成函数式…

如何批量修改文件的时间属性?修改创建时间,修改时间和访问时间

一,前言 在Excel中,修改文件的访问时间、创建时间和修改时间通常不是一个直接的功能。但是,我们可以通过一些间接的方法和工具来实现这一目标。请注意,直接修改这些时间戳可能会影响文件的完整性和安全性,因此在进行任…

Python 与 TensorFlow2 生成式 AI(四)

原文:zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者:飞龙 协议:CC BY-NC-SA 4.0 第九章:文本生成方法的崛起 在前几章中,我们讨论了不同的方法和技术来开发和训练生成模型。特别是在第六章“使用 …

WIN10 anaconda 安装 CondaError: Run ‘conda init‘ before ‘conda activate‘

1 下载 https://www.anaconda.com/download/success 2 安装 3 修改环境变量 安装后修改环境变量 4 winrun 进入命令窗口 输入cmd 输入 conda info 5 创建 虚拟环境 conda create -n yolov8 python3.8 -y 6 CondaError: Run ‘conda init’ before ‘conda activate’ c…

[Java、Android面试]_24_Compose为什么绘制要比XML快?(高频问答)

欢迎查看合集: Java、Android面试高频系列文章合集 本人今年参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料。 整理成了面试系列,由于时间有限,每天整理一点&am…

GPT3 终极指南(二)

原文:zh.annas-archive.org/md5/6de8906c86a2711a5a84c839bec7e073 译者:飞龙 协议:CC BY-NC-SA 4.0 第五章:GPT-3 作为企业创新的下一步 当一个新的创新或技术转变发生时,大公司通常是最后一个采纳的。它们的等级结构…