您现在的位置是:网站首页>树莓派树莓派

树莓派之初体验

2019-02-27树莓派

简介本人是做软件研发的,硬件相关的接触的很少,最近学习了人工智能相关的知识后,对硬件产生了兴趣,废话少说开始行动,某宝中买了树莓派3代板。

本人是做软件研发的,硬件相关的接触的很少,最近学习了人工智能相关的知识后,对硬件产生了兴趣,废话少说开始行动,某宝中买了树莓派3代板。

树莓派GPIO说明

操作系统安装

主流系统

官方推荐系统下载合集,地址:https://www.raspberrypi.org/downloads
Raspbian jesssie:树莓派官方力推系统,也是最主流的系统,基于 debian,最
新 Linux 内核版本为 4.1,可图形界面。百度网盘: http://pan.baidu.com/s/1pKhlIIZ

Windows10 IOT:微软为树莓派推出物联网操作系统,无图形化桌面,只能通
过远程方式操控,命令行形式,使用也挺方便,大有可为。下载地址:
http://ms-iot.github.io/content/en-US/Downloads.htm

Ubuntu Mate:专为树莓派优化而成,功能与 PC 版 UBUNTU 大同小异,图形
界面。下载地址:https://ubuntu-mate.org/raspberry-pi/
Kali Linux:在树莓派上大热的系统,用于数字取证、渗透测试和黑客攻防。
下载地址:https://www.offensive-security.com/kali-linux-arm-images/

必备软件

系统镜像写入工具—— Win32DiskImager,下载地址:
http://pan.baidu.com/share/link?uk=671504480&shareid=3071873942
代码编辑工具

系统安装

注意事项:树莓派 3 请下载使用 raspbian Jessie 2016 年 2 月 26 日更新及之后的系统,之前的不能使用。本手册使用 2016.3.18 日更新的版本,也推荐大家使用该版本。

树莓派不自带存储设备(无类似硬盘的装置),使用 TF 卡充当硬盘,若 TF 卡
不装系统(空卡),树莓派和显示器均不会有任何反应;树莓派没有类似电脑主
板的 BIOS。

建议使用 USB2.0 的独立读卡器就可以,但不能太陈旧。不建议使用笔记本电
脑的自带卡槽,极可能会出现写入系统不完整的情况,导致不能使用。已有很多
案例

1.Raspbian jessie 系统安装
在电脑(Windows7)上,下载好 raspbian jessie 之后,将其解压缩至非中文名
称的文件夹(例如:rpios,文件夹名称不能有中文或者特殊符号,否则后续过程
会出现 error123 提示),得到.img结尾的系统镜像文件。

2.打开 Win32DiskImager(镜像写入工具),如下图:

选择“编号 1 按钮”,点此按钮选择要写入 TF 卡的系统。名称如上图最长红色方框内的,日期为该版本更新时间。
接着选择“编号 2 按钮”,点此可以选择要将系统写入到哪个 TF 卡。请确保选择了正确的盘符,您的 TF 卡盘符,不一定就是 H,可能是 F、I、J 等最后,点击“编号 3 按钮(write)”,开始往 TF 卡写入系统。这,就是开始装系统了哟。
在装系统过程中,请勿对电脑有其它操作。等待时间,取决于您的电脑、TF卡写入速度、读卡器好坏。一般 10 分钟左右。
系统装好后,会弹出 Successfully 的提示,表示系统写入成功。

3.Config.txt 的设置
在电脑上进入写入系统了的 TF 卡,如下图,找到 config.txt:
使用文本工具打开 config.txt,找到如下参数项目(只看英文,不管阿拉巴伯数字),去掉对应项目前面的井号“#”,并在等号“=”后面修改为如下数字:
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=16
hdmi_drive=2
config_hdmi_boost=4
arm_freq=800
sdtv_mode=2
以上参数,hdmi_mode 表示分辨率,hdmi_drive=2 表示声音从 HDMI 接口输出。若要全面了解 config.txt 各类参数含义,请参考文末的“附录 1”。

4.风扇的安装
查看前面的树莓派GPIO说明,找到树莓派的 5V 和 GND(ground)两个针脚,如下
图接好风扇;风扇的红线表示正极(5V),黑线是地线(GND、ground):

至此操作系统安装完毕,通电启动系统,初始用户和密码:pi/raspberry

系统设置

