【树莓派系列】树莓派首次开机配置

news2024/11/19 1:50:09

树莓派首次开机配置

文章目录

  • 树莓派首次开机配置
    • 1.镜像烧录
    • 2.开启串口调试
      • 1.无屏幕
      • 2.有屏幕
      • 3.串口登录系统
    • 3.配置网络
      • VNC与SSH的区别
    • 4.更新vim
    • 5.固定IP地址
    • 6.开启SSH,网络登录开发板
    • 7.xrdp图形化登录开发板
    • XRDP与VNC区别
    • 8.更新国内下载镜像源
    • 9.vscode连接开发板
    • 10.配置中文环境
    • 附录:
    • 树莓派 ACT LED 指示灯闪烁模式代表的状态
    • 40pin引脚图

树莓派的四种登录方式:

  1. HDML线登录
  2. 串口登录
  3. 网络SSH登录
  4. xrdp图形方式登录树莓派

1.镜像烧录

  1. win32 disk软件:用于下载镜像
  2. 树莓派镜像:下载地址
  3. SD card:清空sd卡

具体操作步骤,请看往期文章:https://blog.csdn.net/v13111329954/article/details/140795351?spm=1001.2014.3001.5502

树莓派学习社区:https://pico.org.cn/

镜像下载地址及社区:https://shumeipai.nxez.com/download#os

初时默认账号密码:

  • 账号:pi
  • 密码:raspberry

2.开启串口调试

1.无屏幕

树莓派可以通过串口调试,但是最新的系统默认是没有开启的,首次登陆在没有外接屏幕和没有网络的时候非常麻烦。

这个时候就可以通过修改TF卡更目录下的cofnig.txt文件,在config.txt文件末尾添加这两个语句开启串口调试。

dtoverlay=pi3-miniuart-bt
enable_uart=1

注意: dtoverlay=pi3-miniuart-bt 这个语句是将树莓派的硬件串口作为串口调试,关闭蓝牙对硬件串口的使用,会导致设备不能正常工作。如果要使用蓝牙需去掉这个语句,用mini-uart作为串口调试。

如果上面的情况还不行的话,再修改根目录的"cmdline.txt",将里面的内容全部替换成以下内容,以防万一,请先备份好这个文件的原内容。注意这里的波特率为115200

dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

2.有屏幕

在命令行运行sudo raspi-config 命令开启。选择Interfacing Options选择可以配置树莓派外设。

image-20240818220707104

image-20240818220817060

3.串口登录系统

建议使用MobaXterm,免费好用,类似的工具还有Putty-相对太简陋,SecurityCRT老牌工具-需要付费或者破解

具体操作请查看往期教程《香橙派(二)刷机与系统启动》

3.配置网络

在没有显示器的情况下,通过一根网线配置树莓派WIFI。然后开机自动连接WIFI,以后就可以直接通过主机通过VNC Viewer(Putty也可以) 控制树莓派。当然,如果有网线也可以控制了,但是毕竟没有直接通过无线网络获取IP来控制树莓派方便。

VNC与SSH的区别

VNC(Virtual Network Computing,虚拟网络计算)和SSH(Secure Shell,安全外壳协议)是两种不同的远程访问技术,它们在控制树莓派(Raspberry Pi)或其他计算机系统时各有特点和用途:

  1. VNC
  • VNC 提供了一个图形界面的远程访问方式,允许用户远程查看和操作计算机的桌面环境。
  • 用户可以通过 VNC 客户端软件看到远程树莓派的桌面,并进行交互,就像直接在物理机前操作一样。
  • VNC 适用于需要图形界面操作的场景,例如运行图形应用程序或配置图形用户界面(GUI)。
  1. SSH
  • SSH 是一种加密的网络协议,用于安全地访问远程计算机的命令行界面。
  • 通过 SSH,用户可以在本地计算机上打开一个终端窗口,输入命令来控制远程树莓派。
  • SSH 更适合于命令行操作,执行脚本,或者进行不需要图形界面的任务。

