树莓派学习笔记(一):课程概述与基本配置

什么是嵌入式

嵌入式即嵌入式系统,IEEE (美国电气和电子工程师协会)对其定义是用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统;
国内普遍认同的嵌入式系统定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统;
从应用对象上加以定义来说,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置
事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车,机器人等,都使用嵌入式系统,有些嵌入式系统还包含操作系统

由此可见,在生活中随处可见的许多设备,包括共享交通工具、智能家居、门禁刷卡刷脸设备、甚至超市收银员员手中的扫码枪……都属于嵌入式系统范畴

嵌入式硬件选型

不同类型的嵌入式设备特点不同,适用的场景和能胜任的工作也不同,因此需要根据实际应用场景进行选配。以普通的简单单片机为例,其一般能够处理简单外设的控制与交互,如环境传感器、gps模块、蓝牙和WiFi模块、GSM通信模块、共享单车的电磁锁等,这些外设一般单独供电,单片机只负责与这些外设间进行简单的数据交互。

而当处理的问题变得复杂起来,硬件也就需要升级。比如要利用摄像头模块进行图像识别涉及到大量数学计算,普通的51单片机由于算法慢、清晰度和准确率低而被淘汰,此时可以选择STM32,当需求涉及到利用屏幕实现触摸操作,这种高级的人机交互STM32无法搞定,我们转而选择ARM架构、带操作系统的开发板,比如nanopi、树莓派+Linux,当问题进一步复杂,可能就需要基于安卓,使用高通、华为海思硬件开发……,本课程全部内容就以ARM架构为基础展开。

综上所述,嵌入式硬件选型考虑的因素主要是两方面:

1.可靠性、成本、体积、功耗等的要求
2.功能和需求

树莓派外观和接口简介

如下图所示

树莓派刷机

主体流程:内存卡通过读卡器连接电脑格式化—>将镜像文件写入内存卡—>内存卡插入树莓派,上电开机

至于软件工具,推荐SD Card Formatter+Balen-Etcher Protable进行镜像的烧录

开发板登录与基本配置

上电开机后,有三种方式控制树莓派:

  • 第一种是直接利用树莓派的HDMI接口,连接到外置显示器如电视,图形化操作。但这种方式要求有外接显示屏且自动登录为pi用户,体验不到日志输出,此处就不再详细介绍;
  • 第二种方式是利用串口通信,将树莓派通过USB-TTL转接线连接至电脑,以命令行的方式在串口登录、执行命令。但是这种方式受限于串口的数量。也就是说一个开发板只能用一个串口,不能多开终端。
  • 第三种方式则是通过配置树莓派的网络连接,开启ssh服务,以ssh的方式远程登录开发板,这种方式则更加灵活
串口登录

先来看第二种方式:树莓派的针脚对应功能参照下图,通过TX-RX,RX-TX的方式连接USB-TTL,再将另一头的USB口插入电脑,点开串口通信即可

树莓派40pin脚对照图

不过与前面接触的香橙派不同,树莓派的串口通信默认与蓝牙绑定在一起,因此在连接串口,启动树莓派之前我们需要先将两者解绑,才能够通过串口观察到信息,具体步骤:

  • 取出树莓派内存卡,依然通过读卡器连接至电脑,进入内存卡的根目录

  • 修改文件config.txt,设置dtoverlay选项值为pi3-miniuart-bt,关闭蓝牙,从而解除串口占用

  • 修改文件cmdline.txt,全部替换为内容(由于以后应该还要切换登录方式,所以原内容记得备份):

    1
    dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
  • 如果是2022年4月以后的镜像,还需要添加一个userconf.txt,存储一个默认账号,内容(参考了2022年4月树莓派系统初始用户名&密码):

    1
    pi:$6$/4.VdYgDm7RJ0qM1$FwXCeQgDKkqrOU3RIRuDSKpauAbBvP11msq9X58c8Que2l1Dwq3vdJMgiZlQSbEXGaY5esVHGBNbCxKLVNqZW1
  • 通过USB-TTL线连接至电脑,通过MobaXtermSecureCRT打开串口,上电

  • 上电后启动过程中会打印一大段日志信息,最后提示登录。默认账户:pi,密码raspberry

网络配置与ssh登录

这种方式有两个前提条件:

  • 有网络连接且知道IP地址

    如果是树莓派3系列+官方镜像,很有可能会遇到没有wlan0网卡(有实体但iwconfig检测不到)的情况,此时要么选择加装无线网卡,要么选择有线网络。自带的无线网卡折腾起来实在是太麻烦了

    树莓派使用ifconfig命令,即可看到eth0(有线)或wlan0(无线)的ip地址,确保电脑与树莓派处于同一局域网

  • 开启了ssh server:使用service ssh start即可开启

如果不知道树莓派IP地址:

  • 如果树莓派是连接的路由器(有的光猫连接无法通过dhcp获取IP地址),则进入路由器后台查看联网设备ip

  • 如果没有路由器,也不想通过串口方式连接树莓派

    使用网线直接和电脑相连,通过有线网卡让树莓派获取IP地址,连接后通过arp -a查看1192.168.137.xx的动态类型地址,

    如果没有找到则运行:for /l %i in(1,1,255) do ping -n 1 -w 60 192.168.137 .%i | find“回复">> pingall.txt重新查看(参考自win10通过网线连接树莓派

使用MobaXterm连接过后就可以像使用香橙派一样便捷使用了。关于文件传输,也不用再去用FileZilawinscp折腾。

XRDP远程桌面

前面提过可以通过外接显示器体验桌面版的环境。但如果刷的镜像是包含桌面的,手头又刚好没有多余的显示器,就多少有点浪费了。这种情况下可以使用xrdp(一个微软远程桌面协议—RDP的开源实现),据说是最安全的远程桌面协议,原理和ssh类似,在树莓派端作为server开启服务,windows作为client连接。

  • 在有网络的条件下,树莓派执行apt install xrdp,该命令会自动安装xrdp及其所需要的所有依赖包

  • 在Windows端,打开“远程桌面连接”,输入树莓派的IP地址,在弹出的登录框输入账号密码,即可开始愉快地玩耍

其他

  • vim。官方镜像自带的vi一般版本比较老,使用起来不太方便,建议sudo apt install vim,并在~/.vimrc写入如下内容,易于使用:

    1
    2
    3
    4
    5
    6
    7
    8
    syntax on
    if has('mouse')
    set mouse-=a #允许鼠标右键粘贴
    endif
    set tabstop=4 #设置tab键长度
    set autoindent #自动对齐
    set shiftwidth=4 #自动缩进长度
    set nu #显示行号
  • apt仓库源:

    参考https://blog.csdn.net/zifengzwz/article/details/107922635,注意提前查看好系统发行版本,替换url后的系统名称

  • FileZilla,常用于多端文件共享,由于已经使用了MobaxTerm也很方便所以就没尝试。与树莓派建立连接时注意主机地址前面的协议头sftp://192.168.xx.xx,这样可建立较为稳定可靠的连接

  • ssh开机自启动:由于树莓派开机默认是不启动ssh的,所以不设置的只能先通过串口登入后启动ssh再通过网络登入。这样太麻烦。

    可以在/etc/rc.loca文件中,exit 0之前插入/etc/init.d/ssh start这样就能开机自启动。


树莓派学习笔记(一):课程概述与基本配置
https://dockingyuan.top/2023/01/01/raspberry/1-树莓派学习概述与基本配置/
作者
Yuan Yuan
发布于
2023年1月1日
许可协议