树莓派开发笔记01-树莓派的系统烧录以及初次开机配置

news2024/11/16 14:00:55

github主页:https://github.com/snqx-lqh
gitee主页:https://gitee.com/snqx-lqh
本项目github地址:https://github.com/snqx-lqh/RaspberryPiLearningNotes
本项目gitee地址:https://gitee.com/snqx-lqh/RaspberryPiLearningNotes
欢迎交流

说明

该系列笔记使用的是树莓派3B+,将使用树莓派进行智能硬件编程。这篇笔记将记录如何烧写树莓派固件以及搭建树莓派开发环境。

相关软件下载

1、SDCardFormatter

这是格式化SD卡用的软件,在我开源的github仓库上面有,也可以自己去下,或者自己有可以格式化的工具也可以使用。

2、win32diskimager

这是写入镜像的软件,也在我开源的github仓库上面有。

3、树莓派固件镜像

需要的树莓派镜像资源的可以去树莓派实验室资源下载里下载。我这里下载使用的是Raspberry Pi OS 64 位

https://shumeipai.nxez.com/download

在这里插入图片描述

下载之后解压即可。

4、MobaXterm

我们使用这个远程连接我们的树莓派,以及使用它将文件在树莓派和PC间移动,他的下载可以去官网。也在我开源的github仓库上面有。

5、Vscode

我们使用这个软件来编写我们的代码。官网下载即可。

系统烧写

使用SDCardFormatter先将SD卡格式化。

在这里插入图片描述

然后使用win32diskimager选择我们刚刚解压好的镜像。

在这里插入图片描述

写入完成后,电脑可能会叫你格式化,不管那个,取消后退出读卡器即可。

开机配置

将SD卡插入树莓派,我这里讲述的是有屏幕情况下的操作,没有屏幕可以先查看其他教程使得能够正常开机再看我之后的讲解。

等其开机后,会有开机相关配置,弹出来以下处理的弹框。

1、先是一个欢迎窗口,直接点击NEXT

2、然后是Set Country,这个时候国家选择China即可,另外两个应该会自动调整,如果没自动,就手动调整Chinese语言、Timezone选择你的地方。

3、然后是Create User,这里是创建用户和设置密码,自己设置即可,记得就行。

4、然后是Set Up Screen,减少桌面大小,这里不管。

5、然后是Select WiFi Network,选择一个网络进行连接,这一步可以跳过,也可以连接。下一步就是输入密码连接了。

6、然后是Choose Browser,选择默认浏览器,默认即可。

7、然后是Enable Raspberry Pi Connect,一个远程连接的方式,可以使能他。

8、然后是Update Software,这个直接跳过,没有换源的情况下,这个很卡。

9、最后就是Restart。

注意:可能经典版会有部分不一样,但是大部分都相同,能正常启动即可。

开机后,按住Ctrl+Alt+T,打开终端。输入指令

ifconfig

查看连接的wifi名为wlan0的IP地址,我这里是192.168.1.10,每个人肯定不一样,记住自己的。

在终端栏中,输入

sudo raspi-config

这会打开一个图形化界面。界面中使用方向键控制光标,Enter键进行选择。

打开SSH: Interfacing Options -> SSH -> Yes

退出图形化界面:(左右方向键选择)Finish

这时,打开了SSH服务,然后我们就可以使用远程连接。

远程连接

在配置好SSH后,就可以使用MobaXterm等远程SSH登录树莓派了。

在这里插入图片描述

在这里插入图片描述

输入之前定义的用户名和密码就可以了。

换源

由于树莓派本身的服务器在国外,所以我们换成国内源会更快。

sudo nano /etc/apt/sources.list

将里面原来的源注释,将下面的源复制进去

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

修改完成后,看下面的注释Ctrl+O保存,Ctrl+X退出。

退出后,更新软件,就会更新成清华源

sudo apt-get update

如果源更新失败,参考清华源官方的设置,如下

raspbian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

vscode配置

我们后面的代码编写将在PC端上使用VScode远程树莓派实现,下面介绍怎么实现远程登录

安装

安装插件,插件名称就是 Remote - SSH

配置SSH密钥

将本机添加到远程服务器连接白名单,让服务器知道是已认证的电脑在连接

在PC端CMD使用如下命令,生成 SSH 公钥文件。

ssh-keygen

会让输入保存路径,一直回车默认即可。我的生成之后在C:\Users\LQH\.ssh路径下