区别

  • 界面:VNC 提供图形用户界面,而 SSH 提供命令行界面。
  • 用途:VNC 适合需要图形界面交互的场景,SSH 更适合于后台任务和命令行操作。
  • 安全性:SSH 提供加密连接,适用于传输敏感数据和命令。VNC 也可以加密,但默认情况下可能不加密,因此在安全性方面 SSH 更优。
  • 带宽和性能:VNC 可能需要更多的带宽来传输图形界面的数据,而 SSH 通常对带宽的需求较低。
  • 配置:SSH 通常在树莓派上默认启用,而 VNC 可能需要额外的配置和软件安装。
  • 访问设备:SSH 可以通过任何支持 SSH 客户端的设备访问,而 VNC 需要一个兼容的 VNC 客户端。

在实际使用中,选择 VNC 或 SSH 取决于你的具体需求。如果你需要远程配置树莓派或执行脚本,SSH 可能是更好的选择。如果你需要远程使用树莓派上的图形应用程序或桌面环境,VNC 可能更合适。在某些情况下,用户可能会同时使用 VNC 和 SSH 来满足不同的远程访问需求。

输入命令:sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

因为目前是没有联网的,你可能没有vi编辑器,所以先用nano凑活一下

nano是文档编辑器,已进入便可以编写。

Ctrl+o保存,会有提示是否写入。我们按回车。Ctrl+x退出

在文件中添加无线网配置信息:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
 
network={
        ssid="你的无线网名字"
        psk="密码"
        key_mgmt=WPA-PSK
}
 
network={
        ssid="你的其他无线网名字"
        psk="密码"
        key_mgmt=WPA-PSK
}

4.更新vim

树莓派自带的vim贼难用,恶心的一批,必须升级更新

安装新版vim

sudo apt-get install vim 

5.固定IP地址

  1. 在开始设置静态IP地址之前,需要确定树莓派所使用的网络接口。大多数情况下,这是通过以太网连接进行的,通常称为eth0。如果使用的是无线网络接口,可能会是wlan0。

    要确定网络接口,可以在树莓派上执行以下命令,该命令将显示网络接口的信息,包括名称和IP地址。

ifconifg

image-20240819165102788

2、编辑网络配置文件:

接下来,需要编辑树莓派上的网络配置文件,以指定所需的静态IP地址。可以使用任何文本编辑器打开该文件,例如nano或vim

在终端中运行以下命令来编辑网络配置文件:

 #编辑动态主机配置协议
sudo nano /etc/dhcpcd.conf

进来是这样的:

image-20240819165621033

