首页>参考读物>电子电工>电子工程

iPhone/iPad电子制作:基于techBASIC开发Arduino、传感器和蓝牙BLE应用
作者 : [美] Mike Westerfield 著
译者 : 李景媛 吴晓嘉 译
出版日期 : 2015-04-14
ISBN : 978-7-111-49677-9
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 304
开本 : 16
原书名 : Building iPhone and iPad Electronic Projects:Real-World Arduino, Sensor, and Bluetooth Low Energy Apps in techBASIC
原出版社: O'Reilly Media USA
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书通过实例指导读者将iOS开发和电子制作结合起来开发各种电子产品项目。

图书前言

每一天,你的口袋里都装着一台了不起的科学仪器,而你却只是用它来做些平淡无奇的事,例如打打电话或听听音乐。虽然iPad 2已经和数十年前的Cray-2超级计算机的运行速度一样快,但多数的人还只是用它读读书或上上网。这是多么浪费!
本书通篇都在介绍如何把你的iPhone、iPod Touch或iPad与现实世界连接起来。首先,你将学到如何访问内置在设备中的传感器;接着,还会了解如何使用一个叫作HiJack的奇妙小装置把有线的传感器通过耳机插孔连接到手机上。本书还将用几章来展示使用低功耗蓝牙技术连接传感器、Arduino微控制器、电动机控制器,甚至其他iPhone或者iPad的不同方法。最后,你还将详细地了解如何使用WiFi去连接互联网或者与WiFi设备相连的物理设备。
如果我们所做的这些连接仅仅只是为了让几盏LED灯亮起来,那也没有什么意思。因此,本书还会围绕一些好玩、有趣的项目来组织内容。例如,使用内置的传感器去打造一台金属探测仪;把HiJack连接到一个简单的电子设备上以使其成为一台植物湿度传感器。我们还将使用低功耗蓝牙技术去连接TI(德州仪器公司)的SensorTag,以便对加速度进行检测,从而使其能够追踪模型火箭的飞行。之后,我们还把这种技术应用到一块Arduino微控制器上以对一部遥控汽车进行改造。此外,本书还将展示如何制作机器人并使用iPhone去控制它们。同时也会介绍如何在iOS设备之间通过低功耗蓝牙技术进行点对点的通信,并通过制作一个使用iPhone作为球拍的街机游戏让你了解具体的实现办法。我们也将把WiFi和串口桥结合起来去控制伺服电动机,且最终实现对一台糖果机的改造并让iPhone去控制糖果的分发。
我们在学习每一个主题的时候,都会先在一章中用一个简单的项目去介绍基本的原理,后续再用一章或多章展示这个好玩的项目。你可能不想亲自动手去做每一个项目,但看看这些项目是如何制作出来、又是如何工作的,也会为你打造自己的项目提供一些思路。
你也不需要按部就班地阅读本书。如果书里面有一个项目真的让你很感兴趣,那你完全可以直接跳到那一章。每一章都是以一个“关于本章”的小节开始的,它会列出学习该章的先决条件,也会告诉你在尝试感兴趣的项目之前,需要掌握哪些章节的内容。
本书中的硬件开发所使用的电子器件都可以在许多网上商店买到,特别是一些很难在当地商店找到的器件。请在开始学习之前做好安排,提前一两周看看每一章所列出的器件,并订购需要的东西。
最后要说的是,书中的项目涵盖了若干个学科的知识,既有许多软件方面的知识,也有很多电子知识,同时还涉及大量的机械工程知识。书中的内容可能会超过你的能力之所及,在我写作本书的时候,有些项目对我来说也是这样。毕竟,我们大多数人要么是通过教育要么是根据兴趣爱好而获得一定的专业能力,但几乎没有一个人能够全部精通计算机科学、电气工程、机械工程和物理学。
勇敢前进吧,同学们。
本书的内容经过了精心的编排,如果你对软件不太熟悉,可以先从书中已经完全开发好的程序入手,这些程序都已经内置在techBASIC中。如果你不清楚电池的两端有何区别,只要照着书中的示意图和照片进行连线就可以了,这些示意图和照片都清楚地描述了每一个电路。随着学习的深入,你也可以开始做些试验。当然,在这一过程中你可能会遭遇挫折,比如我在进行书中所列项目的时候就烧坏了一两块电路,还有许多软件也崩溃过。因此,当你在进行书中项目时肯定也会面临这些情况。不过,这才是我们学习的方法。
当然,我希望你也不要仅仅止步于开发书中的这些项目。我们学习的关键是学会如何去做一些东西,而不仅仅是按照方案来做。不论你是试着解决如何从埋藏着的地震仪中远程访问数据的专业人士,还是为了准备科学展览作品而研究机器人技术的学生,又或者是一名在车库中捣鼓奇思妙想的发明家,我都希望本书能够带给你一些技术指导和灵感,让你可以将软件、电子和机械结合在一起构建出各种设备,并创造出了不起的东西!
现在出发,去掌控我们的世界吧!
本书约定
下面是本书中使用的排版约定:
斜体(italic)
代表新的术语、URL、E-mail地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及各个段落中引用的程序元素,如变量或者函数名称、标记、属性和操作符。
等宽斜体(Constant width italic)
展示由用户提供值替换或者由上下文决定的文本。
注意: 表示提示、建议或者一般的注释。
警告: 表示一个警告或者警示。
示例代码的使用
本书是为了帮助你完成工作而写的。一般来说,你可以将本书中的代码用于程序和文档。除非你复制代码中的大部分,否则不需要联络我们取得授权。例如,当编写一个程序时使用几段本书中的代码不需要授权。销售或者分发来自O扲eilly的示例CD-ROM则需要授权。引用本书内容或者示例代码来回答问题不需要授权。将本书中的大量代码放在你的产品文档中则需要授权。
我们赞赏注明出处的做法,但是并不强制要求。出处通常包括书名、作者、出版商和ISBN。例如:“Building iPhone and iPad Electronic Project by Mike Westerfield(O扲elly).Copyright 2013 James M.Westerfield, 978-1-449-36350-5.”
如果你觉得代码示例的使用超出了正当范围或者上面提供的授权范围,可以邮件联系我们permissions@oreilly.com。
Safari联机丛书
Safari联机丛书是一个点播式的数字图书馆,你可以用它轻松地搜索超过7500本技术和创意参考书及视频,快速地找到需要的答案。通过订阅它,你可以阅读来自网络图书馆的任何页面和视频;在你的手机和移动设备上阅读书籍。在新书付印之前获取信息,独家访问创作中的手稿并向作者提交反馈;复制和粘贴代码示例、组织收藏夹、下载章节、为重点部分添加书签、创建笔记、打印页面,此外还有许多节约时间的功能。
O扲eilly Media已经将本书上传到Safari联机丛书服务。想要得到本书电子版的访问权和来自O扲eilly及其他出版商在相似主题上的书籍,可以在http://my.safaribooksonline.com上免费注册。
如何联系我们
有关本书的评论和问题,请通过如下方式联系出版商:
美国:
O扲eilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
我们建立了本书的一个网页,列出了勘误表、示例和其他附加信息。网址为:
http://www.oreilly.com/product/0636920019091.do
如果想对本书提出评论或者询问技术问题,请发送电子邮件到:
bookquestions@oreilly.com
关于我们的书籍、会议、资源中心以及O扲eilly Network的更多信息,请参见我们的网站:
http://www.oreilly.com
http://www.oreilly.com.cn
致谢
小时候,我是一个书呆子,整天带着计算尺从图书馆进进出出,而我最喜欢的一本书是《业余科学家》(the Amateur Scientist),书中刊登了一些源自《科学美国人》(Scientific American)的文章,也有各种各样的项目。那本书被我翻来覆去地看,最后,我自己买了一本,并把它翻烂了。
我希望现在你看的这本书可以比肩我说的那一本。本书包含了很多项目,其中有一些是你不可能自己花时间去构建的。我同样希望你能够把这本书翻烂,不过,当你阅读的时候请记住:本书不是我单独一个人完成的。诚然,书是我写下的,但事实正如牛顿的名言—— “如果我比别人看得更远,那是因为我站在巨人的肩膀上。”
无论是课内还是课外的老师,我都觉得亏欠他们许多。其中有许多人混迹于早期的Apple Ⅱ社区,即便我没有把他们的名字写出来,你还是可以在阅读本书的过程中发现他们的足迹。只要你查查堪萨斯州的档案资料就会发现其中的几位颇具创造力的人。
我的妻子也是一位了不起的人。她既是我的拉拉队队长,也是给我挑刺儿的人,更是第一位阅读、更正本书的人。当我们的房子被火箭、机器人汽车和遥控小玩意占据的时候,她会照看好我们的房子,并给我鼓励而不会抱怨我把屋子弄得一团糟,她甚至还亲自参与了许多项目。另外,第11章的眼球就是她的佳作,她真是位了不起的最佳拍档。
犹他大学(University of Utah)的Thomas Schmid花了大量时间来回答我关于HiJack的问题,这绝对让我少受了不少煎熬。HiJack和许多组件一样都是由Seeed Studio译注1制造的。Seeed Studio的Leslie Liao非常好心地为本书的审稿人提供了HiJack,使他们可以对第4章和第5章的项目进行试验。
我还有一些在挪威的德州仪器设备公司工作的很出色的新网友。特别是Jarle Be,他实在是好得不可思议,他在SensorTag甚至还没有面世的时候就给我使用,也让我使用了他的一些照片(在文中都标注了出处)。同时他的员工可不止是给了我帮助—— Jomar Hoensi甚至编写了一个特别版的固件为火箭的飞行收集多达±8GB的数据。当我想要迅速掌握低功耗蓝牙技术时,他又花了很多时间帮我解答了大量有关的初级问题。你在第7章看到的火箭之所以能够存在就是因为他们的努力。我很高兴这几枚火箭能够去挪威参加贸易展览,即便不是我亲自送去的。
本书的审校者耐心而艰苦地审完了本书的部分或全部章节。他们多数是了不起的天才Ryan团队的成员。其中,Kevin Ryan、Jess Finley和Ken Moreland花了不计其数的时间让一切能正常顺利进行,并给出了清楚的意见让我参考,他们甚至组建了一个电子团队去构建书中的项目。从大的方面看,Doyle Maleche加入审稿团队之后,他的教育工作者的经历对本书带来了很大的影响。我甚至现在才知道,O扲eilly一位优秀的作者Alasdair Allan也花了一定时间对本书的部分章节进行了审校。总之,他们的意见让本书变得更加出色。
在过去的若干年里,我为几本杂志撰写了不少文章,也与几家公司一起发布了一些软件。虽然我和出版社、编辑已经打过很长时间的交道,但本书却是我第一本传统意义上的书。同时早期在Call A.P.P.L.E期刊的编辑和作者那儿得到的一些训练和鼓励让我在撰写此书时感到非常幸运。我曾经几乎觉得能找到一家真正关心作者和产品的出版社已经不可能了,但O扲eilly看起来的确是个例外。同时我也很幸运地遇到了两位非常好的编辑,Brian Jepson编辑让我动起笔来,且在Make期刊从O扲eilly独立出去时,他把我介绍给了Courtney Nash编辑。我能够接连遇到如此出色的两人已经足以说明这家公司的实力了。如果你也决定写点什么,那一定要写信给他们,他们都是很棒的人。
因此,我要感谢以上所有的人,不管是早年在Apple 遇到的朋友,还是O扲eilly的新朋友们,谢谢你们让我出彩!
出处说明
虽然已经修改,但第5章所讲内容原来是刊登在Nuts & Volts杂志(http://www.nutsvolts.com/)2012年的6月刊上的,这一章已得到了T & L出版公司的转载许可。
第6章中SensorTag的照片是由德州仪器公司的Jarle Be所提供。
第3章的地球磁偏角图例来自于维基共享资源。

上架指导

计算机\程序设计

封底文字

为什么你只用iPhone或iPad去听音乐或上网?实际上,你可以用它们实现一些非常有趣的项目,比如打造一个金属探测仪、改造遥控卡车或者跟踪飞行中的火箭。通过本书,你将学会如何使用iOS设备的传感器和类似Arduino及低功耗(LE)蓝牙扩展板这样廉价的硬件去实现这些项目和其他很酷的东西。

 这本实践指南将展示如何使用techBASIC编写简单的应用程序,techBASIC是运行在iOS设备上的经苹果公司认可的开发环境。只需要用几行代码,你就可以直接在你的苹果设备上编写应用,并让此应用与其他的硬件进行交互。

    使用iOS磁力计打造一个金属探测仪
 使用HiJack硬件平台实现一个植物湿度传感器
 把iPhone放在小型火箭上收集加速度和旋转数据
 用Arduino和低功耗蓝牙改造遥控卡车
 用一个iPad控制器和两个iPhone球拍制作街机游戏
 用iOS设备、微型伺服电动机和WiFi连接控制糖果机

  “我的iPad终于可以和现实世界进行交互了!techBASIC是我使用过的最简单也最直观的编程工具。这本书真的让我想去研究有什么创新的思路,可以用iPad去控制物品。”
            ——Jarle Bøe
      德州仪器公司的无线技术传道者

作者简介

[美] Mike Westerfield 著:Mike Weterfield是Byte Works公司的负责人,这是一家独立的软件发行和咨询公司。他开发过iOS专业计算软件、军事卫星的关键任务软件、小学的多媒体创作工具和许多其他的项目。

译者简介

李景媛 吴晓嘉 译:暂无简介

译者序

近段时间来,关于苹果公司开发可穿戴设备的传言甚嚣尘上,也许在本书付梓之时,这样的设备已经在市场上推出。而不管未来如何,在这过去的五六年里,iOS的开发持续火热,但多数开发者关注的仍是软件应用领域。随着技术的成熟和业界主流公司的引领,iOS开发的重心已逐步向硬件领域转移,例如苹果公司发布的HomeKit、CarPlay等技术都是为了让我们与现实世界更好地交互。而本书正是涉及这样一个主题,教读者如何开发iPhone和iPad的电子项目,并引领我们走向iOS硬件开发之路。
当然,几个月前拿到本书时,我们认为这不过是一本介绍iOS硬件开发的常规书,但是细细读过之后,才知此书与众之不同。这不是一本介绍直接利用iOS基础技术进行电子开发的书,而是讲解了如何使用一种叫作techBASIC的语言和硬件去打交道。这种语言实现了非常好的抽象和封装。首先,它的语法简单,大部分学过编程的人都或多或少地接触过BASIC系列的语言,这使得在iOS上进行硬件开发的门槛大为降低。特别是对于硬件开发人员来说,可以把更多的精力放在电路设计等擅长的领域上,而不用去学习语法较为“怪异”的Objective-C和复杂的Cocoa框架。其次,这种语言对一些传感器提供了非常好的支持,甚至一行代码就可以代替Objective-C的几十上百行代码,使电子项目的开发可以变得非常快速,对于需要不断调试的硬件开发来说,可谓大大减少了难度。这正是本书在开发语言上的独特之处。
另外,这是一本极其实用的书。它不是泛泛地讲述理论,而是通过作者亲自动手做过的每一个电子项目逐步带领读者领略iOS电子开发的要点和精髓。每一章都几乎是围绕一件完整的电子作品展开的,内容甚至细化到零件的选型购买、电路板的接线过程。哪怕读者从未接触过电子或机械制作,也可以通过本书迅速入门。我们在翻译的过程中,甚至都有自己动手去制作的冲动。
本书也是一本涉及开源硬件领域的罕见书。通过对HiJack、SensorTag、Arduino等设备的介绍,让我们得以洞悉开源硬件的广阔天地和前景。当我们知道其中的不少设备是出自中国公司之手时,心中更是有了些许诧异和自豪。
本书的翻译历时四个月,这也是我们和机械工业出版社的第二次合作,一如既往,翻译的过程非常辛苦,但合作的过程非常愉快。之所以辛苦,除了翻译工作本身的烦琐之外,还有一个原因是这本不算厚的书涵盖的专业知识非常广泛,除了软件开发、电子技术和机械工程的知识外,书中还有很多与地理、物理和数学专业相关的内容。诚如作者坦言,谁都无法精通这所有的领域,我们也同样如此。因此我们只能小心翼翼,特别是对我们不擅长的领域,更是心存忐忑。限于水平有限,书中可能会有谬误之处,还望读者批评指正。而之所以愉快,是因为机械工业出版社敬业的编辑让译者感到舒心,他们在翻译过程中给予了我们极大的信任和非常专业的指导,让本书的翻译过程变成了一段非常愉快而有收获的历程。
最后想说的是,这是一本可以带领读者打开iOS硬件开发大门的书,虽未面面俱到,但它真正带来的是让读者去思索如何使用我们手中的iPhone或iPad和现实的生活进行沟通,如何用它们去真正掌控我们的世界。而我们的翻译工作若能为你在探寻未来之路的过程中提供些许方便,则是译者最大的满足。
愿书香伴你一路前行!
李景媛 吴晓嘉
2014年于昆明盘龙江畔

图书目录

前言 1
第1章 techBASIC与内置传感器入门 7
1.1 属于自己的三录仪 7
1.2 techBASIC速成教程 8
1.3 加速计 14
第2章 访问其他内置传感器 27
2.1 陀螺仪 28
2.2 磁力计 36
2.3 更快的传感器响应 42
2.4 航向 46
2.5 定位 47
2.6 属于自己的三录仪 48
第3章 打造金属探测仪 49
3.1 iPhone/iPad磁力计 50
3.2 地球的磁场 51
3.3 使用iPhone或iPad作为金属探测仪 52
3.4 了解更多的内容 57
第4章 HiJack 59
4.1 什么是HiJack 60
4.2 构建传感器 61
4.3 HiJack的外部电源 65
4.4 Hello HiJack 66
4.5 错误出现 68
4.6 更好的HiJack程序 69
4.7 了解更多的信息 74
第5章 使用HiJack打造湿度计 75
5.1 把湿度计添加到三录仪中 75
5.2 组装湿度计 76
5.3 校准 77
5.4 更出色的软件 83
第6章 低功耗蓝牙 94
6.1 什么是低功耗蓝牙 95
6.2 TI SensorTag 96
6.3 加速计 111
6.4 气压计 120
6.5 陀螺仪 129
6.6 磁力计 135
6.7 湿度传感器(湿度计) 142
6.8 温度计 148
6.9 深入学习 154
第7章 低功耗蓝牙iPhone火箭 155
7.1 火箭科学小知识 156
7.2 器件清单 157
7.3 为什么要使用SensorTag 160
7.4 制作过程 161
7.5 数据收集程序 169
7.6 SensorTag 8G软件 179
7.7 飞行秘诀 181
7.8 数据 183
7.9 我们发现了什么 189
第8章 用低功耗蓝牙和Arduino改造遥控卡车 191
8.1 使用BLE控制卡车 192
8.2 卡车的选择 194
8.3 改造卡车 198
8.4 控制Arduino Uno 209
8.5 软件 214
8.6 启动引擎 228
第9章 点对点的低功耗蓝牙 229
9.1 低功耗蓝牙从属模式 229
9.2 BLE Chat 230
第10章 Paddles:蓝牙版Pong纪念游戏 243
10.1 经典的Pong游戏 243
10.2 Paddles游戏 244
10.3 Paddle软件 245
10.4 Paddles控制台软件 249
第11章 WiFi 262
11.1 全世界的传感器 262
11.2 WiFly 264
11.3 WiFi Arduino 270
第12章 WiFi伺服电动机 275
12.1 伺服电动机:行动之所在 275
12.2 万圣节狂欢 281
12.3 使用伺服电动机实现推拉动作 286
12.4 隆重的仪式到了 289

教学资源推荐
作者: [加]克拉伦斯·W. 德席尔瓦(Clarence W. de Silva) 著
作者: (巴西)Paulo S. R. Diniz,Eduardo A.B.da Silva,Sergio L.Netto著
作者: 李林功,吴飞青,王一刚,丁晓
作者: [加拿大]西多奥·威尔迪(Theodore Wildi)著
参考读物推荐
作者: [美]罗伯特·奥沙纳(Robert Oshana)编著
作者: [新加坡]贾甘纳坦·坎尼亚(Jagannathan Kanniah),M.菲克雷特·埃尔坎(M. Fikret Ercan),卡洛斯A.阿科斯塔·卡尔德隆(Carlos A. Acosta Calderon)著
作者: 叶国阳 刘铮 徐科军 编著