描述
开 本: 16开包 装: 平装是否套装: 否国际标准书号ISBN: 9787030421548
第 1 章初识Raspberry Pi
硬.件 3软.件 19小.结 30
第 2 章LED闪烁器
原型板 33焊接 34GPIO引脚 35 apt-get命令 37LED项目 38小.结 42
第 3 章MP3播放器
原型转接头 43便携式立体声音箱 44音频文件格式 47开关硬件输入 51有关RasPi时序的考量 53MP3项目需求 53小.结 57
项目设备需求 60相机快门操控 60电子闪光灯 62光电耦合开关 65声控和激光模块 66接口电路 69延时摄影 75小.结 77
第 5 章 GPS
简.介 79GPS基本工作原理 80UltimateGPS接收器 84NMEA协议 94gpsd程序 95小.结 99
第 6 章地震检测仪
简.介 101地震学与地震 101模数转换 107SPI接口 108MCP3008连接测试 110地震波数据分析 115操控系统 117小.结 119 简.介 121Z-Wave网络 123RasPi与Z-Wave接口 131SSH登录 133OpenZ-Wave软件 134小.结 140
第 8 章家庭安防系统
简.介 141选购摄像头 141组装激光模块 143动作检测软件 145监.控 151LaserTrip程序 153其他传感器 156小.结 157
第 9 章NFC/RFID阅读器
简.介 159NFC原理 159安装libnfc 162硬件安装 167初始化测试 168实验程序 169未来的扩展 170小.结 171 简.介 173设计气象站 1731-Wire协议 1791-Wire嗅探 183组装气象站硬件 1841-Wire文件系统 185查看气象数据 186包嗅探 190未来的扩展 192小.结 192
第 11 章本地与远程逻辑控制器
简.介 1931-Wire扩展板 1931-Wire文件系统(owfs)安装与配置 196Linux、硬件和FUSE 1988通道I/O板测试步骤 199Python测试程序 202嗅探监控 203Android远程控制 204用浏览器测试Web服务 209小.结 212
第 12 章智能小车:第一部分
简.介 215概.述 215底盘和驱动马达 217伺服电机 225 简.介 231智能小车框图 231 I2C软件 233蓝.牙 234智能小车程序 239操控智能小车 240未来的扩展 240小.结 241
第 14 章氡气检测仪
简.介 243放射性与氡气 244K2645盖革-米勒计数器 247基本测试配置 249制作便携辐射检测仪 252操作便携盖革-米勒计数器 255改进与扩展 256小.结 257
第 15 章实时时钟和NTP
简.介 259实时时钟(RTC) 259RTC软件 262网络时间协议(NTP)介绍 266构建RasPiNTP服务器 268小.结 272
初识Raspberry Pi
本书通过 12个实例,从一些简单基础的操作到一些相对复杂的实例,引导你一步步认识 Raspberry Pi。Raspberry Pi麻雀虽小,五脏俱全。你可以把它看成是一台完整的电脑,并且可以在上面运行一个完整的 Linux操作系统。它也是大家可以买到的同档次电脑中最便宜的一款。
Raspberry Pi的外形尺寸是 56mm×85mm,与一张标准的信用卡大小相当。别看它尺寸不大,你很快就会发现它具有非常强大的功能。实物如图 1.1所示。
Raspberry Pi,基于 Linux的微型电脑
了解有关 Raspberry Pi(下文中将缩写为 RasPi)的一些历史和它的设计初衷可以帮助你理解为什么它会被设计成现在的样子以及它的一些局限性。 RasPi的概念是在 2006年左右由英国剑桥大学计算机实验室的 Eben Upton博士和他的同事所提出的。他们发现如今学习计算机科学的学生与以前的学生相比,在知识水平和动手能力上都有所下降。 Upton博士决定设计出一种廉价的计算机,让小朋友可以在上面开展各种实验,避免损坏相对价格更为昂贵的家用普通 PC机。这个想法最终孵化出 RasPi这个廉价的计算机产品。小朋友们可以在 RasPi上学习编程和开展各种实验,父母就不用担心他们的操作可能会损坏昂贵的计算机了。
Upton博士召集了几个朋友共同创办了 Raspberry Pi基金会,这个在英国注册的慈善机构旨在通过 RasPi这个平台提高小朋友对计算机的认识和兴趣。从现在来看,他们似乎已经实现了他们的理想,他们希望能卖出 1万台以上 RasPi的目标已经被远远超越了。截止本书写作之时,全球已经售出了超过 100万台 RasPi。在基金会的官方网站 www.raspberrypi.org上,你可以找到有关 RasPi的各种信息、新闻、论坛和常见问题解答等。
RasPi之所以可以卖得这么便宜,很重要的一点在于它采用了一种低成本的设计方案,使用一块 SoC(System on a Chip,片上系统)作为整个产品的基础。所谓片上系统,是指一种把内存、微处理器和图形处理器都集成在一个芯片上的技术。通过使用这样的技术,可以节约印刷电路板( PCB)的空间并简化布线。基金会最终选择博通公司( Broadcom)的方案来作为 RasPi的微处理器和图形处理器。图 1.2中展示了一些你应当认识和了解的组件和接口。
SoC与相关组件
尽管学习使用 RasPi并不要求你去理解 Broadcom的微处理器,但是如果能了解一些相关的知识,可以帮助你理解为什么 RasPi比你的台式电脑运行起来要慢,以及为什么 RasPi使用 3.3V的低电压来与外界打交道。我会先从硬件的角度来介绍 RasPi,然后再讨论与其相关的软件。
硬.件
Broadcom 2835微处理器及图形处理单元
RasPi使用 Broadcom BCM2835作为它的微处理器及图形处理单元( Graphics Processing Unit,GPU)。 Broadcom是一家专业的芯片设计公司,通过出售知识产权(Intellectual Property,IP)来盈利,而实际的芯片通常由别的厂家来生产。 Broadcom擅长为移动设备(包括智能手机)设计芯片。 BCM2835这块 SoC是由一个主频为 700MHz的ARM 1176JFZ-S微处理器和一块 Broadcom VideoCore. IV图形处理单元构成的。
BCM2835是为移动应用设计的,所以它需要尽可能降低功耗以延长电池的续航时间。通过降低微处理器的主频可以有效降低功耗,这就是它只以 700MHz的主频来运行的原因。这样的运行速度,只是一台主流台式电脑的 1/4。降低主频同时也意味着可以让芯片在更低的电压下工作,这就可以减少芯片工作时所产生的热量并延长芯片寿命。你可以通过超频来提高 BCM2835的运行速度,但我们通常并不建议这么做,因为这会影响芯片工作的稳定性并缩短它的寿命。其实 RasPi的运行速度对于完成本书中所介绍的应用,都已经足够快了。
Broadcom提供了一些驱动程序,使得我们可以把 BMC2835的输出引脚连接到一些外部设备上。这些驱动程序以 Python库的形式来提供给开发者使用,相关的内容我们后面会讲到。
Broadcom VideoCore IV GPU负责处理各种视频、音频数据,支持 OpenGL ES 2.0标准,这个标准为嵌入式设备提供了一套编程接口( Application Program Interface,API)。换句话说, BCM2835可以很轻松地完成三维图形显示的工作,并且正确地渲染对应的阴影和纹理效果,这些都是现代游戏开发和高清( High Defition,HD)视频中所不可或缺的基本元素。这个芯片还提供了对 1080p/30fps的
H.264高清视频的硬件解码功能,性能令人满意。在这里我不再进一步深入讨论这
方面的内容,不过很确定的一点是, BCM2835的图形和音频处理能力对于完成本书中的所有项目,都绰绰有余。
如果你对性能数据有兴趣,下面列出的是 Broadcom VideoCore IV GPU的处理能力数据:
◆ 1G像素 /秒(即 1秒钟处理 1亿个像素)
◆ 1.5G纹理处理 /秒(即 1秒钟处理 1.5亿个纹理单元)
◆ 24G FLOPS(即 1秒处理 24亿次浮点运算)
这样的计算能力,与第一代的 Xbox游戏机的计算能力相当,对于一块小小的SoC来说,已经非常出色了!
存.储
RasPi上有两种类型的存储:动态随机存取存储器( DRAM)和 SD(Secure Digital)内存卡。 RasPi的最初版本,也就是 A型的主板,配备了 256M的内存,但最新的 B型主板有 512M内存。内存芯片在主板上很容易找到,就在 SoC的最顶层。从图 1.2中展示的 SoC上可以看出,内存芯片是由三星生产的 K4P4G324EB ACC1,这是一片专为移动设备设计的低电压版 4 Gb (512 MB)的DRAM。这也就意味着,它也是使用低电压驱动的,工作频率也不会太高。拥有 512M的内存意味着不但操作系统可以运行得比较流畅,而且各种设计合理的应用程序也应该可以流畅运行。
SD卡是用来存储操作系统、应用程序和其他需要长期保留的数据文件的。也就是说,当切断 RasPi的电源后, SD卡上的数据仍然会被保留。 RasPi使用 SD卡保存数据就跟普通台式电脑使用硬盘来保存数据是一样的。市面上有各种尺寸的存储卡,你需要购买刚好可以插入 RasPi侧面的插槽的那种,如图 1.3所示。
如果你买的是 RasPi的入门套件,里面就应该包含一张 4GB容量的 SD卡,并且上面已经预装了一个 Linux系统。如图 1.4所示。
在本章后续内容中,我将介绍如何自己在 SD卡上安装操作系统,这样就不需要额外购买一张预装了系统的 SD卡了。注意,大部分 SD卡上都会有一个 Class标记。图 1.3中展示的 SD卡上没有这个标记的原因是那张卡上的标签是自己定制过
Raspberry Pi的背面
预装了操作系统的 SD卡的。 Class标记用来标明这张存储卡的最低存取速表1.1.SD卡类型与存取性能对照表
度。由于 RasPi是用 SD卡来代替硬盘,所以 SD卡的存取速度越快越好。 Class 4的SD卡在市面上最为常见, Class标记与最低存取速度的对应关系如表1.1所示。
Class 最低存取性能
Class 2 2MB/s
Class 4 4 MB/s
Class 6 6 MB/s
Class 10 10 MB/s
通过上面的介绍,你可以想象,应该为 RasPi选用尽可能高速的 SD卡,这样才能保证 RasPi运行起来有更好的性能。唯一的问题在于,高速的 SD卡对应的价格会稍高一些,在相同存储容量的情况下,有时价格甚至能差上一倍。我的建议是购买一张 Class 4或更快的 SD卡,不然 RasPi的性能会下降到让你失望的程度。
RasPi的接口
RasPi提供了 9个接口,包括:电源接口、 HDMI(High-Definition Multimedia Interface,高清晰度多媒体接口)、模拟复合视频接口、音频接口、以太网口、 USB接口、两个扩展接口和 GPIO(General Purpose Input/Output,通用输入输出)引脚。每一种接口都有它特定的功能,我会在后续的章节中逐一进行介绍。不过我不会详细介绍那两个扩展接口,而只能简单介绍在写作本书时我所了解到的一些相关信息,因为它们现在还没有什么确切的用途。之所以要把 GPIO引脚放到最后介绍是因为它最为复杂,需要用较多的篇幅才能介绍清楚。
电源接口
如图 1.5所示, RasPi的电源接口是一个 MicroUSB接口,可以连接 USB电源适配器获取 5V直流( DC)电(本书介绍的内容都只使用直流电,所以在后续内容中
Micro USB电源接口
评论
还没有评论。