最近入手了一个树莓派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=1network={ssid="WiFi名称"scan_ssid=1psk="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 loopbackauto eth0
iface eth0 inet dhcpallow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcppre-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)

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

  • 树莓派自动连接WiFi
  • RaspberryPi官网 - Mac OS如何安装系统镜像
  • 树莓派 | LISON LIOU
  • 【手把手教你树莓派3 】系列博文

Raspberry Pi 3B学习笔记相关推荐

  1. raspberry pi 3B 树莓派 安装tensorflow

    raspberry pi 3B 树莓派 安装tensorflow 这两天买了raspberry pi 3b回来折腾着玩,拿到手装好系统后就开始安装树莓派版本的TensorFlow,这个安装过程也是踩了 ...

  2. Raspberry Pi 3B 安装NoneBot2

    Raspberry Pi 3B 安装NoneBot2 查看系统信息 下载 go-cqhttp release文件 解压并运行 修改 config.yml 配置文件 安装 nonebot2 需要解决的问 ...

  3. Raspberry Pi 3B 安装Miniconda

    Raspberry Pi 4B 安装 Miniconda 查看内存信息 查看系统信息 查看树莓派的Linux版本 下载 miniconda 安装 Miniconda3 更新配置文件 查看安装的 con ...

  4. 树莓派要mysql的密码_树莓派raspberry Pi 3B+系统中安装mysql过程中不提示输入密码,安装完后如何设置密码...

    树莓派raspberry Pi 3B+安装mysql未提示输入密码,安装后修改mysql密码默认密码 使用mysql -uroot -p 命令连接mysql时,报错 pi@raspberrypi:/ ...

  5. 树莓派 Raspberry Pi 3B+ 无线路由器, WEB 服务器(Nginx,PHP,Sqlite3),UART 串口数据采集

    目标: 测试四核 A53 树莓派 Raspberry Pi 3B+ 无线路由器, 轻量级WEB 服务器(Nginx,PHP,Sqlite3),UART 串口数据采集性能 初始配置,部分选项需要sudo ...

  6. Raspberry pi 3B基本介绍以及跑分测试

    Raspberry pi 3B基本介绍以及跑分测试 基本简介 树莓派(为学生计算机编程教育设计的一种卡片式电脑) Raspberry Pi(中文名为"树莓派",简写为RPi,(或者 ...

  7. Raspberry Pi 3b+制作24小时热点

    Raspberry Pi(中文名"树莓派"),是只有信用卡大小的微型电脑,其系统基于Linux.为了改善学校宿舍的上网环境(校园网登陆系统导致不能用路由器多设备通用网络),通过树莓 ...

  8. 树莓派 Raspberry Pi 3B+安装官方系统(一)

    两年前购买的树莓派(可看当时我的记录树莓派 3B + 重装系统并配置 WiFi | YouForever)已经在角落里吃灰了好长时间,一度以为已经损坏,几天前试着拿出来折腾一下,竟然神奇地复活了,开心 ...

  9. 在 Raspberry Pi 3B 上安装最新版 Node-RED

    升级 Node 首先根据在树莓派上安装最新版本的NodeJS这篇文章将Node升级到最新版本. 安装最新的 Node-RED bash <(curl -sL https://raw.github ...

最新文章

  1. 后bat时代,字节未来超越at也不是没可能
  2. 全球与中国PTFE涂层玻璃布市场供给趋势及十四五投资规划研究报告2021年版
  3. linux deepin换源:换成国内镜像源(上海交大镜像源)
  4. C#学习之向量运算符重载
  5. c+调用java编写mq_C语言实现mq收发数据的函数
  6. Atitit. 二进制数据ascii表示法,与base64编码解码api 设计标准化总结java php c#.net...
  7. WIN10专业版如何调整系统字体大小
  8. python提取格式化日志
  9. Mac制作启动U盘解决重启按option不能识别的问题
  10. nc工具测试tcp/udp协议
  11. 当女生成为软件测试员,我才发现年薪30W+其实并不难…
  12. 《霍乱时期的爱情》读后感
  13. mysql导vertica_vertica从其他表迁移数据到新表(insertinto语句用法实例)
  14. Non-UTF-8 code starting with ‘\xb5‘ in file D:\eclipse\Python\test\__init__.
  15. 计算机用户接入广域网的技术,第五章广域网接入技术全解.ppt
  16. NGINX中如何根据客户端IP地址控制访问
  17. 《阵列信号处理及MATLAB实现》阵列响应矩阵(均匀线阵、均匀圆阵、L型阵列、平面阵列和任意阵列)
  18. 粒子寻优算法PSO学习笔记
  19. 迁移学习笔记4:ACML-Sinno Jialin Pan
  20. andriod游戏音效

热门文章

  1. 基于强化学习的五子棋算法设计-python代码完整实现
  2. 执行股票交易接口get提交方法如何获取三大指数的股票列表?
  3. thymeleaf 传递数据到js变量
  4. 【简单】求英文句子的平均单词长度
  5. python 定时运行 定时关闭_Python脚本用于定时关闭网易云音乐PC客户端
  6. 已搭建独立博客,请移步下面网址
  7. JWT的讲解以及JJWT的使用(另附JWT工具类)
  8. 360浏览器浏览网页字体模糊的解决方法
  9. JAVA程序把大写转换小写_Java程序将字符串转换为小写和大写。
  10. 在Ubuntu上编译gptfdisk的方法