树莓派4与人工智能实战项目
上QQ阅读APP看书,第一时间看更新

1.1 树莓派是什么?

这是一个老生常谈的问题,第一次听闻树莓派的朋友脑海里都是一种类似蛋黄派的食物,而实际上树莓派(Raspberry Pi)是由注册于英国的慈善组织“树莓派基金会”开发的一种微型单板计算机。2012年3月,英国剑桥大学艾本·阿普顿(Eben Upton)正式发售世界上最小的台式机,又称卡片式计算机,外形只有信用卡大小,却具有计算机的所有基本功能,这就是Raspberry Pi,中文译名“树莓派”,后面文章中将以“树莓派”作为名称来称呼Raspberry Pi。

这一基金会以“提升学校计算机科学及相关学科的教育,让计算机变得有趣”为宗旨。基金会期望这一款SBC(Single Board Computer)无论是在发展中国家还是在发达国家,都会有更多的其他应用不断被开发出来,并应用到更多领域。在2006年树莓派早期概念是基于Atmel的ATmega644单片机,首批上市的10 000“台”树莓派的“板子”,由中国台湾和大陆厂家制造。最初的树莓派如图1-1所示。

图1-1 初代树莓派

随着树莓派硬件版本的迭代,不断产生了很多新的版本,在性能和外观上也逐渐有了很多不同的变化,针对不同的应用方向,可以采用不同的树莓派进行开发。下面就简单介绍一下树莓派在第一代产品后出现的不同版本,这些产品不分先后顺序。

1.树莓派Zero及Zero W

树莓派Zero的尺寸是Model A+的一半,但性能翻一倍。其特性如下:具有BCM2835 1GHz单核CPU,512MB RAM,Mini HDMI端,Micro USB OTG端口,MicroUSB电源接口,兼容HAT的40Pin GPIO引脚,复合视频接口和reset headers,CSI摄像头接口仅兼容V1.3的官方摄像头。树莓派Zero W除了具有树莓派Zero的所有功能外,还增加了WiFi连接的功能,包括802.11 b/g/n无线局域网、蓝牙4.1、蓝牙低功耗(BLE),使得树莓派在使用上更加便利。树莓派Zero和树莓派Zero W分别如图1-2和图1-3所示。

图1-2 树莓派Zero

图1-3 树莓派Zero W

仔细观察会发现,在树莓派Zero W靠近核心芯片的位置旁有个形似三角形的位置,是无线网络的天线,这也是区别树莓派Zero和树莓派Zero W最快的方法。

2.树莓派1 Model A+

与2012款Model A相比,树莓派1 Model A+具有更多的GPIO引脚。GPIO引脚数量从26只扩展到40只,同时保留与Model A和Model B相同的前26只引脚的相同功能;使用Micro SD卡槽,取代了原来的比较大的SD卡,卡槽也由原先的直接推进式更换到了自锁卡槽;降低了整体的功耗,通过用开关电源代替线性稳压器,将功耗降低了0.5~1W;增强了音频电路,采用专用的低噪声电源,使音效更好;外观做得更小更整洁,将USB连接器与板边缘对齐,将复合视频移动到3.5mm插孔上,并添加了四个正方形安装孔。Model A +型比Model A型短约2cm,但是由于USB接口只有一个,因此对于新手来说,使用起来会有一些不便,但是对于DIY爱好者来说,正是因为其小巧的特性才被不少爱好者视为珍宝,成为除了树莓派Zero之外最小巧的服务器。树莓派1 Model A+外观如图1-4所示。

图1-4 树莓派1 Model A+

3.树莓派1 Model B+

与2012款Model B相比,树莓派1 Model B+将GPIO引脚从26只增加到40只,并保持与原有GPIO的兼容性;配备了4个USB 2.0接口(Model B型只有2个),并且提供了更好的热插拔属性和过流的容忍度;卡槽也像Model A+一样进行了改造,采用自锁卡槽,网卡仍然使用100Base以太网(与原Model B型相同);降低了功耗,通过用开关代替线性稳压器,将功耗降低了0.5~1W;为了提供更好的音频,音频电路采用专用的低噪声电源;外观仍然很整洁,将复合视频移动到3.5mm插孔上,并添加了4个正方形安装孔。树莓派Model B+外观如图1-5所示。

图1-5 树莓派Model B+

4.树莓派2 Model B

