一 使用准备

1.1 硬件条件

首先树莓派的系统是需要安装在SD卡上的,所以购买树莓派时需要同时买一个SD卡。对于Raspberry Pi Zero型号的树莓派,因为其硬件限制,SD卡容量大小不能超出256GB,否则在该型号上系统将无法启动。树莓派官网推荐SD卡容量大于或等于8GB,我使用的SD卡有32GB和64GB的,容量大小也取决于自己要用于什么用途。

我使用的树莓派还是最早期的Raspberry Pi 2 Model B V1.1,因为最新是Raspberry Pi 4了,淘宝上看了价格在700+,因为近来的缺芯以及树莓派官方的产能不足,有些树莓派的价格据说被炒的更高,这个Raspberry Pi 2 Model B是树莓派刚火不久就入手的(还是2015年),当时价格是300多。

1.2 系统安装

树莓派官网推荐使用“Raspberry Pi Imager”来安装树莓派操作系统到SD卡上,这个安装过程需要有一台运行Windows、或macOS或Linux(也可以是运行Linux的树莓派)的电脑,同时电脑需要有读卡器。

“Raspberry Pi Imager”是树莓派官方开发的图形化SD卡写入工具(支持Mac OS, Ubuntu 18.04和Windows),这个工具会自动下载树莓派操作系统镜像并写入到SD卡。

如果想在另一个树莓派Linux系统上使用“Raspberry Pi Imager”,可以:

  • 在终端中输入 sudo apt install rpi-imager命令,来安装“Raspberry Pi Imager”工具
  • 将插入了SD卡的读卡器连接到树莓派
  • 打开“Raspberry Pi Imager”选择对应的OS系统
  • 选择需要写入的SD卡
  • 检查下自己的选择,点击“Write”按钮开始写入

以前老的树莓派系统,有默认的用户名pi和默认密码raspberry,新的Raspberry Pi OS不再支持这个默认用户名和密码了(因为安全考虑)。

1.3 回顾以前的系统安装

相比几年前初次使用树莓派安装系统时,现在树莓派官网的工具做的体验好了许多了,之前安装系统的步骤大概是:

  1. 通过下载轻量版的NOOBS,然后将其写入SD卡根目录,选择需要的Raspberry pi系统类型进行网络安装,但是这种方式速度也很慢,特别是网络不稳定的情况下,因此可以下载带Raspbian系统的NOOBS(将近1G)
  2. 然后需要用image烧写工具将os的image文件烧写到SD卡。早前是在Windows系统,下载Win32diskimager工具,将Win32diskimager以管理员身份运行,选择下载的raspbian系统镜像,写入到SD卡:

  3. 接下来将SD卡插入到树莓派开发板上,上电启动即可。总体的安装还是不如现在便捷的。

二 树莓派系统更新

Raspberry Pi操作系统是基于Debian,针对树莓派硬件进行了优化的版本,该系统有超过35000个可用包(随着时间推移应当还会越来越多),根据我自己的使用体验来看,确实基本的Linux系统功能都具备的,甚至还在树莓派系统上安装了相关的嵌入式开发环境,来开发一些嵌入式的工程项目。

树莓派官方推荐保持树莓派系统最新,其原因主要是两个方面,一个是安全性,最新的系统及时修复了已经公布的漏洞,旧的系统可能因为未修复的漏洞而受到外部攻击。另一个方面是最新的软件bug的修复,以避免一些已知的且修复了的问题影响自己的开发和使用。

而树莓派系统更新的方法如下。

2.1 包管理器安装-APT

APT是Debian, Ubuntu等Linux系统的软件包管理工具,其软件列表保存在树莓派的/etc/apt/sources.list下,通过APT更新树莓派系统操作方法如下:

# 首先更新软件包列表
sudo apt update# 然后将已安装的软件都更新到最新版本,Raspberry Pi OS的内核也会更新
sudo apt full-upgrade# 额外的,如果担心软件更新会导致SD卡存储空间爆掉,可以通过如下命令看一下SD卡的剩余空间
df -h# 如下是一些额外的操作,可根据实际情况参考
sudo apt clean      # 释放一些旧版本的软件包,有点类似手机的垃圾清理吧
apt-cache search    # 搜索指定的存档软件包
apt-cache show      # 查看软件包的详情# 如下是软件包的安装
sudo apt install xxx    # 安装某个软件包
sudo apt remove xxx     # 卸载某个软件包
sudo apt purge xxx      # 完整卸载某个软件包,并删除相关配置文件

2.2 rpi-update工具

rpi-update用于更新树莓派系统内核和VideoCore到预发布的版本,感觉是适合用来体验最新版系统的,对于开发使用的稳定性而言,并不推荐。

# 如下是更新的操作命令
sudo rpi-update
sudo reboot# 由于是预览版,很可能有不稳定因素,因此树莓派官方提供了回退命令
sudo apt-get update
sudo apt install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-bootloader raspberrypi-kernel

三 40引脚的排针

树莓派2开始就支持了此40个GPIO引脚的排针,这对于软硬结合的项目开发而言非常有用,可以外接一些输入采集模块或设备,也可以用来驱动一些带有动作的执行器,当然还可以进行组合,来实现自己的定制化的高级自动化装置。如下是树莓派开发板上40个GPIO引脚的对应功能,另外安装了完整版树莓派系统的可以在终端输入 pinout 命令来查看GPIO的信息:

另外,如下是对40个引脚的附加说明,其中的黄色GPIO,可以通过软件配置设置为输入或输出的功能,非黄色的其他引脚是不可配置的:

  • GPIO配置为输出时,输出电平可设置3.3V高电平和0V地
  • GPIO配置为输入时,GPIO2和GPIO3会固定配置为上拉电阻,其余的GPIO可软件配置上拉电阻或下拉电阻
  • 部分GPIO可选配置为其他外设接口:
    • PWM:
    • 软件PWM的话所有GPIO都支持,配置为GPIO输出然后调节输出频率和高电平的占空比
    • 而硬件PWM只有 GPIO12, GPIO13, GPIO18, GPIO19 四个可被配置
    • SPI
      • SPI0: MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)
      • SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
    • I2C
      • Data: (GPIO2); Clock (GPIO3)
      • EEPROM Data: (GPIO0); EEPROM Clock (GPIO1)
    • Serial串口
      • TX (GPIO14); RX (GPIO15)

四 树莓派上手使用

4.1 raspi-config配置工具

通过raspi-config配置工具,可以修改树莓派系统的一些设置,在终端登录到树莓派系统后,使用 sudo raspi-config 即可进入:

4.2 通过串口登录树莓派系统

用一个USB转串口的小板,通过PC连接到树莓派的 TX (GPIO14); RX (GPIO15)和GND,上面新安装的Raspberry Pi OS默认是开启了串口功能的,这样在PC打开串口助手工具,波特率设置为115200,启动树莓派系统后,就看到如下输出了:

输入前面安装系统时设置的用户名pi和对应的密码,就能通过串口终端登录树莓派啦。但是突然发现自己的树莓派2B是没有Wi-Fi网卡的,所以要使用SSH登录树莓派的话,就得给树莓派2B外接一个USB Wi-Fi网卡,或者将树莓派2B通过网线连接到路由器,才能使树莓派联网了。目前基本功能通过串口终端登录到树莓派即可。

4.3 通过SSH工具登录树莓派系统

SSH 是建立在应用层和传输层基础上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

通过SSH工具登录树莓派系统,首先需要能够获取到树莓派开发板的IP地址,也就是需要将树莓派先联网才行(不论是局域网还是互联网都行)。

树莓派可通过网线连接路由器的LAN口(当然用Wi-Fi连路由器更方便,奈何我的树莓派2B是没有Wi-Fi网卡的),此时路由器会通过DHCP动态分配IP地址,此时可通过前面的串口终端方式登录树莓派,敲入ifconfig命令查看树莓派的IP地址,也可以将DHCP的方式改为static静态IP地址,静态IP地址要落在路由器的地址段之内,而且不能跟目前连接到路由器的其他网络设备IP冲突,这个就需要通过路由器的设置页面看已经连接的网络设备的IP列表。

