树莓派(Raspberry Pi,RasPi/RPi)是由英国的慈善组织“Raspberry Pi 基金会”开发,基于ARM的微型电脑主板,只有信用卡大小,但却具备一部个人计算机的基本功能。基金会开发树莓派的最初目的是为了提升学校计算机科学及相关学科的教学水平,培养青少年的计算机程序设计兴趣和能力,同时期望能有更多的应用被不断开发出来,并应用到更多领域。然而,树莓派自问世以来就受到众多计算机发烧友和创客的追捧,曾经一“派”难求。目前,具有树莓派生产许可的制造商主要有:
- Pi Swag(http://swag.raspberrypi.org)
- Premier Farnell/Element 14,中文名:e络盟,简称E14(https://www.farnell.com/)
- RS Components,RS(http://www.rs-components.com/raspberrypi)
这几家制造商都有在网上出售树莓派,不同厂家销售的树莓派仅在外观上有细微的区别,配置、性能和使用是完全一样,大家可以随便选择购买。在国内,我们可以很容易的从各大购物网站上购买到。
2.1 树莓派硬件
图2.1 展示的是树莓派3B+型主板,树莓派3B+型是当前最新的版本,在所有已发行的版本中性能最好,功能和接口最多,但功耗也相对较大。接下来的章节中,我们将主要采用该版本的树莓派进行介绍,下面首先对树莓派的主要部件及接口的功能进行介绍:
1:SOC芯片
树莓派采用博通(Broadcom)BCM283X系列芯片作为SOC芯片,芯片上集成了CPU、GPU、DSP及SDRAM内存等,其中CPU和GPU共享内存,可以在系统中手工修改内存占比。不同版本的树莓派所采用的SOC芯片在结构和性能上存在一定的差异。
2:以太网接口
以太网接口让树莓派能以有线的方式接入计算机网络,这让我们能轻松的访问互联网,或远程登录到树莓派。树莓派的以太网接口是利用USB总线实现的,数据通过USB总线进行传输,大部分型号的树莓派都提供有以太网接口。
3:USB接口
通用串行总线(Universal Serial Bus, USB)接口是计算机上最常见的接口,您可以用它来连接键盘、鼠标、U盘、无线网卡等设备。当USB接口的数量不够用时,我们还可以通过USB集线器增加USB接口数量。
4:HDMI接口
高清多媒体接口(High Definition Multimedia Interface,HDMI)是一种全数字化视频和声音发送接口,用于传输未压缩的音频及视频信号。通过它连接到配备有HDMI接口的显示器(或电视机)上,就能显示树莓派的内容。HDMI接口能够同时传输视频和音频信号,因此我们使用的时候不需要在树莓派的音频接口连接扬声器,确实需要通过音频接口播放声音的,则需对操作系统的配置做相应的修改。
5:音频及复合视频接口
音频接口(3.5mm耳机插孔)在没有用到HDMI连接的时候,可以使用标准3.5mm耳机插孔的扬声器或耳机播放音频。同时,该接口还集成了复合视频接口,具有复合音视频输出功能,一般用于连接旧型号的电视机,当前已经很少使用。
6:DSI显示器接口
可以将LCD显示器连接到树莓派上,一般用于嵌入式产品开发。通常情况下,HDMI接口已经能满足需求。
7:CSI摄像头接口
利用CSI接口可以通过一条排线将CSI摄像头连接到树莓派上,轻松的进行视频录制和图像拍摄。与USB摄像头相比,这种摄像头模块的性能更为出色。
8:通用输入输出接口(General Purpose Input Output,GPIO)
通用输入输出接口(General Purpose Input Output,GPIO)在树莓派主板上被设计成具有两排引脚的插槽。GPIO可以用于连接各种外围电子设备和传感器,通过输入/输出电平信号,以控制或监控这些设备。例如,可以使用GPIO控制直流电机的转速,或是读取超声波传感器的测量距离等。GPIO的这些功能特性使得树莓派有别于普通计算机主板,因为它给予开发人员手工操作的自由。我们将在后续章节中对GPIO做进一步介绍,并大量的使用它们。
9:SD卡插槽
SD卡插槽位于树莓派主板背面。SD/MicroSD卡是树莓派必备的存储部件,用于安装操作系统和存储数据,SD卡的容量应在2GB以上。为了能有更好的使用体验,建议为您的树莓派配备大容量(16G以上)的高速(Class10以上)的SD卡。
10:Micro USB供电接口
Micro USB供电接口是树莓派主要的供电方式之一,额定电压5V,不同版本的树莓派的标准电流要求略有区别,例如:1B型只要700mA,而3B+型则需要2.5A,很多安卓(Android)手机的充电器都能为树莓派提供必要的电压和电流。树莓派的电流需求还与其连接的外部设备有关,建议在使用的时候应事先计算好,为树莓派选择合适电流(功率)的电源,当外接设备功率较大时,应该采用独立的电源为外部设备供电。
11:WiFi及蓝牙模块
WiFi功能让树莓派能够以无线的方式接入计算机无线网络实现互联互通,蓝牙功能则让树莓派能与具备蓝牙功能的设备(如鼠标、键盘、手柄等)进行连接使用。目前,仅3B型、3B+型和Zero W型树莓派自带WiFi和蓝牙功能(两者集成在一个芯片上),对于其他型号的树莓派,您可以通过外接USB WiFi(蓝牙)适配器实现。我们将在后续章节对WiFi和蓝牙的使用作进一步介绍。
12:以太网供电(PoE)接口
有源以太网(Power Over Ethernet, PoE)是指利用以太网进行电力传输的一种技术。树莓派3B+型在原有的Micro USB和GPIO供电的基础上,新增了以太网供电方式,用户可以使用网线为树莓派供电,而不需要配置额外的电源,这为某些应用场景提供了极大的便利。
自2011年12月第一款树莓派问世以来,树莓派基金会已经发布了多个版本的树莓派主板,各版本的差异如表2.1所示。通常,功能较多、性能较高的版本,其体积和功耗也相对较大,我们应该根据实际需求选择合适的版本,而不是盲目的使用功能多、性能高的版本。根据实际需要,在后续的章节中我们将主要使用树莓派3B+型进行介绍。
2.2 树莓派软件
2.2.1 操作系统
树莓派支持多种操作系统,主要基于Liunx和Windows,大多可以在树莓派基金会的官网(www.raspberrypi.org)找到,以下简单介绍两款具有代表性的操作系统。
-
Raspbian
Raspbian是树莓派基金会的官方操作系统,基于Debian GNU/Linux定制,能运行在所有版本的树莓派主板上。根据使用经验,Raspbian与树莓派结合得最好,运行稳定、功能强大、使用方便,基本能满足各种应用需求,因此强烈建议将Raspbian作为树莓派的首选操作系统。在后续的章节中我们将进一步对Raspbian的使用作详细的介绍,并在上面进行各类应用开发。 -
Windows 10 IoT Core
Windows 10 IoT Core是微软公司专门为物联网生态打造的操作系统,Windows 10 IoT Core则是Windows 10 IoT操作系统的核心版本,功能相对精简,可以在2B型以上的树莓派运行。Windows 10 IoT Core的安装和使用在此就不作详细介绍,有兴趣可访问微软公司的网站获取更多的资料。
除以上介绍的两款操作系统,还有多款支持树莓派的操作系统,如Ubuntu MATE、OSMC、LibreELEC、PiNet、RISC OS等,至于选择那一种,则取决于您想要用树莓派做什么。如果想将树莓派作为普通的计算机使用,或用于电子项目开发的话,那么Raspbian是个非常好的选择。如果您打算将树莓派作为媒体中心使用,那么可以考虑使用OSMC或LibreELEC。
2.2.2 编程语言
对于树莓派来说,有许多编程语言可用,事实上任何可以为ARM架构编译的语言(如C语言等)都可用于树莓派,其中最流行的语言应该算Python。事实上,树莓派名字中的Pi就是受单词Python的启发而取的。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,功能强大、兼容性好、可靠性高,Python程序易于编写和阅读。当前,Python有两个主要版本:Python 2和Python 3,两个版本一直保持有更新维护,但人们对到底该使用哪个版本至今仍存在争议,您可以访问Python的官网(www.python.org)了解更多的相关内容,今后我们将主要使用Python 3进行开发介绍。另外,由于树莓派的兼容性非常好,我们在3B+型上写的程序几乎不需要要修改就能在Zero W型上运行。
2.3 本章小结
本章介绍了树莓派主板的主要部件和功能,并对各版本的树莓派进行了比较,同时介绍了树莓派的操作系统和编程语言,让读者对树莓派有个基本的了解,为接下来的课程打基础。