找到公钥文件 id_rsa.pub ,使用MobaXterm上传到远程服务器的 .ssh 文件夹中。.ssh的路径类似这样:/home/lqh/.ssh.ssh 文件夹没有怎么办?新建一个文件夹,命名为 .ssh 即可。同时要确认远程服务器是否支持 SSH ,如果此时正是通过 SSH 方式连接的,那肯定是支持了。

3、生成 authorized_keys 文件。这样后续在使用 Remote 插件时,不需要密码,就可以直接登录到服务器。

进入树莓派.ssh 目录,使用如下命令,生成 authorized_keys 文件。id_rsa.pub是前面说的在windows下生成的

cd ~/.ssh
cat id_rsa.pub > authorized_keys

添加配置文件

目的:配置 VSCode 连接远程服务器的一些基本信息。

1、点击左侧的 “远程资源管理器” 图标,点击右上角的小齿轮(设置)

在这里插入图片描述

2、在弹出来的窗口中,选择第一个 config 文件打开,填写对应信息,例如

Host <远程主机名称>
    HostName <远程主机IP>
    User <用户名>
    Port <ssh端口,默认22>
    IdentityFile <本机SSH私钥路径>
    ForwardAgent yes <VSCode 自己添加的,不用管>

Host Pi
    HostName 192.168.1.10
    User pi
    Port 22
    IdentityFile "C:\Users\LQH\.ssh\id_rsa"
    ForwardAgent yes

结尾

至此,开机基本配置结束,下面将进行树莓派硬件操作控制的学习。

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

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

相关文章

详解golang内存管理

介绍 要搞明白 Go 语言的内存管理,就必须先理解操作系统以及机器硬件是如何管理内存的。因为 Go 语言的内部机制是建立在这个基础之上的,它的设计,本质上就是尽可能的会发挥操作系统层面的优势,而避开导致低效情况。 操作系统内存管理 其实现在计算机内存管理的方式都是…

Python---容器

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.容器概念 在Python中&#xff0c;容器是指可以存放多个元素的对象。常见的容器类型有列表&#xff08;List&#xff09;、元组&#xff08;Tuple&#xff09;、集合&#xff08;Set&#xf…

solidwork经验总结2

新建<装配体 打开之后可以直接从文件夹将零件中拖入&#xff0c;也可以 怎样装配在一起&#xff1f; 点击配合。 假如我要把轴承装到这个孔里面来 首先&#xff0c;它们一定得是共线 然后点击这两个圆 产生同轴心 选择重合&#xff0c;可以两个贴紧 上面这个也可以按照需求…

ECEF地心地固坐标系与ENU站心坐标系互转

ENU站心坐标系 站心坐标系也叫做站点坐标系、东-北-天坐标系ENU&#xff0c;英文名称是local Cartesian coordinates coordinate system&#xff0c;主要是用于需了解以观察者为中心的其他物体运动规律。 站心直角坐标系 定义&#xff1a;以站心&#xff08;如GPS接收天线中…

植物生长时为什么会扭动?科学家解开令查尔斯·达尔文困惑的千古之谜

在一项新的研究中&#xff0c;来自美国和以色列的物理学家可能已经弄清了植物生长过程中的一种古怪行为–也是查尔斯-达尔文本人在其生命的最后几十年里所好奇的一个谜&#xff1a;对于许多人类来说&#xff0c;植物可能看起来静止不动&#xff0c;甚至有点无趣。但实际上&…

小米5c解除BL锁刷机root

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 解锁BL锁 1. 下载安装 miflash_unlock&#xff1a;https://miuiver.com/miunlock/&#xff0c;登录小米账号&#xff08;需要和解锁设备绑定的账号一致&#…

Java Web —— 第六天(Mybatis)

lombok Lombok是一个实用的Java类库&#xff0c;能通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法&#xff0c;并可以自动化生成日志变量&#xff0c;简化java开发、提高效率 在pom.xml文件中引入依赖 <!--lombok--><dependency>…

Spring IoCDI(中)--IoC的进步

通过上文的讲解和学习, 我们已经知道了Spring IoC 和DI的基本操作, 接下来我们来系统的学习Spring IoC和DI 的操作. 前⾯我们提到IoC控制反转&#xff0c;就是将对象的控制权交给Spring的IOC容器&#xff0c;由IOC容器创建及管理对 象&#xff0c;也就是bean的存储。 1. Bean的…