输入 ifconfig 命令可得到类似下图的输出:

上图只是树莓派联网信息的一个示例,实际上将树莓派通过网口或Wi-Fi无线连接到路由器后,一般可以看到eth0或wlan0的 inet addr 是一个 “192.168.x.x” 类似的地址(当然这取决于路由器的网关地址的配置),这个地址就是树莓派的IP地址了。

接下来就是在自己的PC(可以是MacOS, Linux,或Windows系统电脑),通过使用SSH工具来登录树莓派系统,并与之交互了。MacOS和Linux终端一般自带了SSH功能,在终端中通过ssh相应的命令即可访问树莓派系统。这里偏向介绍下除了终端外的其他ssh工具登录树莓派的方式。如下简单列几种自己使用过的:

ssh工具

支持的系统平台

附加功能

putty

Windows, MacOS(实际未使用)

串口工具等,体验较好

teraterm

Windows

串口工具等,体验很好

moba Xterm

Windows

文件同步等,体验很好

secureCRT

Windows, MacOS

串口工具等,体验很好

VS Code

Windows, MacOS, Linux

插件方式,代码编辑,功能强大,remote ssh只是其中一个插件能力

所以Windows上的ssh工具感觉更丰富一些,如果主要考虑跨平台的话,VS Code确实是个不错的选择,特别是开发时也需要用VS Code作为代码编辑器时。如下以Windows的putty为例简要说明如何在自己Windows电脑上通过ssh登录树莓派系统。

  1. 通过Putty这个工具非常简单,从Putty Download这里下载一个Window的版本exe文件
  2. 然后双击打开,填入IP地址和选择SSH,点击Open即可:

  3. 会弹出是否缓存该连接的信息,点yes,然后就会进入登录状态,输入username和password就可以正式登入树莓派系统使用了:

五 写在最后

经过以上的快速上手的步骤,就拥有了一台自己的个人Linux电脑了,相比以前的台式Linux主机,树莓派Linux电脑小巧灵活,移动方便,同时成本也不高。这个树莓派2B的Linux电脑配置为双核Cortex-A7,1G内存,64G存储空间(64G的SD卡),个人使用的性能基本满足,和云平台上租一个普通的ECS服务器性能差不多,但是价格更有优势,还能自己接入外设搭建一些更有意思的方案。

当然在MacOS和Windows电脑上通过虚拟机也可以虚拟一个差不多性能的Linux系统,但是虚拟机中运行需要自己电脑保持开机才行,而树莓派则只要上电就能一直运行着,所以对于有跨平台开发,多系统使用需求的而言,用树莓派变身为自己的个人Linux电脑是个不错的选择。

最后,更多原创干货可搜索关注“技塑未来”公众号。

参考资料

《树莓派官方开发文档》

