树莓派学习记录

一,型号

第一代Raspberry Pi 1 Model B

第一代升级版 Raspberry Pi 1 B+

第二代  Rasberry Pi 2 Model B

第三代及升级版 Rasberry Pi 3 Model B/B+

第四代  Rasberry Pi 4 Model B

Model A版

 比B版便宜

Zero 版

 售价更便宜

总结 

二,树莓派接口

 如下图4B树莓派所示,左侧最上方的两个接口为USB接口,最左侧最下方的比较大的接口为以太网接口(配备了两个信号灯来表示信号的状态)。蓝圈所示为耳机接口,让我们的音视频得以输出。在它的右边有一个摄像机模块的排线接口。黄圈所示为两个HDMI接口,可以将视频进行输出,支持4K视频输出,红圈所示为typec电源接口。板子下方有一排GPIO连接器(40针),可以方便链接各种各样的传感器,在其左边有四个小的针脚,它是支持POE供电的

 SD卡插在树莓派的背面,如下图所示

三,开机启动

1,外设准备

1,需要一个电源供电。下图所示充电器有一个开关,这可以使我们不需要对书没票的电源插口进行拔插,有利于延长树莓派使用寿命

 

2,SD卡和读卡器。用来存储树莓派的系统,建议8G以上 ,读卡器建议用高速的,这会直接影响树莓派的运行速度

3,带有USB接口的鼠标和键盘,显示屏(用HDMI线与树莓派之间进行连接)

2,烧录

1,使用官方的Rasberry Pi Imager。选择好系统烧录即可

2,自定义安装包,自由选择系统,详细的设置调整。使用如下烧录工具

3,连接外设

系统烧录完成之后就可以开始连接我们所有的外设 ,打开电源即可在显示屏上看到系统。

接线顺序:1,选连接显示屏HDMI到树莓派接口。2,连接电源线并通电

4,常见问题

  • 树莓派一直重启
  • 原因:电源供电问题。

解决方法:电源必须满足两个条件:1,电源功率不能低于5V/3A.2,保证电源输出稳定性。两个条件无法保证就会出现各种各样的问题,重启只是问题的一种

  • 关机问题

如果把树莓派电源开关给拔掉,这样会对树莓派系统造成损失

正确关机方法:1,使用终端命令

在终端中输入sudo poweroff或sudo shutdown -h now(将-h改为-r可以用来重启。将now改为+2表示树莓派将在两分钟后关机)回车即可

2,使用桌面图标:点击桌面左上角的树莓派标志,如下图。会弹出提示窗口,选择关机即可,如下图

 

四,无显示屏连接,网络远程连接

1,有线连接

进行以下四步。连线,即将网线一端连接树莓派,另外一端插在笔记本上即可。共享,是将笔记本的网络共享给树莓派。查找,查找树莓派IP地址。连接,利用树莓派IP地址连接树莓派

共享:

打开Windows设置,选择网络,在更改网络设置中找到更改适配器选项,然后选择第一个无线网,双击后打开属性,在上方切换到共享,勾选允许其他网络用户通过此计算机的Internet连接来连接

查找:

打开Windows的CMD窗口 ,输入命令arp -a,回车会出现好多地址,为了找到树莓派的IP地址,在刚刚打开的网络设置中右键以太网选择属性,找到下图鼠标指针所在处的网络协议,双击

 

 

双击后,可以看到以下界面,将IP地址与之前的众多IP地址进行对照,可以看到有两个是符合的

 

192.168.137.255是广播IP,所以剩下的192.168.137.106就是树莓派地址,保险起见可以在CMD中ping一下看看通不通,如下图所示是ping的通的,所以这个IP地址就是树莓派IP地址

连接:

连接到树莓派的工具有很多,其中一种是putty,一种基于SSH协议的连接工具 

所以需要我们开启树莓派的SSH接口。取出树莓派的系统卡,在笔记本上打开,直接在其中新建一个文本文档 ,将其名称修改为ssh(小写),去掉后缀.txt,完成之后就可以将系统卡装回树莓派开机,这时树莓派就打开了SSH接口。

