【从零到一的Raspberry】树莓派踩坑实录(一)系统安装与简单开发

news2025/7/3 11:39:17

写在前面

  本系列作为树莓派上手记录,同时将本人的踩坑以及参考进行记录汇总,必要时罗列出小组分工,作为《嵌入式软开》小组参考文件。

0 硬件准备

名称描述
树莓派3B支持wifi,包含了散热器、外壳、电源线等配件
网线感谢王emo同学提供的网线,用于SSH连接
TF卡闪迪32GB,可用16GB,这里用来存储树莓派系统
读卡器用来通过usb读写SD卡
PC一台最好是有网线插口的
USB扩网线口扩展坞(可选)轻薄本用,用来扩展出网线插口
显示屏HDMI(可选)经费原因,暂时没有

1软件准备

名称描述
windows系统win10 or 11
linux系统这里是ubuntu18.04
putty用于SSH连接
mobaxterm用于windows下SSH图形化SSH连接
交叉编译工具链具体见之后交叉工具链小节

2安装树莓派系统

进入树莓派软件下载网站https://www.raspberrypi.com/software/

点击
在这里插入图片描述
下载官方安装器的安装文件,
点进去然后下载,
下载完成后直接安装,安装好之后就有了Raspberry Pi Imager
在这里插入图片描述
这样一个树莓派安装工具。

此时,插入TF卡和TF卡读写器,然后首次使用先格式化TF卡,具体步骤如下
在这里插入图片描述选择擦除,然后选择SD卡选项选择我们的TF卡,最后点击写入就可以完成擦除。

之后再进行系统安装,没有特殊需要就选择第一个
在这里插入图片描述
目标选择TF卡,然后点击小齿轮进行高级设置
在这里可以先把SSH勾选上,填入SSH登录的用户名和密码,默认的用户名是pi,如果不想忘记就别改了
在这里插入图片描述然后点击Write就可以写入了。等待10~20分钟,就可以为TF卡写入树莓派操作系统,这个时候如果询问是否要格式化磁盘,选择否。

这个时候拔出并用读卡器重新插入TF卡,这时只有boot磁盘可见。打开boot磁盘,创建ssh(注意是小写,并且没有后缀),告诉系统需要开启SSH。

然后点击弹出磁盘,拔出TF卡。

这时就可以把TF卡插入到树莓派上了,注意卡槽的正反与形状是匹配的。

为树莓派接上电源线,按下电源线上的开关,这时候树莓派就已经打开了。

据说正在装系统,需要等待10分钟左右,等绿灯不再亮时系统就安装完毕了(这一点有待验证,反正我等了10分钟绿灯仿佛确实不亮了)

至此我们的树莓派系统已经安装完成。
下面我们拿出网线和USB转网口扩展坞(因为我是轻薄本),开始实现树莓派SSH连接。这是因为我们没有屏幕,需要通过命令行来操控系统,而SSH就是一种方式来将树莓派的命令行投影到PC上,使得PC可以通过屏幕上的命令行来对树莓派进行文件读写访问、状态查看与操控。

3 树莓派与电脑的有线连接

  SSH连接之前,需要让树莓派连上网络,从而让树莓派拥有IP地址。下面讲述如何让树莓派通过有线连接访问网络。

3.1 windows与树莓派的网线连接

  这里的教程是在windows上通过SSH访问树莓派的方法,参考了
https://blog.csdn.net/qq_49895299/article/details/119456981的方法。首先打开网络设置,
在这里插入图片描述  点击"更改适配器选项"
在这里插入图片描述
  然后用网线连接树莓派和电脑,为树莓派上电,我这里因为是轻薄本,所以网线通过扩展坞和电脑接在一起,网线另一端接在树莓派网口上。
  插上网线后与树莓派连接后,下面的更改适配器选项界面除了你的wifi应该会出现新的一个没有打叉的网络,比如我是在下图的基础上出现了一个以太网3(图上暂时没有显示出来)
在这里插入图片描述
  记住这个新出现的没有打叉的有线连接的名字(我这里叫以太网3),然后双击上图中的WLAN,选择属性
在这里插入图片描述
  在共享中把两个框都打上勾,并选择与树莓派有线连接的以太网名称
在这里插入图片描述  配置完成后点击确定。下面来寻找树莓派的IP

  win+R键输入cmd来运行cmd,windows11可以试试右键打开powershell
在这里插入图片描述
  输入arp -a
在这里插入图片描述
  如图中所示,10.0.225.16是本机(PC)的地址。而图上10.0.224.1是网关地址,10.0.231.255是广播地址。如果之前的都配置无误并且连着已经上电的树莓派,这时应该会出现以10.0.225开头的其他地址(除了本机地址、网关地址和广播地址之外的其他地址)。注意,由于网络连接的原因,你的网络不一定是10.0.225,可能是192.168.xxx,但是不影响,就按照以上步骤来做,找到树莓派的地址,ping一下,看看通不通,比如树莓派地址是10.0.224.30,在cmd中输入

