(特价书)面向Arduino用户的树莓派实用指南:物联网应用开发
基本信息
- 作者: [美]詹姆斯·R.斯特里克兰(James R. Strickland)
- 丛书名: 电子与嵌入式系统设计译丛
- 出版社:机械工业出版社
- ISBN:9787111630876
- 上架时间:2019-10-31
- 出版日期:2019 年7月
- 开本:16开
- 页码:284
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > 综合 > 高级程序语言设计

编辑推荐
全面介绍树莓派开发板的开发环境和开发方法。
涵盖结合使用Arduino和树莓派的技巧和流程。
便于Arduino用户转型开发树莓派应用。
内容简介
作译者
客户服务
友情链接
目录
前言
作者简介
审校者简介
第1章 采购清单 1
1.1 树莓派 1
1.1.1 3B+型树莓派 1
1.1.2 为何购买3B+型树莓派 4
1.1.3 Zero W型树莓派 4
1.1.4 为何购买Zero W型树莓派 5
1.1.5 适配器 6
1.1.6 其他型号的树莓派 7
1.2 树莓派的GPIO分线板 7
1.3 5V USB微型电源 9
1.4 集成电路 10
1.4.1 ATmega328P-PU 10
1.4.2 16MHz TTL时钟振荡器 11
1.4.3 74LVC245A八进制总线收发器 12
1.5 LED 13
1.5.1 10段光带 13
前言
一些背景知识
曾经,实际的计算要么是在大型机上完成(这种大型机可以填满整个房子),要么是在小型机上完成(小型机的尺寸和一些文件柜的尺寸差不多)。当时,这两种机器具有超强的计算能力,你要按分钟缴费才能使用它们。这种情况直到1971年首款微处理器Intel 4004发明后才开始改变,紧接着,微处理器衍生出两个泾渭分明的计算机家族。
微型计算机
早期,如果你想要一台微型计算机—因为你在白天要用计算机工作或者可能你是一位需要做相关实验的计算机科学专业的学生,却不想为使用大型机或小型机付钱—那么可以购买诸如Altair 8800(或者其克隆版本Imsai 8080)、Heathkit H8或者Cosmac Elf之类的套装(如果预算足够的话)。如果你的能力够强又足够幸运地把套装内的元部件连接在一起,并让它正常工作,那么你就拥有了一台计算机,可以用它来做想做的事情。
到了1982年年底,微型计算机已经变得风行一时。人们可以到Kmart超市购买Vic 20或者Commodore 64,或者到Radio Shack商店购买任意一台属于庞大的TRS-80计算机家族的计算机。但是对于这些计算机而言,有一点是相同的,那就是软件昂贵。除非想把这类计算机当作Atari街机使用(如同当时的一款视频游戏控制台Atari 2600那样),否则人们不得不编写一些代码。对大多数人而言,这才是真正有吸引力的地方。计算机可以完成我们想做的很多事情,即使是小孩子,也能够操纵计算机。计算机会按我们的需求完成工作。类似以姆赛(IMSAI)这样的公司在计算机中添加了更多设计精巧的电路。你可以从内到外地探究一下微型计算机,看看你能让它做什么。以姆赛以及杰出的Apple II/TRS-80/Commodore玩家对计算机都有深刻的理解,对于计算机知识的学习可以达到甚至超越逻辑门层级。
微控制器
20世纪70年代中后期,用计算机进行控制的交通信号灯、汽车以及烤箱等显然还是过于昂贵。一台微型计算机必须具有CPU、时钟、随机存储器(RAM)、控制RAM的逻辑以及用于启动的只读存储器(ROM)。为了执行简单的任务,你必须搭建一台完整的计算机,这种计算机体积庞大、耗电量惊人,并且批量生产的费用非常高。德州仪器和Intel的工程师首先分别利用TMS 1000及Intel 8048和8051微控制器解决了这个问题,这些微控制器在一块IC芯片上包含了RAM和ROM,并且TMS 1000还包含系统时钟。你可以像对ROM或者EPROM那样对它们进行编程—把IC芯片放置到经过特殊设计的编程器当中,然后把程序烧录到微控制器当中,接下来连接电源以及任何完成工作所需的外围电路。今天当你将桌面微型计算机与微控制器的数量进行比较时,就好像拿消化系统中的细菌和身体中细胞的数量进行比较,微控制器的数量远远超过桌面计算机,比例达到1000:1。
衰退期
到了2000年,得益于互联网以及能够访问互联网的计算机的蓬勃发展,家用计算机变得和家庭汽车一样,被包装成消费型设备,包装中不带有用户可自行维护的元部件,就像如今的Mac Mini或iPhone一样,包裹得严严实实,开箱就会导致质保无效,甚至不能在iPhone上加载自己编写的软件。就如同今天一样,微控制器设备完全是用户不可更改的,如果你购买了一个新的空白的微控制器,就必须在装备、软件和授权许可方面进行大量投资。这样一来,结果就是在大多数事物已经或正在变得计算机化时,却很少有人像当初那样对计算机有深刻的理解,而计算机正是实现计算机化的基石。既然人们已经创造了Linux操作系统,难道就不能创造出新的系统或工具,让未来的技术人员更深层地理解计算机吗?当然能!
新的开端
业余爱好者总是存在,8051以及之后的MicroChip PIC和Parallax BASIC Stamp平台都带有(并且仍然带有)计算机爱好者喜欢的核心硬件,但是这些平台需要复杂的(通常也是昂贵的)软件工具,还需要对各个IC芯片进行大量研究以便弄清它们究竟如何控制自己特定的外围设备。正如Hernando Barragán的硕士论文中的项目那样,他着手简化微控制器的学习和编程,并让这些工具免费和开源。他的项目为每个引脚赋予了一个标准名称,并为每个引脚建立了一个标准化的函数集来控制它,如果引脚具有控制函数,就可以调用其专门的函数。他称这个项目为Wiring,不久之后,他又把Atmel公司的比较廉价的AVR微控制器作为该项目的新的应用目标。
Wiring逐步发展为包含IDE,并加入了Brian Dean开发的AVRDUDE烧录工具,该工具可以让用户轻松地把程序上传到自己的微控制器板当中。Wiring从一开始就是开源的,这并不奇怪。Wiring板大约50美元一块,根据Barragán的成果,Massimo Banzi(即Barragán在Wiring项目上的导师)利用ATmega8系列芯片开发了一款更便宜的微控制器板,并由Wiring创建了一个分支项目,他把整个项目称为Arduino。接下来的事情就众所周知了,当前,涌现了一整个基于微控制器的系统家族,这些系统都用到了Wiring/Arduino开发环境。
再来看微型计算机,树莓派于2012年2月29日出现。圣约翰学院的计算机系曾面临学生动手能力下降并且缺少入学申请者的困境,因此Eben Upton着手为学生提供一种可控制的计算机,这种计算机就如同我们在20世纪80年代拥有的计算机一样。
树莓派最初具有32位单核ARM CPU、256MiB容量的RAM、一个SD卡插槽、一个商用监视器的接头、键盘、鼠标以及有线以太网。与Wiring形成鲜明对比的是,树莓派一开始就运行并且仍然在运行经典的开源操作系统—Linux,Linux是UNIX的“后裔”,它又是当今几乎所有在用的非出自Microsoft之手的操作系统的基础(应该提到的是,Microsoft也有一款面向树莓派的Windows版本,尽管我并不清楚这个版本的优势如何)。
虽然树莓派基金会对树莓派设备的开发控制得相当严格,但是现在还是形成了一个树莓派产品的大家族,从Zero型树莓派(尺寸最小也是最便宜的树莓派,标价5美元)到3B型树莓派(带有64位、主频为1.2GHz的四核ARM CPU以及1GiB容量的RAM),种类众多。
基于微控制器的可编程平台有两种设计风格,一种(Arduino)是为大学生设计的,另一种(树莓派)则是为家庭玩家尤其是小孩子设计的。游戏规则的改变者还是互联网。
物联网与树莓派
20世纪80年代之后,互联网的出现让老式的8位微型计算机变得无用武之地,这个过程虽然缓慢,却毫无悬念地发生着。互联网协议TCP/IP能处理的内容要比计算机能够轻松处理的内容多得多,比如那些接踵而至的图形化和结构化的复杂的网络文档、视频等。
之前,微控制器几乎不可能以诸如RS-232(现在正确的叫法是TIA-232-F,这个叫法能反映修订后的标准)之类的串行协议以外的方式进行通信,但现在,即使由微控制器驱动的小配件也能连接到互联网上,比如在可联网的情况下,我可以从世界上的任何地方访问我的家庭恒温器以及家用花洒控制器,对于家用激光打印机、扫描仪以及电视机也是如此,甚至我的手表中都有一个能够与手机进行网络连接的微控制器。这是一个网络互联的时代,你的小配件或许需要微控制器或者微型计算机与互联网进行通信。
媒体评论
你将会学习到基础的Linux管理知识,所以你会知道如何让机器运转起来,以及如何为你的小装置设置基本的安全保护措施。你将会在树莓派上安装和学习Geany IDE,它和Arduino IDE颇为相似。
你将学习几个使用和阐释WiringPi系统的项目。WiringPi和Arduino的Wiring功能非常类似,Wiring功能负责处理Arduino草图和GPIO之间的交互。你将学习到这两种设备上的GPIO引脚的区别,以及树莓派在那些引脚上的限制,与之相比,Arduino在这些引脚上没有限制。最后一个项目尝试摆脱这些限制,其中会将ATmega328P连接到树莓派,并将其配置成一个真正的8MHz的Arduino,使得在树莓派上运行Arduino IDE。此外,你还将学习到如何在这两个平台之间进行通信,从而充分利用两者的长处。