Raspberry Pi 3B学习笔记

最近入手了一个树莓派3B和一些传感器配件等等,还买了《树莓派开发实战(第2版)》边学边玩,前段时间折腾了很久的系统安装配置,期间还因为错误修改网络配置文件导致无法连接上,重刷了几次系统,感觉好像回到了大学埋头折腾Linux的状态,以下是初次配置树莓派3B的笔记,写给容易健忘未来的我和其他刚入手的朋友。

以下内容都是亲测所得:

1.官网下载最新的RASPBIAN STRETCH WITH DESKTOP系统,解压得到img镜像文件。

2.下载软件Win32DiskManager,插入U盘将系统镜像写入(Windows系统),macOS可以参考官方文档:https://www.raspberrypi.org/documentation/installation/installing-images/mac.md

3.在SD卡根目录新建一个无后缀文件:ssh

4.将SD卡插入树莓派,用一条网线连接树莓派和路由器,插上树莓派电源,开机,树莓派红灯绿灯常亮表示系统安装成功,若只有红灯常亮,表示系统未正常安装。

5.通过路由器找到树莓派IP地址,在终端输入命令:ssh pi@192.168.xxx.xxx(输入实际IP地址),其中pi为用户名,初始密码为:raspberry。

如果出现以下错误:

myMacBook:~ xxx$ ssh pi@192.168.3.2
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:vtc8llqK4l3CixK3WNPluA9b8zuve9pL2c8h2GP0ynQ.
Please contact your system administrator.
Add correct host key in /Users/AA/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/AA/.ssh/known_hosts:5
ECDSA host key for 192.168.3.2 has changed and you have requested strict checking.
Host key verification failed.

将~/.ssh/known_hosts文件中对应的SSH IP公钥信息删除即可.

6.通过passwd pi命令修改树莓派初始密码。

7.备份原镜像定义文件:

sudo cp /etc/apt/source.list /etc/apt/source.list.old

8.修改镜像定义文件:

sudo nano /etc/apt/sources.list

将文件中的内容删除,修改为阿里云镜像地址:

deb http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib

按Ctrl + X(macOS为Control + X)保存,输入Y按回车即可。

9.更新镜像源和当前已安装的所有软件:

sudo apt-get update && apt-get upgrade -y

10.安装Vim编辑工具(可选):

sudo apt-get install vim

11.使用VNC进行远程控制:

网上很多是安装tightvncserver,但其实树莓派已经自带了一个VCN服务端,我们只需要打开即可:

sudo raspi-config

选择Advanced Options –> VNC:


系统会给我们安装一个realvnc-vnc-server,运行:

vncserver :1

将VCN服务器设为自动启动:

pi@raspberrypi:~ $ cd /home/pi
pi@raspberrypi:~ $ cd .config/
pi@raspberrypi:~/.config $ mkdir autostart
pi@raspberrypi:~/.config $ cd autostart/
pi@raspberrypi:~/.config/autostart $ nano realvnc.desktop

将以下内容粘贴到编辑器窗口中(注意空格):

[Desktop Entry]
Type=Application
Name=RealVNC
Exec=vncserver :1
StartupNotify=false

按Ctrl + X(macOS为Control + X)保存,这样下次不用手动启动VNC服务端了,最后,在自己电脑安装VNC客户端RealVNC Viewer(http://www.realvnc.com),输入树莓派IP地址和VNC桌面号(例如:192.168.3.2:1)进行连接,用户名和密码为树莓派登录的用户名和密码。

12.设置中文:

安装中文字体:

sudo apt-get install ttf-wqy-zenhei

安装中文输入法:

sudo apt-get install scim-pinyin

配置中文环境:

sudo raspi-config

选择Localisation Options –> Change Locale –>拉到最底部按空格键选择zh_CN.UTF-8 –> 切换到Finish完成

13.设置WiFi自动连接:

1.修改/etc/wpa_supplicant/wpa_supplicant.conf文件:

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1

network={
       ssid="WiFi名称"
       scan_ssid=1
       psk="WiFi密码"
       priority=5
}

network={
       ssid="RaspberryPi"
       psk="raspberrypi"
       priority=1
}
  • ctrl_interface:这个文件夹里面存的是一个当前使用的interface的socket文件,可以供其他程序使用读取WiFi状态信息
  • ap_scan
    1:这个模式下总是先连接可见的WiFi,如果扫描完所有可见的网络之后都没有连接上,则开始连接隐藏WiFi。
    2:会按照network定义的顺序连接WiFi网络,遇到隐藏的将立刻开始连接,因此在这个模式下连接顺序不受priority影响
  • network:是一个连接一个WiFi网络的配置,可以有多个,wpa_supplicant会按照priority指定的优先级(数字越大越先连接)来连接,当然,在这个列表里面隐藏WiFi不受priority的影响,隐藏WiFi总是在可见WiFi不能连接时才开始连接。
  • ssid:网络的ssid
  • psk:密码
  • priority:连接优先级,越大越优先
  • scan_ssid:连接隐藏WiFi时需要指定该值为1

在wpa_supplicant.conf文件中,我加入了两个network节点,第一个是将要连接的WiFi,优先级为5,第二个是在陌生网络中我创建的一个WiFi热点,优先级最低,当其他网络不可用时,树莓派和电脑连接到这个网络,然后我就可以ssh到树莓派与其通信。

2.修改/etc/network/interfaces文件,使用wpa_supplicant.conf来配置无线网络:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
    pre-up wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

3.最后重启树莓派,就可以连接到wpa_supplicant.conf配置好的WiFi了:

sudo reboot

14.备份系统:

插入装有SD卡的读卡器,查看所有磁盘驱动器:

diskutil list


接下来取消挂载(并非弹出)上述SD卡磁盘驱动器:

sudo diskutil unmountDisk /dev/disk2


最后就是备份我们的SD卡:

sudo dd bs=4m if=/dev/disk2 of=~/Desktop/sdcard_20171011.img

这里的if表示SD卡磁盘驱动器路径,of表示保存的镜像文件路径,备份成功后会出现以下提示:

1466+1 records in
1466+1 records out
1537474560 bytes transferred in 95.371581 secs (16120888 bytes/sec)

这种属于完整备份镜像,备份出来的镜像文件大小与SD卡总大小一样,我们只需二次压缩即可,例如我的SD卡是16G,最终压缩后大概2G多,网上也有一种精简压缩方案(只备份实际使用空间),但是未曾测试(https://github.com/conanwhf/RaspberryPi-script

笔记参考了以下前辈的博文:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值