ping 10.0.224.30

  看一下ping通不通,如果通的话会有响应,而不会一直卡着。如果不通就是前面步骤出问题了。
  找到树莓派网络地址之后,(这里假设是10.0.225.16,由于默认是DHCP动态分配地址,因此树莓派每次连上网线或者PC更换网络时需要重新查看地址),我们就可以使用SSH进行连接。
  NOTE:有时候重启PC会发现不了树莓派IP,这时候关闭网络共享,然后重新按照以上步骤设置一遍即可。
  关于寻找树莓派IP:
在这里插入图片描述
上面一段是WIFI的,打红圈的是PC ip,可以ipconfig查看,而下面一段是以太网的,打红圈的是树莓派ip,.1和.255结尾的是网关和广播,不是设备ip


3.2 Linux与树莓派的网线连接

参考这篇文章https://blog.csdn.net/yuejia2907/article/details/111569486
在linux下也是通过在terminal中输入arp -a找到树莓派开发板的地址。

4通过SSH,VNC访问树莓派

4.1SSH with Mobaxterm(仅仅支持windows)

  去mobaxterm官网下载mobaxterm
  对于mobaxterm软件的简单解释,还有SSH的简单解释,以及后文所示的如何传输文件等操作,这里交给负责的同学详述
  保持对树莓派的网线连接,假如按照上一节中,查询到树莓派的网络地址为192.168.137.4,打开mobaxterm,点击session
在这里插入图片描述  按顺序如下图操作,最后点击ok打开SSH
在这里插入图片描述
  打开之后输入用户名pi,密码123456,这是我们在第一节安装系统中设置的。成功之后我们就可以看到类似linux系统的树莓派的控制台了,可以在这里进行命令输入。此外,左侧是文件系统,可以为树莓派通过网络上传下载文件。至此,在windows PC上结合mobaxterm就完成了对树莓派的SSH连接。


4.2SSH with putty(both on win & linux)

  这里请负责的同学记录一下再linux下安装putty的记录和putty的简介。由于putty在windows和linux都可以用,但是windows上我们有更好的mobaxterm,因此只要在linux下安装一下putty即可。需要参考3.2节,在 linux有线连接的基础上进行探索。在linux中获取树莓派ip后再进行putty SSH连接。
在这里插入图片描述

  由于putty没有文像mobaxterm一样的文件传输UI,因此需要探索一下如何linux下使用putty传输文件到树莓派上。同时探索一些Linux其他的SSH工具(毕竟Putty显得太简陋了),这里尝试了FinalShell,安装的参考如下(介绍一下安装过程)
Linux安装FinalShell
在这里插入图片描述

4.3VNC with mobaxterm

参考这篇:树莓派使用MobaXterm实现SSH和VNC
实现效果如下
在这里插入图片描述

5交叉编译

  交叉编译的定义是什么?这里不详述了,交给负责的同学。树莓派的交叉编译工具链有哪些,他们各自有什么不同,怎么安装,需要探索。我本人亲测arm-linux-eabi-gcc可用,但是树莓派提供的其他工具链可以用嘛?介绍树莓派github上所有的工具链,并尝试使用它们有什么区别,特别是arm-linaro-linux和arm-linux有什么区别等。负责的同学探索一下,可以参考以下内容并进一步探索。
https://blog.csdn.net/qq_48458789/article/details/123414776?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%A0%91%E8%8E%93%E6%B4%BE%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E5%B7%A5%E5%85%B7%E9%93%BE&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-123414776.142v59js_top,201v3control,213v1t3_esquery_v2&spm=1018.2226.3001.4187
  进入到数莓派工具github中,https://github.com/raspberrypi/tools,发现如下说明
在这里插入图片描述
  大意就是这个工具链已经不用了,现在仅仅需要gcc-arm-linux-gnueabihf就可以实现开发
  首先使用linux下简单建立一个hello.c文件,选择不同的工具链对其进行交叉编译。输入指令

file <目标文件>

来查看交叉编译生成文件类型(截图),目标文件是交叉编译时-o所指定的文件名。
  然后将生成文件传到树莓派中,这里参考4.2的步骤.
  需要探索一下windows下如何安装使用交叉编译器(即上述的树莓派的交叉编译器arm-linux-eabi-gcc),环境变量如何添加,如何在windows下进行交叉编译,下载到板子上,验证结果。