与树莓派1相比,树莓派2 Model B具有900MHz四核ARM Cortex-A7 CPU和1GB内存,类似于树莓派1 Model B+,其特性如下:具有100BaseT以太网,4只USB端口,40只GPIO引脚,标准HDMI端口,提供了3.5mm音频插孔和复合视频,摄像头接口(CSI),官方显示器接口(DSI),Micro SD卡插槽,VideoCore Ⅳ 3D图形核心(也就是传说中的GPU),可以支持硬解压1080P视频。

树莓派2 Model B中使用的Broadcom芯片BCM2836,其底层架构与BCM2835完全相同,唯一显著的区别是删除了ARM1176JZF-S处理器并替换为四核Cortex-A7集群。树莓派2 Model B外观如图1-6所示。

5.树莓派3 Model B

树莓派3 Model B是第三代树莓派的最早型号。它于2016年2月取代了树莓派2 Model B,是树莓派3系列中的最新产品。其特性如下:采用1.2GHz Broadcom BCM2837 64位CPU;1GB RAM;板载BCM43438无线LAN和蓝牙低功耗(BLE);100BaseT以太网;扩展的40只GPIO引脚;4个USB 2端口;四极立体声输出和复合视频端口;全尺寸HDMI;CSI摄像头接口,用于连接树莓派相机;DSI显示接口,用于连接树莓派触摸屏显示器;Micro SD端口,用于加载操作系统和存储数据;升级后的Micro USB电源电压高达2.5A。

图1-6 树莓派2 Model B

树莓派3中使用的Broadcom芯片BCM2837是树莓派2的后续型号。BCM2837的基础架构与BCM2836完全相同,唯一显著的区别是用四核ARM Cortex-A53(ARMv8)集群替换ARMv7四核集群。ARM内核运行速度为1.2GHz,使得该设备比树莓派2快50%。VideoCore Ⅳ的运行频率为400MHz。树莓派3 Model B外观如图1-7所示。

图1-7 树莓派3 Model B

6.树莓派3 Model A+

树莓派3 Model A+将树莓派3系列扩展为A +板格式。其特性如下:CPU采用的是Broadcom BCM2837B0,Cortex-A53(ARMv8)64位SoC @ 1.4GHz;内存采用512MB LPDDR2 SDRAM;支持2.4GHz和5GHz IEEE 802.11.b/g/n/ac无线局域网,蓝牙4.2,BLE;扩展的40只GPIO引脚;支持全尺寸HDMI;仅提供单个USB 2.0端口;CSI摄像头接口和DSI接口等与树莓派3 Model B没有区别;四极立体声输出和复合视频端口;Micro SD端口,用于加载操作系统和存储数据;支持5V/2.5A直流电源输入。

树莓派3中使用的Broadcom芯片BCM2837,是树莓派2的后续型号。BCM2837的基础架构与BCM2836完全相同,唯一显著的区别是用四核ARM Cortex A53(ARMv8)集群替换ARMv7四核集群。ARM内核运行速度为1.2GHz,使得该设备比树莓派2快50%。VideoCore Ⅳ的运行频率为400MHz。树莓派3 Model A+外观如图1-8所示。

图1-8 树莓派3 Model A+

7.树莓派3 Model B+

树莓派3 Model B +是树莓派3系列中的最新产品。其特性如下:CPU采用Broadcom BCM2837B0,Cortex-A53(ARMv8)64位SoC @ 1.4GHz;内存采用1GB LPDDR2 SDRAM;无线方面采用2.4GHz和5GHz IEEE 802.11.b/g/n/ac无线局域网,蓝牙4.2,BLE;网卡采用USB 2.0千兆以太网(最大吞吐量300 Mbps);GPIO依然采用40只引脚的扩展;支持全尺寸HDMI;4个USB 2.0端口;CSI相机接口;DSI显示端口;四极立体声输出和复合视频端口;Micro SD端口;5V/2.5A直流电源输入;另外,还支持以太网供电(PoE)支持,只是需要额外的单独PoE HAT模块才可以正常工作,解决了很多工业场合的应用需求。树莓派3 Model B+外观如图1-9所示。

图1-9 树莓派3 Model B+

8.树莓派Computer Module 3+/32GB

树莓派Computer Module 3+/32GB(简称CM3 +/32GB)包含树莓派3型号B +(BCM2837处理器和1GB RAM)的内核以及32GB eMMC闪存设备(相当于SD卡),CPU采用Broadcom BCM2837B0,Cortex-A53(ARMv8)64位SoC @ 1.2GHz,内存采用1GB LPDDR2 SDRAM,存储采用32GB eMMC闪存,这些都集成在一块小型(67.6mm×31mm)PCB上,适用于标准DDR2 SODIMM连接器。闪存直接连接到电路板的处理器上,其余的处理器接口可通过连接器引脚提供给用户。