去掉这些行前的注释符号(#),并根据你需要的网络配置进行相应的修改。例如,如果希望树莓派的静态IP地址为192.168.1.10,需要将上述示例中的相应行更改为:

#在文件后面添加(Ctrl+o保存,按一下回车,Ctrl+X退出编辑)

SSID 你想要固定的WiFi名称
# interface wlan0 (如果需要配置之eth0,即把wlan0改成eth0)
static ip_address=192.168.0.136/24
static routers=你的默认网关
static domain_name_servers=你的默认网关 8.8.8.8

1.interface wlan0:上述这句话看需求加,如果加入这句话会将所有WiFi的连接都配置成固定IP,但是我们知道每个WiFi的网关会变化,会导致这个不能使用,就会出现,此WiFi可以用,换成另外一个WiFi时就会无法连接网络。这时我们加入**SSID 你想要固定的WiFi名称**,我们只固定指定的WiFi的IP地址,这样再连接其他WiFi时依旧是动态分配IP地址。

2.网关:首先我们要明白网关的含义,网关是数据流进去和流出来的设备,对应的设备一般是交换机或者路由器。你的默认网关是通过ipconfig获得的,不是随便填写的。

你的笔记本(一般都是windows系统)连接wifi时通过命令:ipconfig可以获得你的默认网关地址例如:

image-20240828174559063

3.要注意ip_address后边的/24必须有,这个是说你是用的掩码是255.255.255.0,其次ip_address地址的固定,要通过ifconfig命令看一下,路由器给我们分配的IP地址是多少,然后固定成这个,不要自己随意编造,可能会与其他的冲突导致用不了

4.保存并重启树莓派:

在进行了上述配置更改之后,需要保存文件并重新启动树莓派,以使更改生效。

通过按下Ctrl+X,然后输入"Y"来保存文件并退出编辑器。

重启树莓派命令:

sudo reboot

6.开启SSH,网络登录开发板

方法一(适用于无屏幕):在TF卡根目录中新建一个空白文件,文件名改为SSH,不带后缀。插到树莓派上重启即可开启SSH。

方法二(有屏幕):sudo raspi-config,找到SSH选项,开启SSH

方法三:在树莓派菜单栏找到选项打开SSH功能

image-20240824163016043

image-20240824163028620

具体操作请查看往期教程《香橙派(二)刷机与系统启动》

2.连接SSH

输入IP地址,与树莓派的用户名:pi

image-20240824163735427

7.xrdp图形化登录开发板

可以不用显示器就把树莓派的图形画面显示到远程客户端。

XRDP与VNC区别

XRDP 和 VNC 都是流行的远程桌面协议,它们允许用户远程访问和控制计算机系统。以下是它们之间的一些主要区别:

  1. 协议基础
  • XRDP 是基于 Microsoft 远程桌面协议(RDP)的开源实现,它允许用户通过图形界面控制远程系统,特别适用于 Windows 和 Linux 系统之间的远程连接 。
  • VNC(Virtual Network Computing)是一种基于 RFB(Remote Framebuffer)协议的远程桌面系统,适用于多种操作系统,主要用于 Linux 服务器的管理 。
  1. 用户体验
  • XRDP 提供了较好的色彩、音频、USB 及本地磁盘映射支持,非常适合虚拟桌面环境 。
  • VNC 在色彩和音频方面的表现可能稍逊一筹,但对于无声音和 USB 传输需求的场景已经足够 。
  1. 网络流量
  • 根据使用情况,XRDP 和 VNC 的网络流量都相对较小,通常在 100-200k 左右,适合大多数网络环境 。
  1. 安全性
  • XRDP 和 VNC 默认使用 TLS 连接来保护数据传输,但也可以结合 SSH 隧道或 VPN 来提高安全性 。
  1. 适用场景
  • XRDP 更适合需要丰富图形界面和多媒体体验的虚拟桌面场景 。
  • VNC 更多地用于服务器管理,且可以通过配置实现多用户同时访问同一台服务器,适合协作和技术支持场景 。
  1. 多用户支持
  • XRDP 支持多个桌面,允许多人同时连接 Linux 。
  • VNC 通常只支持单个用户会话,但有些版本或配置可以实现多用户访问 。
  1. 跨平台性
  • VNC 以其跨平台支持而闻名,可以在包括 Windows、macOS、Linux 等在内的多种操作系统上运行 。
  1. 性能
  • XRDP 通过压缩数据来减少对网络吞吐量的影响,节省带宽 。
  • VNC 可能在性能上稍逊,特别是在高分辨率和多显示器支持方面,但提供了灵活的解决方案 。

在选择使用 XRDP 或 VNC 时,用户应根据自己的具体需求和使用场景来决定。如果需要更丰富的图形界面体验和多媒体支持,XRDP 可能是更好的选择。如果主要关注服务器管理且对声音和 USB 传输没有特殊要求,VNC 可能更加合适 。

输入命令安装xrdp服务:sudo apt-get install xrdp

windows用“远程桌面连接”自带软件登录

image-20240821083533491

8.更新国内下载镜像源

1.输入命令

sudo nano /etc/apt/sources.list
  sudo vi /etc/apt/sources.list  

2.直接删除原有的内容:

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 保存并退出。

2.编辑raspi.list

sudo nano /etc/apt/sources.list.d/raspi.list
    sudo vi /etc/apt/sources.list.d/raspi.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

3.更新软件源列表

sudo apt-get update

9.vscode连接开发板

具体操作请查看往期教程《香橙派(十五)vscode远程连接香橙派》

commit id

5437499feb04f7a586f677b155b039bc2b3669eb
https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable
https://update.code.visualstudio.com/commit:${5437499feb04f7a586f677b155b039bc2b3669eb}/server-linux-x64/stable

wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/5437499feb04f7a586f677b155b039bc2b3669eb/vscode-server-linux-x64.tar.gz

# tar解压文件到当前的文件夹,因为之前已经cd,所以正好是vscode代码需要检索的地方
# 检测到有相应的东西,vscode就会跳过下载直接启动远程的终端及相应线程
tar zxvf vscode-server-linux-x64.tar.gz --strip 1
mkdir -p ~/.vscode-server/bin/${commit_id}
mkdir -p ~/.vscode-server/bin/5437499feb04f7a586f677b155b039bc2b3669eb
    
    cd ~/.vscode-server/bin/${commit_id}
cd ~/.vscode-server/bin/5437499feb04f7a586f677b155b039bc2b3669eb

10.配置中文环境

树莓派默认是采用英文字库的,而且系统里没有预装中文字库,所以即使你在locale中改成中文,也不会显示中文,只会显示一堆方块。因此需要我们手动来安装中文字体。

1、安装中文语言包:

在终端中运行以下命令来安装中文语言包:

sudo apt-get install language-pack-zh-hans

这将安装简体中文语言包到您的树莓派系统中。

中文字库安装完成之后,还需要安装一个中文输入法。输入如下命令:

sudo apt-get install scim-pinyin

2、配置语言环境:

在终端中运行以下命令来编辑系统的语言环境设置:

sudo raspi-config

在图形界面中,选择 “Localisation Options”(本地化选项),然后选择 “Change Locale”(更改语言环境)。

image-20240819170202906

image-20240819170220390

在语言环境设置界面中,使用光标键选择 “zh_CN.UTF-8 UTF-8”,然后按下空格键进行选择。按下Tab键将焦点移动到"OK"按钮上,然后按下Enter键确认选择。

在下一个界面中,可以选择默认的语言环境。选择 “zh_CN.UTF-8” 作为默认语言环境。

然后,使用光标键将焦点移动到"Finish"(完成)按钮上,按下Enter键退出语言环境设置。

image-20240819170247891

image-20240819170328745

重启即可

附录:

树莓派 ACT LED 指示灯闪烁模式代表的状态

image-20240818213640199

与之前的树莓派型号有所不同,树莓派4B 使用内置于 EEPROM 中的程序来做启动引导。
这意味着启动代码可以做得更加灵活,并具有网络启动和 USB 启动的能力。
当引导程序在 SD 卡上检测到有效的 start.elf 文件时,ACT LED 会闪烁 4 次。

如果遇到树莓派无法启动,板载的 LED 会按照预设的规律闪烁,来提示我们故障的原因。
LED 将在 N 次长亮(0次或多次)之后开始短闪。通常,闪烁的模式会在闪烁周期完成后的两秒再次重复。

下面一张表格,列明了指示灯闪烁的规律释义。

长亮短闪指示的状态
0启动失败
0start*.elf 文件未找到
0内核镜像(Kernel image)文件未找到
0SDRAM 内存故障
0SDRAM内存不足
0处于 HALT 状态
21分区不是 FAT 格式
22无法读取分区
23扩展分区不是 FAT 格式
44文件签名/哈希不匹配-Pi 4
44不支持的主板型号
45致命的固件错误
46A型电源故障
47B型电源故障

举例:

  • 如果 ACT LED 短闪 4 次,说明找不到引导程序(start.elf)。
  • 如果 ACT LED 不规则闪烁,说明系统已经开始启动。
  • 如果 ACT LED 不闪烁,则 EEPROM 可能已经损坏了。此时可能需要拔掉所有的设备连接再试。

40pin引脚图

image-20240818214252610

image-20240818214315854

树莓派管脚有三种编码方式

  • 第一种就是Board编码,这种就是按照树莓派主板上引脚排针编号。分别对应1~40号排针。
  • 第二种就是BCM编码,这种方式是参考 Broadcom SOC 的通道编号,侧重CPU寄存器,是用BCM库或者python编程常采用这种编码
  • 第三种家就是WPI编码,就是WiringPi编码,把扩展GPIO端口从0开始编码,在使用wiringPi库编程会使用这种编码。

其中这些引脚又分为串口,i2C,SPI,GPIO 和电源管脚。

树莓派最新系统默认是没有开启串口,I2C和SPI的。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言 | Leetcode C语言题解之第450题删除二叉搜索树中的节点

题目: 题解: struct TreeNode* deleteNode(struct TreeNode* root, int key){struct TreeNode *cur root, *curParent NULL;while (cur && cur->val ! key) {curParent cur;if (cur->val > key) {cur cur->left;} else {cur c…

OpenAi FunctionCalling 案例详解

源码详细讲解 pdf 及教学视频下载链接:点击这里下载 FunctionCalling的单一函数调用 天气预报查询(今天长沙的天气如何?) import json import requests from openai import OpenAIclient OpenAI()location "长沙"…

`git restore` 和 `git checkout` 用于丢弃工作区的改动, `git switch` 和 `git checkout` 用来切换分支

git restore 和 git checkout 都可以用于丢弃工作区的改动 但它们有一些区别,尤其是在 Git 2.23 引入了新的命令后。 主要区别 git checkout 是一个多用途命令: 它用于切换分支。它还可以用于恢复工作区中特定文件的更改。由于功能过于复杂&#xff0c…

Cortex微控制器软件接口标准(CMSIS)

Cortex微控制器软件接口标准 目前,软件开发已经是嵌入式系统行业公认的主要开发成本,通过将所有Cortex-M芯片供应商产品的软件接口标准化,能有效降低这一成本,尤其是进行新产品开发或者将现有项目或软件移植到基于不同厂商MCU的产…

Golang | Leetcode Golang题解之第450题删除二叉搜索树的节点

题目: 题解: func deleteNode(root *TreeNode, key int) *TreeNode {var cur, curParent *TreeNode root, nilfor cur ! nil && cur.Val ! key {curParent curif cur.Val > key {cur cur.Left} else {cur cur.Right}}if cur nil {retur…

回首往事,感受change

今早,我收到了CSDN发来的消息,当我看了内容才发现,我不知不觉已经在CSDN里面创作了730天(2年)也是个非常值得纪念的日子。 今天,我来回顾一下我的以往,感受一下我的成长与变化。 梦的开始 大家…

【Python报错已解决】 Failed building wheel for opencv-python-headless

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

2024多模态大模型发展调研

随着生成式大语言模型应用的日益广泛,其输入输出模态受限的问题日益凸显,成为制约技术进一步发展的瓶颈。为突破这一局限,本文聚焦于研究多模态信息的协同交互策略,旨在探索一种能够统一理解与生成的多模态模型构建方法。在此基础…

C# 无边框窗体,加阴影效果、多组件拖动、改变大小等功能完美实现优化版效果体验

一、预览效果 国庆节第一天,祝祖国繁荣昌盛! 1.1 效果图 (WinForm无边框窗体,F11可全屏) 拖动窗体时半透明效果(拖动时参考窗体后面释放位置) 说明:本功能的实现基于网友的原型完善而来,更多代码可以参考他的文章 h

智能平衡移动机器人-平台硬件电路

目录 硬件电路主要模块包括: 主控制器 TMS320F28069数字信号处理器 电池 电机驱动电路 直流电机的驱动 编码器 传感器与外设模块 APP 为了使智能平衡移动机器人达到更好的平衡控制效果,机器人的本体设计更为轻便、集中。机器人的硬件电路也进行集…

课设实验-数据结构-单链表-文教文化用品品牌

题目&#xff1a; 代码&#xff1a; 正解&#xff1a; #include<stdio.h> #include<stdlib.h> #include<string.h> #define MaxSize 10 //定义顺序表最大长度static int result; //字符串比较结果 static int i; //循环初始值 static bool flag; //记录结…

Typora使用与Markdown语法详细教程

Typora 基本介绍 Typora 是一款由 Abner Lee 开发的轻量级 Markdown 编辑器。Markdown 是一种 轻量级标记语言&#xff0c;它允许人们使用易读易写的纯文本格式编写文档&#xff0c;然后转换成有效的 XHTML&#xff08;或者 HTML&#xff09;文档。 安装 下载地址&#xff…

C语言 getchar 函数完全解析:掌握字符输入的关键

前言 在C语言中&#xff0c;getchar 是一个非常实用的函数&#xff0c;用于从标准输入流&#xff08;通常是键盘&#xff09;读取单个字符。这对于处理文本输入非常有用&#xff0c;尤其是在需要逐个字符处理的情况下。本文将深入探讨 getchar 函数的用法和特点&#xff0c;并…

开放式耳机是什么意思?哪个品牌好?开放式蓝牙耳机测评分享

开放式耳机是目前比较流行的一种蓝牙耳机类型&#xff0c;它凭借佩戴舒适、安全性高、透气性好以及健康卫生等等特点成为了很多人的耳机选择。但其实并没有太多人了解开放式耳机&#xff0c;不知道什么是开放式耳机、开放式耳机是否比封闭式耳机强、什么样的人适合开放式耳机以…

Optiver股票大赛Top2开源!

Optiver股票大赛Top2开源&#xff01; ↑↑↑关注后"星标"kaggle竞赛宝典 作者&#xff1a;杰少 Optiver第二名方案解读 简介 Optiver竞赛已经于今天结束了&#xff0c;竞赛也出现了极端情况&#xff0c;中间断崖式的情况&#xff0c;在Kaggle过往的竞赛中&#…

【电路基础 · 1】电路模型和电路定律(自用)

总览 1.电路和电路模型 2.电流和电压参考方向 3.电功率和能量 4.电路元件 5.电阻元件 6.电压源和电流源 7.受控电源 8.基尔霍夫定律 重点&#xff1a; 1.电压、电流的参考方向 2.电阻元件、电源元件的特性 3.基尔霍夫定律&#xff08;基尔霍夫电流定律KCL、基尔霍夫电压定律K…

【办公类-48-03】20240930每月电子屏台账汇总成docx-3(三园区合并EXCLE,批量生成3份word)

背景需求&#xff1a; 前期电子屏汇总是“总园”用“”问卷星”、“一分园”用“腾讯文档”&#xff0c;二分园“用“手写word”” 【办公类-48-02】20240407每月电子屏台账汇总成docx-2&#xff08;腾讯文档xlsx导入docx&#xff0c;每页20条&#xff09;【办公类-48-02】20…

C语言 | Leetcode C语言题解之题451题根据字符出现频率排序

题目&#xff1a; 题解&#xff1a; #define HASH_FIND_CHAR(head, findint, out) HASH_FIND(hh, head, findint, sizeof(char), out) #define HASH_ADD_CHAR(head, intfield, add) HASH_ADD(hh, head, intfield, sizeof(char), add)struct HashTable {char key;int val;UT_ha…

基于小程序+Vue + Spring Boot的进销存库存出库入库统计分析管理系统

目录 一、项目背景及需求分析 1. 项目背景 2. 需求分析 二、系统架构设计 1. 技术选型 2. 模块划分 三、数据库设计数据库表结构 四、前端实现 五、后端实现 1. RESTful API设计 2. 数据库操作 六、安全性和性能优化 1. 安全性 2. 性能优化 七、测试与部署 1. …

Unity之寻找子物体的8种方式

废话不多说&#xff0c;举个例子&#xff1a; 当前的transform是Cube1物体&#xff0c;所以。。。。 寻找子物体的方式有以下几个&#xff1a; 1.transform.Find("go2/go3") 好处&#xff1a;可以快速通过路径定位对应的子物体&#xff0c;甚至是子子子物体。 2.t…