版权声明:本文为博主徐松亮的原创作品,未经允许不得转载,多谢支持!
推荐点击此链接:欢迎进入徐松亮博客一站式导航搜索(随时更新)
目录
无键盘鼠标显示器的情况下,首次做完系统,设置wifi、开启SSH
一,本文目的与说明
1,实现树莓派的系统安装。
2,安装必要的工具,使Windows/Ubuntu电脑可以与树莓派进行通讯及二次开发。
3,说本文是教学,是吹牛B的说法,实际上是本人学习过程中怕以后忘了,写的一个操作记录而已。
4,硬件环境:树莓派3B、16G的SD卡、Windows 10/Ubuntu电脑。
5,随着本人深入学习,本文会不定期更新。
二,树莓派简介
关于树莓派是什么,大家自己去查就好。我理解就是个软硬件都开源的超小型计算机,让每个专业软硬件设计师和爱好者都可以玩出新花样新高度,它和arduino都是近些年的伟大开源创新。
三,相关网站
1,官网:https://www.raspberrypi.org/
四,SD卡系统制作(作废,Etcher替代)
1,SD卡格式化:
- 下载并安装SD Card Formatter工具:https://www.sdcard.org/downloads/formatter/eula_windows/
- 准备8G或16G的高速SD卡,我用的是16G,因为树莓派的硬盘与内存都是用的SD卡,所以SD卡的容量与品质都影响树莓派的性能。
- 打开软件,进行格式化,注意一定要选择Overwrite format,我之前选的快速格式化,后面就没有安装成功。
-
2,下载最新版的NOOBS:
- 官网下载网址:http://www.raspberrypi.org/downloads
- 如果官网速度过慢,可以找国内镜像下载。
- 下载后为zip文件,执行解压,解压后的文件拷贝到SD里即可。
五,用Etcher制作系统tf卡
1,介绍:
- 可在windows、linux、macOS下使用
- 只需要3步就可以制作好。
2,下载软件:
-
Etcher官网下载网址:https://www.balena.io/etcher/
-
树莓派系统下载网址:https://shumeipai.nxez.com/download
-
树莓派实验室指导网址:https://shumeipai.nxez.com/2019/04/17/write-pi-sd-card-image-using-etcher-on-windows-linux-mac.html
六,安装必要的工具
1,树莓派开启SSH
目的:为了能基于网络,实现命令行操控树莓派,开启方法有如下几种:
- 开启树莓派SSH方法1:(本人未使用)
- 通过终端指令临时开启。
- sudo /etc/init.d/ssh start
- 开启树莓派SSH方法2:(本人使用方式,用树莓派ZeroW时,无显示键盘鼠标时,唯一设定方法)
- 做好系统后,TF卡呈现为boot文件夹,在boot文件夹下面,建立一个空的文件,命名为ssh,即表明开启ssh服务。
- 开启树莓派SSH方法3:(本人使用方式,原因惊悚:当时本人只有USB鼠标,没有USB键盘,无法打指令。)
- 打开 菜单(Menu) > 首选项(Preferences) > Raspberry Pi Configuration,点击 Interfaces 栏,选择“enable” SSH服务。
- 开启树莓派SSH方法4:(本人未使用)
- 命令:sudo raspi-config,选择:5 Interfacing Options,选择:P2 SSH......按提示设置即可。
2,PC端安装支持SSH的软件
- 用来通过命令行操控树莓派。
- 基于Windows的电脑,常用的支持SSH的终端为PuTTY或是SecureCRT软件,SecureCRT登录举例(PuTTY使用更简单)。
- 基于Ubuntu的电脑,直接在终端使用命令即可,命令为:ssh 用户名@IP,之后按提示操作即可。
3,PC端安装SFTP的软件
- 目的:用来与树莓派相互传输文件。
- 无论是Windows还是Ubuntu,都推荐使用FileZilla软件。
七,VNC(无界面版系统无此功能)
-
介绍
- 开启VNC功能:
sudo
raspi-config。(如果有图形化界面也可以用鼠标操作开启)
- 下载VNC客户端。
- 在客户端输入用户名密码连接即可。
- 开启VNC功能:
-
下载软件
八,本文涉及软件,作者网盘的下载链接
-
树莓派系统安装相关(SD格式化、NOOBS系统):
-
SSH、SFTP通讯工具
九,初级实验
-
重要的事情先说明:
- 习惯用windos编代码的小伙伴请注意,文件编写后,一定要用ue等编辑器另存为UTF-8-无BOM格式,否者在linux解析器会出现各种问题!!!
- 好习惯:在固定的文件夹下建立个人目录,把程序都放在此目录下统一管理,以防止文件找不到。比如本人在路径 /home/pi下建立了xsl文件夹。
- 赋予文件(夹)权限,编写后的文件分为读、写、运行权限,无权限不运行!
- 方法1(新手儿):可以在windos操作sftp可视化修改权限。
- 方法2(老司机):可以通过命令行修改权限,如下命令为赋予文件所有权限(最高权限):sudo chmod 777 文件名 。
-
用python编写程序,实现循环LED亮灭翻转。
- 在xsl文件夹下,新建一个文件,在此起名为1-led-onoff.py
- 编写如下代码(注意格式!!!缩进为TAB键,不能用空格代替,python语法很严格!):
-
另存为UTF-8 无BOM格式的文件,通过SFTP上传到树莓派的xsl文件夹!(如果是直接在树莓派编写的就忽略此步骤啦!
- 按照上述方法赋予文件可执行权限。
- 注意:在lite版系统中,默认没有安装gpiozero,所以需要先手动安装此模块:
- python2:sudo apt install python-gpiozero
- python3:sudo apt install python3-gpiozero
from gpiozero import LED
from time import sleep
led=LED(18)
while True:
led.on()
sleep(1)
led.off()
sleep(1)
-
编写自启动脚本
- 在xsl文件夹新建start.sh文件,并编写如下代码
#!/bin/sh
cd /home/pi/xsl/
sudo python 1-led-onoff.py
-
将自启动脚本加载到启动文件中
- 修改/etc/rc.local文件,在文件中添加运行自启动脚本代码,具体代码是/home/pi/xsl/start.sh start,整体如下:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
# -----xsl----- begin
/home/pi/xsl/start.sh start
# -----xsl----- end
exit 0
-
通过SSH重启设备
-
sudo reboot
-
十,实际操作
-
查看linux版本
- 原因:想接USB触摸屏,但是不知道当前树莓派系统是否支持相关驱动,所以要查一下linux版本。
- 指令:uname -a
- 当前树莓派回应:Linux raspberrypi 5.4.51+ #1333 Mon Aug 10 16:38:02 BST 2020 armv6l GNU/Linux
-
无键盘鼠标显示器的情况下,首次做完系统,设置wifi、开启SSH
- 原因:树莓派-zero-w,首次使用无法进行SSH远程操作。需要设定wifi密码与开启SSH服务。
- 开启SSH服务:做好系统后,TF卡呈现为boot文件夹,在boot文件夹下面,建立一个空的文件,命名为ssh,即表明开启ssh服务。
- 设置wifi:在boot文件夹下面,建立一个文件,命名为wpa_supplicant.conf,写入如下代码:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFi-A"
psk="12345678"
key_mgmt=WPA-PSK
priority=1
}
network={
ssid="WiFi-B"
psk="12345678"
key_mgmt=WPA-PSK
priority=2
scan_ssid=1
}
- ssid:网络的ssid
- psk:密码
- priority:连接优先级,数字越大优先级越高(不可以是负数)
- scan_ssid:连接隐藏WiFi时需要指定该值为1
-
设置键盘
- 原因:树莓派为英国产品,如果不修改此配置,将会出现按键错误或某些字符打不出来的状况。
- 界面方式:操作配置即可,不在此说明。
- 指令方式:通过raspi-config进入配置界面,将键盘设定为美式键盘,键盘排列设置为中国习惯。具体设置步骤不在此详细说明。
-
设置时区
- 原因:树莓派没有RTC,所以它是通过网络自动同步时钟,如果时区设置不对,则时间与当地时间有时差。
- 界面方式操作配置即可,不在此说明。
- 指令方式:通过raspi-config进入配置界面,配置时区和语言即可,具体设置步骤不在此详细说明。
-
apt指向国内镜像资源
- 修改文件:
- /etc/apt/sources.list
- 屏蔽原内容,并增加以下配置:
-
deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main non-free contrib
-
- 删除另外一个处list文件,否则还是会从官方更新。
- 备份:sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
- 删除:sudo rm /etc/apt/sources.list.d/raspi.list
- 同步更新源:
- sudo apt-get update
- 更新升级及安装软件包
- sudo apt-get upgrade
- 修改文件:
十一,缩减开机时间
-
查看各个模块开机时间
- 开机时间总体统计:systemd-analyze
- 开机时间分项统计:systemd-analyze blame
-
关闭Boot过程等待网络连接
- 指令:raspi-config(不同的版本对应的信息或路径可能不同)
- 进入:1 System Options
- 进入:S6 Network at Boot,选择No即可