打开putty界面,输入我们查到的树莓派IP地址,点击打开,会出现一个登陆选项,如下图

用户名输入pi,密码输入raspberry,回车后即可打开树莓派 

在下方输入命令即可控制树莓派。所以putty只支持命令行操作 

2,无线连接 

通过笔记本热点共享或其他无线网络,使笔记本和树莓派之间进行无线网络数据和信息传递

树莓派连接上笔记本共享的无线网络:

首先,取出树莓派的系统卡,插入到电脑上,电脑会自动弹出SD卡之中的内容(弹出窗口中取消格式化),以下界面即为SDK文件的内容。在此文件夹中新建一个文本文件,用记事本打开,在此文件中写入要给树莓派配置的信息,如下图代码

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="无线网名字"
        psk="密码"
        priority=10
}

 写入内容后将文件名改为wpa_supplicant.conf.这样网络配置就完成了

查找树莓派IP地址:

笔记本开启热点之后,连接该热点的设备,能够直接看到IP地址

连接树莓派:

(1)利用软件putty 

有了IP地址之后,我们就可以使用远程工具putty来连接和操作树莓派了,也可以使用win10自带的远程桌面连接

(2)利用远程桌面连接

使用远程桌面连接首先要给树莓派安装对应工具xrdp(利用putty连接上树莓派,利用命令行来给树莓派安装软件,命令行输入sudo apt-get install xrdp),然后给利用远程桌面连接输入树莓派IP地址连接即可

 

然后输入树莓派用户名和密码,如下 

 然后就可以见到树莓派系统了

(3)利用VCN连接

 VNC是一个图形桌面共享系统。一台计算机或移动设备(运行VNC查看器)远程控制另一台计算机(运行VNC服务器)的桌面。

VNC查看器将键盘和鼠标的操作传输到VNC服务器,并接收VNC服务器返回的屏幕更新

在这里,树莓派就是VNC服务器,笔记本电脑就是VNC查看器。首先在电脑上安装VNC查看器,再在树莓派上安装VNC服务器,最后通过树莓派IP地址使两者建立连接

1,VNC服务器建立

树莓派是自带VNC服务器的,只是在默认情况下是关闭的。

打开方式:可以通过系统桌面来打开。找到系统桌面左上方树莓派标志,选择首选项中的Raspberry Pi Configuration,打开它。

然后将第三行VNC选择为Enable即可 

 

 第二种可以通过命令行(树莓派桌面命令行或者通过putty打开命令行都是可以的)

输入终端命令sudo raspi-config,回车即可看到以下界面,通过键盘移动到第三个选项回车

 再选择第三个选项回车

再选择是回车

2,VNC查看器建立

在桌面上打开网址输入realvnc.com .进入官网当中选择VNC Connect

然后选择Download中的VNC Viewer 

 

然后下载安装包即可 

 

3,树莓派和笔记本进行连接

打开树莓派系统的终端窗口,输入命令行vncserver,直接回车VNC就运行了,在最后一行会给一个IP地址,将其复制,如下图

在刚刚安装的VNC Viewer上输入刚才复制的IP地址,回车

输入树莓派账户和密码

 3,配置静态IP地址

静态IP地址,即不会发生变化的IP地址,这样就不用每次都去查看了

(1)查找默认网关

在笔记本cmd中输入命令ipconfig后回车,最后一行就是我们需要的默认网关

(2)分配给树莓派ip地址

查找路由器分配给树莓派的IP地址,直接用此地址作为树莓派静态IP地址

树莓派系统桌面右上角有WLAN图标将鼠标放在上面就可以看到IP地址

 

也可以使用命令行查看,输入hostname -I即可查看

(3)修改树莓派DHCP配置文件

在终端窗口中输入命令sudo nano /etc/dhcpcd.conf ,回车后在末尾添加上配置信息:

interface wlan0
static ip_address=你的ip地址/24
static routers=你的默认网关
static domain_name_servers=你的默认网关

 

粘贴完成按ctrl+s写入,再按ctrl+x退出 ,最后再重启一下树莓派就配置好了静态IP地址

五,文件传输

1,文件传输方法

(1)U盘传输

U盘传输较为快捷,简单,而且电脑和树莓派均有U盘接口。但是需要U盘且树莓派和电脑都在附近

(2)VNC传输

目前VNC Viewer(VNC查看器)自带文件传输功能。VNC连接后就可以直接传输。树莓派需要开启VNCserver,个人电脑需要安装VNCviewer

将树莓派VNCServer设置为开机自启:打开树莓派系统中的终端窗口,输入命令sudo nano /etc/init.d/vncserver,然后复制粘贴以下配置文件。粘贴复制之后ctrl+s保存,再ctrl+x退出

#!/bin/sh
export USER='pi'

eval cd~$USER

case "$1" in
start)
#启动命令行。此处自定义分辨率、控制台号码或其它参数。
su $USER -c '/usr/bin/vncserver -depth 24 -geometry 1920x1080:1'
echo "Starting VNCServer for $USER"
;;
stop)
su $USER -c '/usr/bin/vncserver -kill:1'
echo "VNCServer stopped"
;;
*)
echo "Usage: /etc/init.d/vncserver {start/stop}"
exit 1
;;
esac
exit 0

然后将这个文件加上权限,输入命令:sudo chmod 755 /etc/init.d/vncserver,然后回车

再输入命令设置为开机自启,输入命令:sudo update-rc.d vncserver defaults

最后输入命令sudo reboot重启树莓派

 

从电脑传输文件到树莓派:

树莓派重启之后,在VNC Viewer中输入树莓派地址(在地质后加一个:1) ,然后回车连接树莓派

 在树莓派桌面系统中,将鼠标移到上方会出现7个图标,如下图,点击第四个图标出现如下框,点击框左下角的Send Files

 就可以浏览电脑文件了,双击所要传输的文件就可以传输到树莓派桌面上

从树莓派传输文件到电脑:

 点击右上角指针所在位置的图标,会出现以下框,再点击右上角菜单

选择File Transfer 

然后点击左下角Send Files 

找到想要传输的文件,双击即可传输到电脑上 

 

(3)FTP文件传输协议

 

 

六,配置编译环境(Python)

官方系统已经内嵌了python2和python3,所以在使用时只需要注意使用的python版本

在树莓派系统终端窗口中输入python可以进入带python2版本,输入python3可以进入到python3版本。

exit()为退出命令

pip install ...:给python2安装python库。比如pip install pandas来安装python2的pandas库

pip3 install ...: 给python3安装python库。比如pip3 install pandas来安装python3的pandas库

当然,树莓派系统自带像pycharm一样的IDE,可以像下图一样打开。需要注意Thonny仅仅支持Python3.5以上的版本

设置中文环境

七,Linux系统操作命令和编辑器的使用

 

  • sudo:大部分命令用普通用户pi就可以使用。但有些命令需要高级权限才能打开

 

  • pwd:显示当前所在目录
  • cd+文件路径:切换到指定文件目录
  • cd~:切换到主目录(/home/pi),~也可以省略不写
  • cd ..:切换到上一级目录
  • ls:展示当前目录下所有的文件和文件夹(不包含隐藏文件)
  • ls -a: 展示当前目录下所有的文件和文件夹(包含隐藏文件)
  • mkdir +目录名:创建目录
  • touch +文件名:创建文件
  • cat +文件名:查看文件所有内容
  • more +文件名:查看文件所有内容
  • head +文件名:查看文件前10行
  • tail +文件名:查看文件后10行
  • rm +文件名:删除文件
  • rm -r +目录名:删除目录
  • mv +文件名1 +文件名2:如果文件名2不存在,则将文件名1改为文件名2.如果存在,则文件1覆盖掉原文件2,并更名为文件名2
  • mv +文件名 +目录名:将文件移动到目录
  • nano +文件名:使用nano编辑器编辑文件。如果文件不存在,则创建文件。以下为nano编辑器常用快捷键

 在终端输入nano t.txt即可进入以下界面来编辑t.txt文件

  • vi +文件名: 使用vi编辑器编辑文件。如果文件不存在,则创建文件。以下即为进入了vi的命令模式。想要写入内容需要切换到插入模式