开发工程师可以获得BCM2837 SoC的全部特性(这意味着可以使用比标准树莓派更多的GPIO接口),并且将模块设计到自定义系统中,使开发相对简单。

为了帮助硬件工程师开始设计使用该模块的PCB,官方还提供了一个开源分线板,它配有CM3 +/32GB和CM3 +/Lite开发套件。另外,CM3 +还提供以下版本:

◆ CM3 +/Lite:没有eMMC闪存,但将SD卡接口引入模块引脚,以便用户可以将其连接到他们选择的eMMC或SD卡。

◆ CM3 +/8GB:8GB闪存。

◆ CM3 +/16GB:16GB闪存。

树莓派CM3+模块外观如图1-10所示。

图1-10 树莓派CM3+模块

9.树莓派4 Model B

下面要介绍的是本书的主角,本书中的所有程序都是在这个平台上运行的,部分程序也可以在其他版本的设备上运行,只是运行性能可能会有所不同。树莓派4 Model B的特性如下:

◆ Broadcom BCM2711,四核Cortex-A72(ARM v8)64位SoC @ 1.5GHz。

◆ 1GB、2GB或4GB LPDDR4-3200 SDRAM(取决于型号)。

◆ 2.4GHz和5.0GHz IEEE 802.11ac无线,蓝牙5.0,BLE。

◆ 千兆以太网。

◆ 2个USB 3.0端口;2个USB 2.0端口。

◆ 树莓派标准40Pin GPIO接头连接器(与以前的板完全向后兼容)。

◆ 2个Micro HDMI端口(最多支持4KP60)。

◆ 2通道MIPI DSI显示端口。

◆ 2通道MIPI CSI摄像机端口。

◆ 4针立体声音频和复合视频端口。

◆ H.265(4KP60解码),H.264(1080P60解码,1080P30编码)。

◆ OpenGL ES 3.0图形。

◆ Micro SD卡插槽,用于加载操作系统和数据存储。

◆ 通过USB-C连接器提供5V DC(最小3A)。

◆ 通过GPIO接头提供5V DC(最小3A)。

◆ 启用以太网供电(PoE)(需要单独的PoE HAT)。

◆ 工作温度:0 ~ 50℃环境。

这是树莓派历代设备中具有大容量内存的版本,可以根据自己的选择购买1GB内存的版本、2GB内存的版本和4GB内存的版本,当然内存越大,同等条件下运行的性能就越好。这个版本的外观做了很大的改动,网卡和USB口的位置换了,而且提供的2个USB 3.0接口可以接快速存储设备来构建网络附加存储(Network Attached Storage,NAS)服务器,通过千兆以太网网卡提供快速访问互联网的特性,64位的4核心CPU可以兼容64bit系统,在网络上已经有balena发行了针对树莓派4B的全功能64bit的操作系统。

Ubuntu官方也提供了支持树莓派2、3和4系列的操作系统镜像,不论从软件还是从硬件方面都拥有极大的优势,因此可以说是生态环境非常不错的一款单板计算机。树莓派4B外观如图1-11所示。

图1-11 树莓派4B

可以发现,树莓派硬件有一个共同的特点,就是其硬件有CPU、内存、GPIO引脚、3.5mm复合接口、CSI接口、DSI接口,USB口的数量根据版本会有不一样的变化,蓝牙也是部分设备才有的功能,这个要根据实际的设备来判断,在DIY一些应用时,要根据需求合理进行选型。

10.树莓派Pico

树莓派Pico是树莓派官方组织完善其产品链的新产品,整个生态因其而完整了。从单片机到单板主机到成品Pi400键盘主机,标志着树莓派产品线的闭环,也就是说,用户一整套的学习和解决方案都可以直接围绕树莓派基金会提供的产品展开。

树莓派Pico是使用RP2040构建的小巧、快速、通用的电路板,是目前比较畅销的一款产品,但是其定位并不能作为树莓派对等的开发板来定义,性能上还是有很大差距的。我们只将其与Arduino和STM32的低端产品做一个横向对比,RP2040由树莓派设计,具有双核Arm Cortex-M0 +处理器和264KB内部RAM,并支持高达16MB的片外Flash。多种灵活的I/O选项,包括I2C、SPI和(唯一的)可编程I/O(PIO)。树莓派Pico外观如图1-12所示。

图1-12 树莓派Pico

树莓派Pico官方提供了MicroPython和C、C++编程支持的SDK,方便电子入门的用户进行快速编程。