树莓派之快速上手-变身个人Linux电脑相关推荐

  1. 【树莓派】快速上手Raspberry Pi 4B——组装硬件烧录系统

    目录 一.树莓派简介 二.购置硬件 必备硬件 推荐硬件 主板 电源 Micro SD卡 显示屏 外壳.风扇.散热片 三.烧录系统 Raspbian Windows 烧录后操作 启动分区精简(可选) 超 ...

  2. RK3399快速上手 | 02-rockchip rk3399 linux sdk的使用(编译内核、编译uboot)

    更新时间 更新内容 2022-09-15 增加内核编译方法 2022-10-21 增加uboot编译方法和sdk开发版配置链路分析 一.sdk区别 瑞芯微提供了两套sdk,一套是通过官方git仓库释放 ...

  3. 大数据基石-Hadoop3.x学习教程-Hadoop产品了解与快速上手

    大数据基石-Hadoop Hadoop3.x版本全系列教程 === 楼兰 === 文章目录 一.关于Hadoop 1.关于Hadoop产品 2.Hadoop课程内容 3.Hadoop的主要组件 二.H ...

  4. 新手学习Linux之快速上手分析

    一.起步 首先,应该为自己创造一个学习linux的环境--在电脑上装一个linux或unix 问题1:版本的选择 北美用redhat,欧洲用SuSE,桌面mandrake较多,而debian是技术最先 ...

  5. Linux工具快速上手,Linux很实用命令

    Linux工具快速上手 前言 Linux下有很多命令行工具供我们使用,每个工具总是提供了大量参数供我们选择: 实际工作中,我们用到的工具,最常用的总是那么几个参数组合: 为此,我写了这本书相对实用的书 ...

  6. linux windows文件 编码_Mac, Windows和Linux电脑之间如何快速传输文件

    Mac, Windows和Linux电脑之间如何快速传输文件 本文介绍的方法主要适用于在家庭环境中的多台电脑之间快速传输文件,比如家中有三台电脑分别是Windows, Mac和Linux系统,如果传输 ...

  7. 快速上手Linux核心命令(一):核心命令简介

    Linux核心命令系列文章目录 快速上手Linux核心命令(一):核心命令简介 快速上手Linux核心命令(二):关机.重启 快速上手Linux核心命令(三):文件和目录操作命令 快速上手Linux核 ...

  8. linux中流设备_[快速上手Linux设备驱动]之块设备驱动流程详解一

    [快速上手Linux设备驱动]之块设备驱动流程详解一 walfred已经在[快速上手Linux设备驱动]之我看字符设备驱动一 文中详细讲解了linux下字符设备驱动,并紧接着用四篇文章描述了Linux ...

  9. 计算机入门新人必学,电脑新手入门教程 让你快速上手

    随着互联网时代的快速发展,电脑发展也相当的成熟,新手学电脑可以快速入门,是每个新手梦寐以求的事情,但是不会所有人都可以快速上手,最近很多用户咨询我关于零基础学电脑先学什么,或者是电脑新手入门必学什么东 ...

最新文章

  1. POJ - 3186 Treats for the Cows DP
  2. 可伸缩系统的设计模式(译)
  3. shellcode模板(使用hash获取API)
  4. java.io.eof_java.io.IOException: java.io.EOFException: Unexpected end of input stream错误
  5. JAVA:线程总结及多线程实现的两种方法
  6. html超链接去虾线,挑虾线别只会用牙签了,渔民都是这样做的,1秒处理一个,超方便...
  7. jogbuild-common.xml:17: Cannot find /home/tsit/tio-software/jogamp/gluegen/make/gluegen-cpptasks.xml
  8. 因用了NeatUpload大文件上传控件而导致Nonfile portion 4194304 bytes错误的解决方法...
  9. Swipe 移动端滑动插件使用详解
  10. flink设置登录密码
  11. 音视频的同步原理——老文章,比较清晰
  12. SQL获取某月第一天或最后一天
  13. HTML5介绍,HTML5语义化标签
  14. 用ps帧动画整个放置身份证示意图
  15. Jason数据的访问
  16. idea-debugger调试模式
  17. CMWAP和CMNET终极大比较
  18. 企业分别要交哪些税?有什么优惠?
  19. 一招教你看懂Netty!java笔试常见的逻辑题
  20. fitnesse学习历程1

热门文章

  1. 宝骏530中控屏怎么安装软件_宝骏530中控屏幕多媒体功能解析
  2. uml 菱形_uml类图符号介绍 | 学步园
  3. 高清视频传输系统保障城市整体监控传输网络安全
  4. Android中的权限-中英对照
  5. 怎么把音乐的伴奏提取出来?分享几个音乐伴奏提取的方法!
  6. sts3 spring-tool-suite-3.9.10.RELEASE-e4.13.0-win32-x86_64 百度网盘下载 + sts4百度网盘下载链接
  7. u盘使用记录、痕迹删除技巧方法
  8. 08_04基于手写数据集_mat保存模型参数
  9. numpy序列预处理dna序列_【陪你学生信】七、在数据库中检索相似的序列
  10. 「数据架构」实体关系模型溯源