1.Raspi-config 介绍
Raspi-config 是 raspbian 系统自带的调试工具,里面可以设置语言与汉化、开
机自动进入桌面、WIFI 设置、摄像头开启等设置。
做好系统后,初次启动完毕后,会自动进入到 Raspi-config 界面,(进入桌面
后,在 Terminal 终端下,也可以使用此命令调出:sudo raspi-config ),在如下图:

2.Expand Filesystem TF 卡扩展
作用在于将TF卡未启用的空间启用起来(若不启用,在树莓派系统下看不到;
若,本来 16G 的 TF 卡,装了系统后,只能查看到 3G 左右的样子,也就是系统
本身的大小。“启用”后,也就是“扩展”后,就可以看到和使用全部 16G 左右
的容量了)。启用:直接敲回车,就行了。

3.Change User Password 改密码
简单,不赘述。另:输入密码期间不会有诸如“**”这样的提示,输入完
成后,直接回车即可。树莓派登录的时候也是如此。

4.Boot Options 开机自动进入桌面
开机进入桌面还是命令行模式,如下图:

上图,B1、B2 表示,开机进入命令行模式,无图形界面。B1 表示,开机后需要输入用户名和密码来登录。B2 表示,不需要输入账号和密码,开机后直接可以以 pi 用户权限使用操作。
B3、B4 表示,开机进入图形界面。B3 表示,需要输入用户名和密码;B4 不需要输入用户名和密码,直接就可操作使用。
无论选择 B1/B2,还是 B3/B4,选择后,直接回车就行,自动返回上一级。
5.Wait for Network at Boot
表示启动的时候,是否等待连结网络。进入后有两个选项,如下图:

第 1 个选项,表示快速启动系统,不需要等待是否连结网络。第 2 个选项,表示系统后台连结好网络后,系统才能启动成功。我这里选择第 1 个,回车。

6.Internationalisation Options 语言、时区等
汉化、时区、键盘布局设置、WIFI 所属国家,进入该项后,见到如下图所示:

7.Change locale 语言设置
也就是通常所说的汉化。按回车键,进入该项,看到如下图片:

通过 Pape UP 键 与 Page down 键,以及上下左右键,来翻动查看,找到
EN_GB.UTF-8 UTF-8,将前面的星号“”通过敲“空格键”去掉。
然后,找到:EN_US.UTF-8 UTF-8、ZH_CN.GBK GBK、ZH_CN.UTF-8 UTF-8 在前
面通过敲空格键,分别都打上星号“
”;
最后将光标移动到 ,回车,自动进入下一步,如下图:

再将光标移动到如上图的位置,回车。然后系统自动进入如下图步骤,自动设置,完成后,系统会回到 raspi-config 主界面。

8.change timezone 时区设置
进入该项后,如下图,选择 Asia,找到重庆,或者上海,回车,就设置好时区了:

必备软件和环境的安装

1.中文字库

sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy

2.输入法(拼音输入法)

sudo apt-get install scim-pinyin

3.更新vim

sudo apt-get install vim

附录 1 Config.txt 配置文件说明

由于树莓派并没有传统意义上的 BIOS, 所以现在各种系统配置参数通常被存在
“config.txt”这个文本文件中。config.txt 文件会在 ARM 内核初始化之前被 GPU 读取。
这个文件存在引导分区上的,对于 Linux, 路径通常是/boot/config.txt, 如果是 Windows
(或者 OS X) 它会被识别为 SD 卡中可访问部分的一个普通文件。
-1.1 、使用下列命令获取当前激活的设置:
vcgencmd get_config - 列出指定的配置参数. 例如: vcgencmd get_config arm_freq
vcgencmd get_config int - 列出所有已设置的整形配置参数(非零)
vcgencmd get_config str - 列出所有已设置的字符型配置参数(非零)
-1.2 、文件格式
当值是整形时格式为”属性=值”, 每行只指定一个参数,注释使用’#’井号作为一行开头。
注意:系统默认每行都已经用#注释,要想使用该行参数只需移除#。
下面是示例文件 :

Force the monitor to HDMI mode so that sound will be sent over HDMI cable

hdmi_drive=2

Set monitor mode to DMT

hdmi_group=2

Set monitor resolution to 1024x768 XGA 60Hz (HDMI_DMT_XGA_60)

hdmi_mode=16

Make display smaller to stop text spilling off the screen