vi有三种模式:

插入模式下按esc可切换到命令模式

 八,系统备份与还原

树莓派系统备份就是对root分区和boot分区这两个分区进行系统备份

系统备份方式共有以下两种

 

1,全卡备份

全卡备份需要准备树莓派SD卡1,一张容量不小于SD卡1的SD卡2,读卡器

全卡备份方式共有以下三种

这里讲方式二

首先打开树莓派系统桌面,找一张新的系统卡插入到树莓派中 ,会弹出一个窗口,输入密码后确定

点击取消 

 

就可以发现新的SD卡就在桌面显示了 

 

点击左上角树莓图标,按下图方式找到SD Card Copier

出现以下界面 

 

From选择从系统卡,To选择刚才的新卡 ,点击Start

 

选择Yes 

 

出现以下界面说明复制完成

 

2,压缩备份

准备:树莓派SD1卡,空的SD2卡,读卡器 

在树莓派终端窗口中输入df -h,查看一下系统卡当前的剩余空间,查看是否能够存放备份文件,备份文件大小为:已用空间X1.2.如果剩余空间足够存放备份文件,那就直接备份文件存放在系统卡上,如果剩余空间不足够存放备份文件,那就需要另外空的SD卡,将备份文件存储在新SD卡上

然后执行以下第一行代码

然后执行第二行代码

sudo ./back.sh +备份镜像名字(可以任意取名,但必须以.img结尾) 

 

备份完成之后可以输入ls看看当前目录下是否有刚刚备份的文件

 

3,系统还原(使用备份系统)

如果使用的是全卡备份的方式二和三,那么就可以把备份之后的SD卡直接插入到树莓派中直接使用。如果使用的是全卡备份的方式一或者是压缩备份,那么就需要把备份后生成的系统镜像重新烧录到SD卡中

九,GPIO管脚

 电路板边缘的GPIO引脚。新版具有40针GPIO接头,老版本有26针接头

1,引脚分类

2,引脚编码方式

树莓派引脚编码方式共有三种,同一个引脚在不同编码方式上的代号是不同的

 

(1)板载编码

这种编码方式是按照树莓派主板上引脚排针编号,分别对应1~40号引脚。能够直接看见。注意查看引脚排列顺序,数编号时按下图顺序来数

 (2)BCM编码

这种方式是参考BroadcomSOC的通道编号侧重CPU寄存器。是Python程序中常用的编码方式,如果做项目使用的是Python语言,就要注意自己的引脚编码是不是BCM编码

(3)WiringPi编码

把扩展GPIO端口从0开始编码。使用C语言控制

 

(4)在终端窗口查看代码

在树莓派终端窗口输入 pinout可以查看板载编码。输入gpio readall可以查看全部编码

3,控制引脚

(1)通过终端命令

先进入GPIO目录:cd /sys/class/gpio. 然后ls查看目录内容,出现下图内容

然后输入:echo 引脚编码(BCM编码)  > export。打开编码表找到我们使用引脚的BCM编码,然后将上述命令的引脚编码修改即可

回车之后再来查看一下目录,而可以看到多了一个引脚目录,使用cd gpio26进入到该目录下

进入之后就可以使用终端命令来控制引脚了 

输入第一行代码设置输出方向: echo out > direction

然后输入第二行代码:echo 1 > value(输出高电平)

                                     echo 0 > value(输出低电平)

使用完成之后需要注销GPIO引脚:cd ..

                                                        echo 26 > unexport

  • 也可以直接使用gpio命令控制:

如下图所示是对编号为4(BCM编码)的引脚进行控制

对照编码图可以看到,如果我们连接了7号引脚,则它对应的BCM编码标号为4,所以以上对板载编码的7号引脚,BCM编码的4号引脚进行操作 

(2) 通过Python

首先cd Desktop/切换到桌面目录,使用nano编辑器直接新建python文件,如下

 然后在编辑器内输入以下代码

然后ctrl+s保存,再ctrl+x退出

然后输入python3 led.py运行写好的代码即可 

(3)通过C语言

创建led.c文件

运行文件先输入命令:gcc -o led led.c        -lwiringPi 

然后输入:sudo ./led再回车就运行了

十,串口通讯

1,树莓派串口介绍

 

 

2,利用串口通讯

需要4个步骤:

 (1)安装

主要目的就是将硬件串口设置为主串口(只有主串口可以使用引脚通讯) 

 首先在终端输入ls /dev -al查看串口打开情况,可以发现主串口没有打开,ttyAMA0被分配到了辅助串口serial1,这表示mini串口没有显示

打开mini串口。在Raspberry Pi Configuration中

 

将Serial Port勾选为Enable。将Serial Console 勾选为Disable 

 

它会提示我们重启树莓派,选择Yes 

重启后再 ls /dev -al查看串口打开情况,就可以看到mini串口(ttyS0)打开了。但是硬件串口仍然是辅助串口,所以需要将硬件串口设置为主串口

 输入命令sudo nano /bppt/config.txt回车

在这个文件末尾添加两行代码

dtoverlay=pi3-miniuart-bt

force_turbo=1

ctrl+s保存,ctrl+x退出即可

再输入sudo reboot重启树莓派

(2)安装串口调试工具

在树莓派上安装minicom串口助手

输入命令sudo apt-get install minicom

在电脑上安装串口调试工具XCOM

(3) 连接树莓派和电脑

 三根引脚分别连接GND,TXD,RXD

 

连接完成后回到树莓派终端,输入命令运行minicom:minicom -D /dev/ttyAMA0 -b 9600  

 电脑串口波特率设置为9600就可以用电脑给树莓派发送数据了

 可以看到数据发送和接收了 

退出minicom:先按下ctrl+a再按下z可以弹出菜单,再按下x,选择Yes即可退出 

十一,实例1:交通信号灯

数字传感器和模拟传感器:数字传感器是数字量,模拟传感器是模拟量。数字量是离散的,比如一个灯泡的开关,它只有开和关两个状态。模拟量是连续的,比如可调电灯,它可以从暗调到亮,这个过程是连续的。

此次实例所用的LED传感器就是一个数字传感器。这个传感器有3个引脚。通常来说,LED灯只需要一个电源和一个接地通过高低电平就可以控制LED灯亮与灭,实际上这样是有安全隐患的,当输出高电平时,接收信号这个引脚既接收了高电平信号,又作为一个供电引脚,那这样就会造成传感器引脚负荷,所以进行了改善,改为三个引脚

一个LED连线方式

代码: 

 

 

十二,实例2:直流电机与PWM

python控制PWM

PWM控制直流电机

 

十三,实例3:超声波传感器 

连线方式 

 

工作原理

 

距离=高电平时间*声速/2 

程序实现:分为4步

  • 第一步:给传感器发送触发信号

GPIO.output(TRIG,GPIO.HIGH)#给TRIG引脚高电平

  • 第二步:等待回波信号

传感器一旦接收到回波信号,ECHO引脚会马上输出高电平。通过循环来检测ECHO引脚

while not GPIO.input(ECHO):

        pass

  • 第三步:获取回响信号的时长

while not GPIO.input(ECHO):

        pass

t1=time.time()

while GPIO.input(ECHO):

        pass

t2=time.time()

  • 第四步:根据公式计算距离 

(t2-t1)*340/2

 

  • 28
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值