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

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

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-firmwaredeb 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-firmwaredeb 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 PiHostName 192.168.1.10User piPort 22IdentityFile "C:\Users\LQH\.ssh\id_rsa"ForwardAgent yes

结尾

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

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

相关文章:

  • 微信答题小程序产品研发-后端开发
  • 回溯算法——LeetCode37 解数独
  • 【CPP】继承语法详解与菱形继承
  • 数据结构(6.2_1)——领接矩阵法
  • 诈骗未成功是否构成犯罪?
  • 网络协议栈应用层的意义(内含思维导图和解析图通俗易懂超易理解)
  • 【NXP-MCXA153】i2c驱动移植
  • C++(11)类语法分析(2)
  • 数字验证每日十问--(3)
  • 22.给定 n 对括号,实现一个算法生成所有可能的正确匹配的括号组合
  • 检测到目标URL存在http host头攻击漏洞
  • C++奇迹之旅:手写vector模拟实现与你探索vector 容器的核心机制与使用技巧
  • 018、钩子函数 mounted和beforeDestroy、父组件向子组件传递参数 props 的使用
  • xlnt在Windows中的dll,lib生成
  • 【网络】私有IP和公网IP的转换——NAT技术
  • java 面试 PDF 资料整理
  • 初步认识Linux系统
  • JavaScript AI 编程助手
  • 达梦数据库的系统视图v$datafile
  • Triton/window安装: triton-2.0.0-cp310-cp310-win_amd64.whl文件
  • 应急响应-DDOS-典型案例
  • JAVA学习之知识补充(下)
  • qt生成一幅纯马赛克图像
  • python循环——九九乘法表(更加轻松的理解循环结构)
  • UDS诊断系列之十八故障码的状态掩码
  • 【jvm】直接引用
  • PythonStudio 控件使用常用方式(二十七)TActionList
  • PDF 转Word 开源库
  • Docker - 深入理解Dockerfile中的 RUN, CMD 和 ENTRYPOINT
  • Python 函数式编程 内置高阶函数及周边【进阶篇 3】推荐