6交叉调试

  关于上次qemu-arm的交叉调试可以参考这篇,需要注意,树莓派的交叉调试可能与qemu有差别,负责的同学可以叙述一下大概区别
  https://www.cnblogs.com/liuhanxu/p/16245816.html
  在树莓派探索交叉调试之前,需要先建立一个文件用来交叉调试。你可以用arm-linux-eabi-gcc编译一个较为复杂的文件,比如编写几个函数,这样在交叉调试时不会太过于简单。此外,需要注意编译时加入什么参数让其可以输出调试信息,回顾 -g -Wal等参数。
  gdb交叉调试用的是什么工具?是不是gdb-multiarch?需要在树莓派上安装gdb-server吗?同时需要回顾gdb调试的一些常见的指令,如r,b,s等,这些不再赘述,由负责的同学实现。

7qemu-system-arm探索树莓派虚拟机

  (最好是双系统的同学负责)这里还未探索,交给负责的同学。可以与我交流,我有安装过qemu的linux服务器和linux早期版本的虚拟机。

8小组分工安排

分工详述姓名
第二节+PPT汇总+展示有空试试看VNC连接,这个好像是基于图形化界面的
第三节有线连接以及Linux下有线连接探索,包括对应内容文档和PPT,+报告汇总
第四节软件与SSH,文件传输及其探索,包括对应内容文档和PPT
第五节交叉编译,包括对应内容文档和PPT
第六节交叉调试,包括对应内容文档和PPT
第七节最好是双系统的同学,虚拟机探索,包括对应内容文档和PPT

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

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

相关文章

【小程序websocket前后端交互】uniapp写微信小程序聊天功能功能,websocket交互功能,心跳重连【详细注释,复制即用】

前言 这几天在做的一个需求&#xff0c;就是要写一个小程序端的页面&#xff0c;用于跟客服聊天。 然后就用到了websocket技术&#xff0c;以前我做过网页版的&#xff0c;但是做小程序后发现网页版的逻辑放过来没问题&#xff0c;但是很多的方法和api是不生效的&#xff0c;所…

立方体的表面积 长方体的表面积 公里转换为米 温度对照

立方体的表面积 难度&#xff1a;青铜 时间限制&#xff1a;1秒 占用内存&#xff1a;64 M 输入立方体边长&#xff0c;输出立方体的表面积。不考虑非法输入。格式 输入格式&#xff1a;输入实型 输出格式&#xff1a;输出实型 #include<bits/stdc.h> using namespace s…

万字长文的CSS与JavaScript简易学习

近期学习web笔记&#xff0c;可供参考 目录 css: css导入方式&#xff1a; css选择器&#xff1a; javascript: javascript介绍&#xff1a; js引入方式&#xff1a; js书写语法&#xff1a; js变量&#xff1a; 5种原始类型&#xff1a; 运算符&#xff1a; JavaScr…

推荐一款基于.Net Core开发简约漂亮的 WPF UI库

今天给大家推荐一个开源WPF UI库。 项目简介 这是一款使用简单、UI评论的WPF UI库&#xff0c;借鉴了多个开源框架。UI简单清晰、大气。 技术架构 1、跨平台&#xff1a;这是基于.Net Core开发的系统&#xff0c;可以部署在Docker, Windows, Linux, Mac。 2、开发环境&…

微视网媒:沃尔沃质量有什么魅力 让大佬罗永浩、樊登纷纷翻牌S90?

在消费市场&#xff0c;选对代言人&#xff0c;产品就成功了一半&#xff0c;这话可是一点都没说错。 从一定程度上来说&#xff0c;代言人就是产品对外形象的展示&#xff0c;甚至有不少消费者还会因为代言人激情下单。 当然&#xff0c;成也代言&#xff0c;败也代言&#xf…

拉格朗日对偶问题的一些介绍

文章目录参考前言拉格朗日函数例1例2拉格朗日函数的对偶问题参考 “拉格朗日对偶问题”如何直观理解&#xff1f;“KKT条件” “Slater条件” “凸优化”打包理解 感觉有时间看视频的还是看视频比较好&#xff0c;本文只是记录一下以防以后忘记。 前言 还记得SVM里用到拉格朗…

Python代码的编写运行方式简介

Python代码的编写运行方式简介 Python编写方式 Python 是一种解释型的脚本编程语言&#xff0c;支持两种代码编写方式&#xff1a;交互命令行方式和运行.py代码文件方式。 Python的交互命令行方式和直接运行.py代码文件方式有什么区别呢&#xff1f; 交互模式&#xff0c;相当…

Python爬虫|采集开源众包的悬赏任务,自动翻页

前言 现在互联网,有很多网站提供一些接单外派的形式,提供给有能力的人或者团队去接单。比如说,很多人熟悉的猪八戒,程序员客栈,CODING 码市,开源众包等等平台,相信很多同学也都知道。 如果要第一时间了解某个接单平台发布的第一手悬赏任务,选择爬虫也是非常不错的选择…