Datawhale AI 夏令营第四期 大模型技术-微调 task3 数据增强与评分

前面我们介绍了baseline的思路及写作方案&#xff0c;这里我们尝试对数据做增强&#xff0c;但是需要聪明的你加入自己的努力完成更好的思路。 今天需要大家学习上手尝试数据增强&#xff0c;不过我会把增强的思路和相关知识告诉大家&#xff0c;让大家学习如何使用llm完成数据…

Ugandan Knuckles

目录 一、题目 二、思路 三、payload 四、思考与总结 一、题目 <!-- Challenge --> <div id"uganda"></div> <script>let wey (new URL(location).searchParams.get(wey) || "do you know da wey?");wey wey.replace(/[<…

铁电存储器(FM24W256)I2C读写驱动(4):I2C读写测试

0 参考资料 FM24W256&#xff08;Cypress公司生产&#xff09;数据手册 1 I2C读写测试 1.1 简单测试方法 使用前面我们设计好的读写驱动&#xff0c;向FM24W256起始地址为0xF0存储区域写入16字节数据“ABCDEFGHIJK12345”&#xff0c;断电后再读取出来&#xff0c;查看读写是…

MySQL基础练习题48-连续出现的数字

目录 题目 准备数据 分析数据 题目 找出所有至少连续出现三次的数字。 准备数据 ## 创建库 create database db; use db;## 创建表 Create table If Not Exists Logs (id int, num int)## 向表中插入数据 Truncate table Logs insert into Logs (id, num) values (1, 1) i…

Autodesk Maya 2019 for Mac/Win:专业三维动画制作软件的巅峰之作

Autodesk Maya 2019是一款世界顶级的三维动画制作软件&#xff0c;专为Mac和Windows系统打造&#xff0c;广泛应用于影视广告、角色动画、电影特技等专业领域。其强大的功能和灵活的工具集&#xff0c;使得用户能够高效地完成复杂的三维建模、动画设计、特效制作及高质量渲染等…

Nginx--代理与负载均衡(扩展nginx配置7层协议及4层协议方法、会话保持)

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、代理原理 1、反向代理产生的背景 单个服务器的处理客户端&#xff08;用户&#xff09;请求能力有一个极限&#xff0c;当接入请求过多时&#…

VirtualBox上的Oracle Linux虚拟机安装Docker全流程

1.安装docker依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 2.安装docker仓库 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 生成docker的yum源配置到在 /etc/yum.repos.d/docker-ce.repo 3.安装D…

【软件测试】单元测试20套练习题

&#xff08;一&#xff09;概述 使用Java语言编写应用程序&#xff0c;设计测试数据&#xff0c;完成指定要求的白盒测试&#xff0c;对测试数据及相应测试结果进行界面截图&#xff0c;将代码以及相关截图粘贴到白盒测试报告中。 &#xff08;二&#xff09;题目要求

Keepalived秘籍保障系统高可用的终极武器

目录 一 高可用集群 1.1 集群类型 1.2 实现高可用 1.3 vrrp&#xff08;Virtual Router Redundancy Protocol&#xff09; 二 keepalived 部署 2.1 简介 2.2 keepalived 架构 2.3 keepalived 搭建 三 keepalived 应用示例 3.1 实现master/slave的keepalived单主架构 …

韩顺平老师Python学习笔记【持续更新...】

1、Python语言概述 1.1、转义字符 1.1.1、常用的转义字符 常用转义字符列表 \t一个制表位&#xff0c;实现对齐的功能\n换行符\\一个\\一个\"一个"\r一个回车 1.2、注释 1.2.1、单行注释 # 其他 1.2.2、多行注释 三个单引号 xxx 或 三个双引号 "…

ESLint详解及在WebStorm中的应用

ESLint是一个开源的JavaScript代码检查工具&#xff0c;用于识别和报告JavaScript代码中的模式问题。它可以帮助开发者遵循一定的编码规范和最佳实践&#xff0c;提高代码质量和可维护性。 ESLint的工作原理是通过插件和配置文件来定义一系列规则&#xff0c;对JavaScript代码…

Jakarta Servlet 到 SpringMVC

Jakarta EE&#xff08;曾被称为Java EE&#xff09;是Java平台企业版&#xff08;Java Platform Enterprise Edition&#xff09;的下一代版本&#xff0c;它在Oracle将Java EE的开发和维护交给Eclipse Foundation后得以重生&#xff0c;并更名为Jakarta EE。Jakarta EE保留了…