产品特色
编辑推荐
※SuperMaker 团队将书中教学案例拍摄成系列视频与大家分享,可通过扫描二维码,快速进行学习。
※奥松机器人公司CEO于欣龙、树莓派吧吧主李明共同推荐!
※树莓派是创客们喜爱使用的智能硬件,它是一款功能强大的微型计算机,能够为艺术家、创客、制作爱好者和做原型设计的工程师们提供体积小功能强的控制平台。
※这本书是Make出版社出品的经典入门系列书中首本,是你开始接触树莓派首要选择的书籍。它言简意赅地介绍了初学树莓派需要掌握的入门知识,让你快速掌握与之相关的编程技巧。
※本书中还讲解了与树莓派相关的Python、Linux、Scratch的使用方法。
※书中给出了你可能需要用到的代码,只要按照书中给出的步骤操作,就可以完成安装、设置软硬件并制作项目。
※除了基础知识外,作者还提供了多个可以立刻上手实践的简单有趣的项目,让你学完知识后,可以马上体验实操的乐趣。
内容简介
Raspberry Pi是低成本微型计算机,体积小却具备强大的功能。本书深入浅出地介绍了Raspberry Pi的基础知识,包括软件、硬件配置,启动Linux操作系统,介绍其底层GPIO接口编程技术,并指导你把Raspberry Pi与Arduino结合在一起,设计出可以通过网络远程控制的电子作品。此外,你还将学习Pygame多媒体编程,并用Scratch完成一个简单的小游戏。
作者简介
Matt Richardson,是Brooklyn创意专家和制片人,MAKE杂志和Makezine.com网站的撰稿人,也是Awesome Button Studios技术咨询公司的所有者。
Shawn Wallace,是Fluxama工作室的成员之一,负责新型iOS乐器的开发。他在Modern Device设计了一些开源硬件套件并在普罗维登斯Fab Lab进行Fab Academy教学。
内页插图
精彩书评
※本书全面地介绍了Raspberry Pi硬件结构和操作系统的使用方法,讲解了Raspberry Pi与Arduino进行交互的内容,并通过系统中预装好的Scratch图形化编程软件进行程序设计,深入剖析当下热门应用案例。本书具有很强的实操性,包含大量珍贵的代码实例,是不可多得的好书。本人联合SuperMaker团队将书中教学案例拍摄成系列视频与大家分享,你可通过扫描书内推荐序中的二维码,快速进行在线学习。
——于欣龙 奥松机器人公司创始人、资深创客
※树莓派从最初的面向青少年的教育项目,到在极客界激起层层波澜的核心硬件,发展至今,已经推出了能够满足不同需求的多种型号。对于入门爱好者来说,树莓派背后强大的社区支持、丰富的资源,以及爱好者们分享的经验,是非常具有吸引力的。本书作为久经考验的经典读物,曾经帮助许多读者敲开树莓派学习的大门。本次出版的第2版图书更新增补了一些时效性的内容,相信能为入门爱好者提供参考。
——李明 Web开发者、百度树莓派吧吧主
目录
1/启动和运行 … …… 1
树莓派主板一览… …… …… 2
适用的外设… ………… 6
盒子… …… …… 10
选择操作系统… … …… 11
SD卡闪存……… … 12
高级操作:创建磁盘镜像… … … 12
启动… … …… 13
配置树莓派… … 15
关机… …… …… 17
Headless运行… ……… 17
排障… ……………… … 18
深入学习… ……………… … 19
2/树莓派上的Linux …… … 21
使用命令行… …… … 24
文件和文件系统… ……… … 25
更多Linux命令… ……… … 29
进程……………… …… 31
Sudo与权限………… ………… 32
网络… ……… … 34
/etc……………… …… 35
设置日期与时间… …… …… 35
安装新软件… ……… ……… 35
Linux系统的声音… … …… 36
固件升级… ……… … 37
深入学习… …………… 38
3/ 定制的操作系统版本 … … 39
面向家庭影院的版本… … ……… 40
音乐发烧友的操作系统… … …… 41
使用Occidentalis成为硬件极客…… … 41
复古计算与复古游戏… … …… 42
其他功能强大的版本… ……… 42
深入学习… …… … 43
4/树莓派上的Python …… … 45
Hello,Python…… ……… 46
关于Python的更多知识… …… … 49
对象和模块… ……… … 51
更多的模块… …… … 54
通过Python启动其他程序… …… … 56
排障… ………… …… 57
深入学习… ……… …… 58
5/用于动画和多媒体的Pygame … …… …… 61
Hello,Pygame… …… … 61
Pygame…Surface… …… …… 63
在Surface上绘制图形… …… 64
处理事件与输入… ……… 65
Sprite… ……… 68
播放声音… … ……… 70
播放视频… … ……… 73
深入学习… ………… … 74
6/树莓派上的Scratch … … …… 75
Hello,Scratch…… … … 75
Stage(舞台)……… ……… 79
关于Sprite你需要了解的两件事… … … 80
一个复杂点的案例… …… …… 82
Scratch与现实世界…… …… 88
分享你的程序… …… …… 88
深入学习… …… …… 90
7/Arduino和树莓派 ……… … 91
在Raspbian上安装Arduino… … …… 92
查找你的串行口… …… 93
串行通信… …… ……… 94
使用Firmata…… ………… 98
深入学习… ………… ……… 99
8/基础输入输出 …… ……… 101
使用输入和输出… ………… …… 103
数字输出:点亮一个LED灯… …… …… 104
面包板新手指导… …… …… 104
数字输入:读取一个按钮… ……… ……… 107
项目:灯光定时器… … ………… 110
编辑脚本命令… … ………………… 111
连接一个大灯… …… …………… 112
使用cron定时命令… …………… ……… 113
更多关于cron的信息… …… …………… 114
深入学习… ………… ……… 115
9/使用Python进行输入输出编程 ………… …… 117
在Python中安装并且测试GPIO… ………… … 117
使LED闪烁… ………… ……… 120
读取按钮… ……………… …… 122
项目:简易声卡… … ………… 124
深入学习… …………… ………… 127
10/模拟输入输出 … …… ………… 129
输出:数模转换… ………… …… 130
驱动脉冲宽度调制测试… …… ………… 130
进一步使用PWM…… … ……… 132
输入:模数转换… ………… ……… 132
可变电阻… …… … 137
电位器电路… …… ……… 138
压敏电阻… ……… …… 139
深入学习… …… …………… 140
11/操作摄像头 …… … 141
摄像头模块的连接与测试… … …… 142
项目:做一张GIF图片… …… … 144
捕捉视频… … ……… 145
测试USB网络摄像头… …… 145
安装并测试SimpleCV………… …… 146
用于树莓派摄像头模块的附加步骤… …… … 147
显示图片… … … 148
修改图片… ……… … 150
访问网络摄像头… … … 152
人脸识别… ………… … 153
项目:树莓派快照亭… ……… …… 155
深入学习… ………… …… 158
12/Python和互联网 … ………… … 159
从一台Web服务器下载数据… … …… 159
获取天气预报… ……… …… 161
提供服务的树莓派(Web服务器)… …… …… 165
Flask基础…………… …… 166
将Web连接到现实世界… … …… 169
项目:网络电灯… …… ……… 171
深入学习… ……… ……… 175
附录/写入一个SD卡镜像 … ………… …… 177
使用OS…X将系统镜像写入SD卡… …… … 177
使用Windows操作系统写入一个SD卡镜像……… … 178
使用Linux写入一个SD卡镜像… ……… … 178
前言/序言
其实我们很容易理解为什么人们在树莓派(RaspberryPi)首次发布的时候会如此激动。一台售价 35 美元只有信用卡大小的计算机的出现就像是在做白日梦一样。这就是当树莓派开始销售时在爱好者群体中掀起一股热潮的原因。当时,树莓派供不应求的情况持续了数月之久,而且预购这种微型计算机的名单已经列了很长。除了价格低廉之外,树莓派是凭借什么抓住这些硬件发烧友的心的?在我们讨论那些使得树莓派如此优越的特性之前,我们先得谈论一下树莓派的目标用户。
Eben Upton 与他在剑桥大学的同事们注意到,如今着手学习计算机科学的学生们并没有 20 世纪 90 年代的学生们所具备的技能。他们认为,家用个人电脑的普及与游戏终端已经取代了 Amigas、BBCMicros、SpectrumZX 和 Commodore 64 等机器,而这些机器是较早时期人们学习编程的工具,但是现在的人已经不需要为了使用电脑而学习编程了。由于计算机对每个家庭的所有成员都变得非常重要,所以家长们不鼓励年轻人拆开电脑或进行维修,以防止损坏家庭中这样一个重要的电器。但是,智能手机与平板电脑的处理器在最近几年变得越来越便宜,同时性
能越来越强大,这也为树莓派跃入价格低廉、功能强大的微型计算机行列奠定了基础。
正如Linux之父Linus Torvalds在BBC新闻的一次访谈中所谈及的,树莓派使得“轻松承担失败带来的成本”变得可能。
探索微型计算机的无限可能:一段关于创造与实践的旅程 在信息技术飞速发展的今天,一股由微型计算机驱动的创新浪潮正以前所未有的速度改变着我们的生活和工作方式。它们小巧的身躯蕴藏着强大的计算能力,为无数创意的实现提供了坚实的平台。从智能家居的便捷控制,到自动化生产线的精细管理;从趣味横生的电子制作,到服务于科研领域的精密实验,微型计算机的身影无处不在。而在这场激动人心的技术革命中,有一个名字尤其闪耀,它以其开放性、灵活性和强大的社区支持,成为了无数开发者、创客和学习者的首选——它就是Raspberry Pi(树莓派)。 这本书,并非仅仅是对某个特定设备的介绍,它更是一扇通往全新可能性世界的大门。它将引领你踏上一段融合理论与实践的探索之旅,让你亲身感受从零开始构建数字世界的乐趣与成就感。我们将深入了解如何驾驭这台功能强大的微型计算机,解锁其隐藏的潜力,将其转化为你手中解决问题的利器,实现那些曾经只存在于想象中的奇妙构想。 不仅仅是学习,更是创造的启蒙 本书的核心目标是赋予你一种全新的创造力。我们不满足于简单的“是什么”和“怎么做”,而是致力于帮助你理解“为什么”。通过深入浅出的讲解,你将逐渐掌握微型计算机的工作原理,理解操作系统如何在其上运行,以及如何通过编程语言与其硬件进行交互。这种理解将是你在未来面对更复杂挑战时,能够独立思考、分析问题并找到解决方案的基石。 想象一下,你可以根据自己的生活习惯,设计一套智能化的灯光控制系统,让家在黄昏时分自动亮起温暖的灯光;或者,你可以搭建一个家庭气象站,实时监测室内外的温度、湿度和气压,并将数据可视化呈现;再或者,你可以用它来控制一个机器人小车,让它在你的指令下灵活移动,甚至完成简单的巡逻任务。这些都不是遥不可及的幻想,而是通过这本书所学知识,你完全有能力实现的具体项目。 实践为王:动手能力是核心竞争力 我们深信,真正的学习源于实践。因此,本书在内容设计上,将理论讲解与实践操作紧密结合。每一个概念的提出,都伴随着清晰的代码示例和详细的步骤指导。你无需拥有深厚的计算机科学背景,也无需是经验丰富的电子工程师。我们会从最基础的部分讲起,逐步引导你熟悉开发环境,学习基础的编程指令,并最终能够独立完成从硬件连接到软件编写的完整项目。 在本书中,你将接触到多种编程语言,了解它们各自的特点和适用场景。你将学习如何利用各种传感器和执行器,让微型计算机感知外部世界,并做出相应的响应。从简单的LED灯闪烁,到复杂的数据采集与分析,每一步都将让你体会到亲手创造的乐趣,以及看到自己想法变成现实的满足感。 打开硬件的潘多拉魔盒 微型计算机之所以如此迷人,很大程度上在于它能够与现实世界的物理组件进行互动。本书将带领你认识丰富的硬件生态系统,了解各种传感器(如温度传感器、光敏电阻、超声波传感器)、执行器(如电机、舵机、继电器)以及显示设备(如LCD屏幕、OLED屏幕)的基本工作原理和接口方式。 你将学会如何安全地连接这些硬件组件,并理解它们是如何将物理信号转化为数字信息,或者将数字指令转化为物理动作的。这将是一个充满探索和实验的过程,你将有机会尝试不同的组合,创造出独一无二的交互式装置。我们将分享一些经典的硬件项目,让你在模仿中学习,在学习中创新。 编程是沟通的语言 代码是与微型计算机对话的语言。本书将着重培养你的编程思维和实践能力。你将学习如何用清晰、有逻辑的代码来控制硬件的行为,实现特定的功能。无论你是完全的编程新手,还是已经掌握了一些基础,本书都会提供适合你的学习路径。 我们不会仅仅停留在“复制粘贴”式的教学,而是会深入讲解代码的结构、变量的使用、控制流的构建、函数的定义以及模块的导入等核心概念。你会了解到如何编写高效、可读性强的代码,以及如何进行调试,找出并修复程序中的错误。随着你对编程语言的掌握越来越熟练,你将能够自信地解决各种编程难题,并将你的创意转化为实际可运行的程序。 构建你的专属智能系统 本书的最终目标,是让你能够运用所学的知识,独立设计和构建属于自己的智能系统。这意味着,你不再是被动地接收信息,而是能够主动地创造和控制。你可以根据自己的需求,将微型计算机集成到现有的设备中,赋予它们新的智能功能。 例如,你可以为你的植物搭建一个自动浇水系统,让它在土壤干燥时自动进行补充;你可以在你的宠物身上安装一个简单的追踪器,以便随时了解它的位置;你甚至可以尝试构建一个简易的家庭安全监控系统,通过网络远程查看家中的情况。这些项目不仅能提升你的生活品质,更能培养你在解决实际问题中的创新能力和技术素养。 不止于技术,更是思维的飞跃 学习微型计算机,不仅仅是学习一项技术,更是培养一种思维方式。它鼓励你去观察生活中的问题,并思考如何利用技术来解决它们。它让你认识到,微小的设备也能产生巨大的影响力,而每一个看似复杂的系统,都是由无数简单的组件和逻辑组合而成。 通过本书的学习,你将学会分解复杂问题,将它们拆解成一系列更小的、可管理的部分,然后逐一攻克。你将培养严谨的逻辑思维,以及对细节的关注。你还将体验到,在面对挑战时,如何保持耐心和毅力,并从每一次尝试中学习和成长。 开放社区的力量 微型计算机之所以能够如此蓬勃发展,离不开一个充满活力和热情的开发者社区。本书也将引导你认识并融入这个社区。你将了解到在哪里可以找到丰富的教程、开源项目、论坛讨论和技术支持。与其他爱好者交流经验,分享你的项目,甚至参与到开源项目的贡献中,都将极大地拓展你的视野,加速你的学习进程。 一段通往未来的旅程 微型计算机正以前所未有的速度渗透到我们生活的方方面面,从工业自动化到科学研究,从教育娱乐到人工智能,它们的身影无处不在。掌握这项技术,不仅意味着你拥有了一项强大的工具,更意味着你能够站在技术发展的前沿,参与到这场伟大的变革之中。 本书将为你打开这扇通往未来的大门,让你有机会成为这场技术浪潮的创造者,而不是旁观者。让我们一起,用指尖的温度,点燃创造的火花,用代码的力量,构建属于我们的智能世界。这段旅程,将充满挑战,但也定将收获无限的惊喜与成就。准备好,让我们一同出发!