websocket接口自动化集成pytest测试框架

01、websocket协议 1、介绍 WebSocket是一种在单个TCP通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455&#xff0c;并由RFC7936补充规范。WebSocket API也被W3C定为标准。 WebSocket使得客户端和服务器之间的数据交换变得更加简单&#xff0c;允许服务端主动向…

【2020-10-26】JS逆向之同盾滑块

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言总结前言 用官网的做个例子吧&#xff1a;https://sec.xiaodun.com/onlineExperience/slidingPuzzle?Rbdjj?sourcetongdun&keywordtongdun 简单分析下这个…

项目整体管理

项目整体管理 1.1 项目整体管理概述 1.项目整体管理知识领域包括识别、确定、结合、统一与协调各项目管理过程组内不同过程与项目管理活动所需进行的各种过程和活动。 2.“整体管理”的基本任务就是为了按照实施组织确定的程序实现项目目标&#xff0c;将项目管理过程组中需要…

CalBioreagents 艾美捷芽孢杆菌多克隆抗体说明书

艾美捷CalBioreagents 芽孢杆菌多克隆抗体英文说明&#xff1a; CATALOG NUMBER: P043 PRODUCT DESCRIPTION: Rabbit anti-Bacillus polyclonal antibody. IMMUNOGEN: Immunogen was prepared from a pool of purified spores from Bacillus subtilis and Bacillus cereus.…

一句话需求,让你去抄人家产品,你遇到了咋办

打工者联盟为了抵抗996、拖欠工资、黑心老板、恶心公司&#xff0c;让我们组成打工者联盟。客观评价自己任职过的公司情况&#xff0c;为其他求职者竖起一座引路的明灯。https://book.employleague.cn/话说&#xff1a;工地有个包工头&#xff0c;找来两个瓦匠要承包工程。 瓦…

ZooKeeper基础

一、概念 架构&#xff1a; Client/ServerEnsemble&#xff08;集群&#xff0c;ZK服务器组&#xff09;&#xff0c;最小节点数为3ZK LeaderaZK Follower ZooKeeper数据模型 znode&#xff1a;用于存储数据&#xff0c;分为持久的&#xff08;default&#xff09;、临时的…

一次服务器非法重启后导致的故障排查记录

作者&#xff1a;JackTian 来源&#xff1a;公众号「杰哥的IT之旅」 ID&#xff1a;Jake_Internet 转载请联系授权&#xff08;微信ID&#xff1a;Hc220088&#xff09; 原文地址&#xff1a;一次服务器非法重启后导致的故障排查记录 大家好&#xff0c;我是杰哥。 前段时间遇…

贪婪算法(Huffman编码)

如果一个算法分阶段的工作&#xff0c;并且在每一个阶段都认为所做的决定是最好的&#xff0c;而不考虑将来的后果&#xff0c;这样的算法就叫做贪婪算法。贪婪算法只考虑当前局部的最优解&#xff0c;而不去考虑全局的情况&#xff0c;如果最终得到的结果是全局最优的&#xf…

麻雀优化CNN超参数用于回归MATLAB

在CNN模型的构建中&#xff0c;涉及到特别多的超参数&#xff0c;比如&#xff1a;学习率、训练次数、batchsize、各个卷积层的卷积核大小与卷积核数量&#xff08;feature map数&#xff09;&#xff0c;全连接层的节点数等。直接选择的话&#xff0c;很难选到一组满意的参数&…

如何理解关系型数据库的常见设计范式?

目录理清基础概念实体属性元组分组函数依赖完全函数依赖部分函数依赖传递函数依赖码全码理解六范式第一范式&#xff08;1NF&#xff09;第二范式&#xff08;2NF&#xff09;第三范式&#xff08;3NF&#xff09;巴斯-科德范式&#xff08;BCNF&#xff0c;Boyce-Codd Normal …

基于STM32的智能家居系统设计

目录 第1章 前言 1 1.1 课题研究的背景和实际意义 1 1.1.1课题背景 1 1.1.2实际意义 1 1.2国内外发展现状、存在问题以及前景 2 1.2.1发展现状 2 1.2.2存在问题 2 1.2.3发展前景 2 1.3 主要工作、内容安排及预期成果 3 1.3.1主要研究工作 3 1.3.2预期成果 3 第2章 总体设计方案…

安卓4.X版本ssl: sslv3 alert handshake failure 握手失败

低版本https握手失败错误查看接口的协议改写代码&#xff08;网络访问采用原生的HttpsURLConnection&#xff09;参考博文&#xff1a;https://www.cnblogs.com/lwbqqyumidi/p/12063489.htmlhttps://blog.csdn.net/qq_16117167/article/details/52621112错误 如图所示&#xf…