overscan_left=20
overscan_right=12
overscan_top=10
overscan_bottom=10
-1.3 、内存
disable_l2cache:禁止 ARM 访问 GPU 的二级缓存. 相应的需要在内核中关闭二级缓存,
默认为 0。
gpu_mem GPU:内存以兆为单位。设置 ARM 和 GPU 之间的内存分配. ARM 会获得剩余
所有内存。 最小设为 16,默认为 64。
disable_pvt:禁止每 500 毫秒调整一次 RAM 的刷新率 (RAM 温度测量)。
CMA:动态内存分配
自 2012 年 11 月 19 号,固件和内核开始支持 CMA,这意味运行时可以动态管理 ARM
和 GPU 之间的内存分配。
cma_lwm:当 GPU 可用内存低于 cma_lwm 所设值,将会向 ARM 请求一些内存。
cma_hwm:当 GPU 可用内存高于 cma_hwm 所设值,将会向 ARM 释放一些内存。
要启用 CMA,下面的参数需要添加到 cmdline.txt 文件里:
coherent_pool=6M smsc95xx.turbo_mode=N
1.4 、 视频
视频模式选项
sdtv_mode:为复合信号输出设置视频制式(默认为 0):
sdtv_mode=0 NTSC
sdtv_mode=1 日本版 NTSC – 无基座
sdtv_mode=2 PAL
sdtv_mode=3 巴西版 PAL – 副载波为 525/60 而不是 625/50
sdtv_aspect:为复合信号输出设置宽高比(默认为 1):
sdtv_aspect=1 4:3
sdtv_disable_colourburst:禁止复合信号输出彩色副载波群。图片会显示为单色,但是
可能会更清晰:
sdtv_disable_colourburst=1 禁止输出彩色副载波群
hdmi_safe 使用”安全模式”的设置去尝试用 HDMI 最大兼容性启动. 这和下面的组合是
一 个 意 思 : hdmi_force_hotplug=1, config_hdmi_boost=4, hdmi_group=2, hdmi_mode=4,
disable_overscan=0
hdmi_safe=1
hdmi_ignore_edid 如果你的显示器是天朝产的垃圾货, 允许系统忽略 EDID 显示数据
hdmi_ignore_edid=0xa5000080
hdmi_edid_file 当设为 1 时, 将会从 edid.dat 文件中读取 EDID 数据,而不是从显示器.[1]
hdmi_edid_file=1
hdmi_force_edid_audio 伪装成支持所有音频格式播放, 即便报告不支持也允许通过
DTS/AC3.
hdmi_force_edid_audio=1
hdmi_force_edid_3d 伪装成全部 CEA 模式都支持 3D, 即便 EDID 并不支持.
hdmi_force_edid_3d=1
avoid_edid_fuzzy_match 禁止去模糊匹配 EDID 中描述的模式. 即便遮蔽错误, 也选用匹
配分辨率和最接近帧率的标准模式.
avoid_edid_fuzzy_match=1
hdmi_ignore_cec_init 不发生初始化激活源消息. 避免在重启时使(启用CEC)TV结束待机
并切换频道.
hdmi_ignore_cec_init=1
hdmi_ignore_cec 伪装成 TV 不支持 CEC. 将不会支持任何 CEC 功能.
hdmi_ignore_cec=1
hdmi_force_hotplug 伪装成 HDMI 热插拔信号被检测到, 出现 HDMI 显示器被接入
hdmi_force_hotplug=1 即便没有检测到 HDMI 显示器也要使用 HDMI 模式
hdmi_ignore_hotplug 伪装成HDMI 热插拔信号没有被检测到, 出现HDMI 显示器未接入
hdmi_ignore_hotplug=1 即便检测到 HDMI 显示器也要使用混合模式
hdmi_pixel_encoding 强制像素编码模式. 默认情况下会使用 EDID 请求的模式,所以不
需要修改:
hdmi_pixel_encoding=0 default (limited for CEA, full for DMT)
hdmi_drive 选择 HDMI 还是 DVI 模式
hdmi_drive=1 DVI 模式 (没声音)
hdmi_drive=2 HDMI 模式 (如果支持并已启用将有声音输出)
hdmi_group 设置 HDMI 类型
不指定组,或者设为 0,将会使用 EDID 报告的首选组:
hdmi_group=1 CEA
hdmi_group=2 DMT