具体描述
《NFC:Arduino、Android与PhoneGap近场通信》将带你走入近场通信(NFC)的世界,这是一种快速发展的技术,它能够让设备近距离交换数据或使用无线电信号。《NFC:Arduino、Android与PhoneGap近场通信》通过大量实例、代码样例、练习以及逐步分析的项目,向你展示了如何为Arduino、Android 和PhoneGap 编写近场通信的应用程序。《NFC:Arduino、Android与PhoneGap近场通信》内容包括:深入研究NFC 架构;为Android 写带有PhoneGap 和NFC 插件的应用样例;使用PhoneGap 事件监听器监听并过滤NDEF信息;创建一个能控制家中灯光和音乐的Android 应用;编写两个Android 设备之间点对点的NFC信息等。
作者简介
Tom Igoe 在纽约大学Tisch艺术学院教物理计算和网络互动电讯项目的课程。
Don Coleman 是PhoneGap NFC plug-in 的作者,领导着 Chariot Solutions 的移动实践。
Brian Jepson 是 Maker Media 资深编辑,一个黑客,Providence Geeks and the Rhode Island Mini Maker Faire 的组织者之一。
目录信息
本书面向哪些读者 .................................................................................................2
推荐阅读 ................................................................................................................2
本书有哪些内容 .....................................................................................................3
你需要什么 ............................................................................................................4
硬件 .................................................................................................................4
软件 .................................................................................................................6
其他不错的NFC 应用 .....................................................................................7
本书所使用的约定 .................................................................................................7
使用代码示例 ........................................................................................................8
Safari® 联机丛书 ....................................................................................................8
联系我们 ................................................................................................................9
致谢 .....................................................................................................................10
第2 章 NFC 和RFID .................................................. 11
什么是RFID ........................................................................................................ 11
什么是NFC .........................................................................................................12
RFID 如何工作 ....................................................................................................13
RFID 标准体系 ..............................................................................................13
NFC 如何运作 ......................................................................................................13
NFC 数据交换格式(NDEF) ........................................................................14
NFC 的体系结构 ..................................................................................................15
NFC 标签类型 ...............................................................................................16
从哪里买标签 ................................................................................................17
设备与标签类型匹配 ...........................................................................................18
能用NFC 做什么 .................................................................................................19
总结 .....................................................................................................................20
第3 章 从PhoneGap 和PhoneGap-NFC 库开始 ........ 21
为什么选择Android.............................................................................................21
你的第一个PhoneGap 应用:Hello, World ! .....................................................22
设置开发环境 ................................................................................................22
创建PhoneGap 项目......................................................................................27
重要文件 .......................................................................................................30
一个简单的定位应用程序 ....................................................................................32
NFC 读取器 .........................................................................................................38
安装NFC 插件 ..............................................................................................39
编写NFC 读取器应用程序 ...........................................................................40
故障排除 .......................................................................................................43
总结 .....................................................................................................................44
第4 章 NDEF 介绍 .................................................... 45
NDEF 结构 ...........................................................................................................45
TNF(类型名称格式) ...................................................................................46
载荷类型 .......................................................................................................47
载荷ID ..........................................................................................................48
载荷 ...............................................................................................................49
记录结构 ..............................................................................................................49
记录头部 .......................................................................................................50
一个NDEF 消息可以有多大 .........................................................................50
记录组块 .......................................................................................................51
参考 ...............................................................................................................51
NDEF 实战 ...........................................................................................................52
一个标签写入应用:Foursquare 签到 ..................................................................56
把一条NDEF 记录写入标签 .........................................................................57
写不同的记录类型 ........................................................................................60
PhoneGap-NFC 的NDEF 辅助函数概述 .......................................................65
总结 .....................................................................................................................67
第5 章 监听NDEF 数据 ............................................. 69
PhoneGap-NFC 的事件监听 .................................................................................69
一个NDEF 读取器应用 .......................................................................................71
监听多个事件 ................................................................................................72
读取NDEF 消息 ...........................................................................................75
使用记录类型过滤标签 .................................................................................78
使用MIME 类型过滤 ....................................................................................79
Android 标签分发系统 .........................................................................................82
intent 类型 .....................................................................................................83
Android 应用记录 .........................................................................................86
总结 .....................................................................................................................87
第6 章 一个NFC 应用实践 ......................................... 89
用户交互 .............................................................................................................91
了解Hue ..............................................................................................................92
Hue 数据格式 ................................................................................................94
Hue 的REST API ..........................................................................................97
Android shell ........................................................................................................97
PhoneGap 媒体API ..............................................................................................98
用户接口(UI) ....................................................................................................99
应用程序代码 .................................................................................................... 101
通用功能 .................................................................................................... 102
全局事件处理程序 ..................................................................................... 104
Hub 通信功能 ............................................................................................. 106
用户界面控件事件处理程序 ....................................................................... 110
音乐界面事件处理程序 .............................................................................. 113
NFC 事件处理程序 ..................................................................................... 118
启用后台调度 ............................................................................................. 120
总结 ................................................................................................................... 121
第7 章 Arduino 和NFC 介绍 .................................... 123
数字化遇上物理:Arduino ................................................................................ 123
NFC 的硬件核心 ................................................................................................ 125
Arduino 开发环境 .............................................................................................. 125
串行通信 ..................................................................................................... 129
安装Arduino 库 .......................................................................................... 130
Arduino 的NDEF 库 .......................................................................................... 132
读取Arduino 中的NDEF ............................................................................ 134
在Arduino 中写入NDEF ............................................................................ 137
微型控制器NFC 应用:酒店钥匙卡 ................................................................. 138
交互和数据格式 .......................................................................................... 140
Arduino 的NDEF 写入器设备 .................................................................... 142
Arduino 的NDEF 读取器和门锁装置 ......................................................... 148
Arduino NDEF 写入器设备的浏览器接口 ......................................................... 156
Node.js 的应用规范:package.json ............................................................. 156
客户端代码 ................................................................................................. 157
服务器端代码 .............................................................................................. 158
总结 ................................................................................................................... 162
第8 章 点对点(P2P)交换 ...................................... 165
在PhoneGap 中发送P2P 消息 ........................................................................... 167
在PhoneGap 中接收P2P 消息 ........................................................................... 175
切换 ................................................................................................................... 177
静态切换 ..................................................................................................... 178
在PhoneGap 中发送切换消息 ........................................................................... 178
用Arduino 进行P2P .......................................................................................... 184
卡仿真 ................................................................................................................ 184
总结 ................................................................................................................... 185
第9 章 嵌入式系统里的NFC .................................... 187
嵌入式Linux 设备和包管理器介绍 ................................................................... 187
网络、USB 和NFC .................................................................................... 188
嵌入式Linux 上的NFC :概览 .......................................................................... 190
通用功能 ............................................................................................................ 191
选择熟悉的编辑工具 ................................................................................... 191
了解包管理器 .............................................................................................. 191
设置日期和时间 ......................................................................................... 192
建一个下载目录 ......................................................................................... 193
BeagleBone 特性 ........................................................................................ 193
Raspberry Pi 特性 ....................................................................................... 193
安装NFC 工具 ................................................................................................... 194
安装libusb 兼容库 ..................................................................................... 195
安装libnfc .................................................................................................. 195
Raspberry Pi 或BeagleBone 安装测试 ....................................................... 196
安装libfreefare ........................................................................................... 196
libnfc 和libfreefare 的命令行工具 ..................................................................... 197
Node.js 的NDEF 读写 ....................................................................................... 199
标签写入器的Web 界面 .................................................................................... 203
标签控制物理输出 ............................................................................................. 205
BeagleBone 版本 ......................................................................................... 205
Raspberry Pi 版本 ....................................................................................... 207
总结 ................................................................................................................... 211
附录A NFC 规范代码 ............................................... 213
· · · · · · (收起)
读后感
用户评价
这本书在细节处理上也做得非常到位。例如,在介绍硬件连接时,作者会提供清晰的电路图和接线指南,确保读者能够正确地连接NFC模块和Arduino。在代码示例中,作者会特别提醒读者注意一些潜在的错误,比如API的版本兼容性问题,或者内存泄露的风险。这种对细节的关注,充分体现了作者在技术实践中的严谨态度。我还注意到,书中提供的一些代码,都经过了多次的优化和测试,力求在效率和稳定性方面达到最佳。例如,在处理NFC数据读写时,作者会提供一些高效的读写方法,以及如何进行错误处理。这些看似微小的细节,却能在实际开发中带来巨大的便利,并帮助我们避免一些不必要的麻烦。
对于想要深入了解NFC技术,并将其应用于实际项目中的读者来说,这本书绝对是物超所值。它涵盖了NFC技术从基础理论到实际应用的完整链条,并且提供了大量的实操指导和案例分析。无论是想用Arduino制作智能硬件,还是想开发Android NFC应用,亦或是对PhoneGap跨平台开发感兴趣,这本书都能满足你的需求。我尤其推荐那些对物联网、智能设备、移动应用开发有兴趣的读者阅读此书。它能够帮助你快速掌握NFC这一核心技术,并将其融入到你的项目中,创造出更多有趣和实用的应用。我个人在阅读完这本书后,已经成功地开发了几个小型的NFC项目,这让我对自己的技术能力充满了信心,也看到了NFC技术在未来广阔的应用前景。
这本书的封面设计极具科技感,深邃的蓝色背景搭配跳跃的绿色NFC标签图案,瞬间抓住了我的眼球。作为一名初涉物联网(IoT)领域的开发者,我对新兴技术总是充满好奇,而NFC(近场通信)恰好是连接物理世界与数字世界的一个绝佳切入点。翻开书的第一章,作者就以一种循序渐进的方式,深入浅出地介绍了NFC的基本原理,从电磁感应的物理基础,到标签与读写器的通信协议,再到各种NFC标准的演进。这种扎实的理论铺垫,让我这个技术小白也能快速理解NFC为何如此神奇,以及它在现实生活中的无限可能。书中对NFC标签的类型,如NTAG系列、Mifare系列等,进行了详细的分类和阐述,这对于选择合适的硬件模块至关重要。接着,作者并没有停留在理论层面,而是迅速将目光转向了实际应用。Arduino作为一款强大的开源硬件平台,与NFC技术的结合,为我们构建各种智能硬件提供了无限可能。书中关于如何将NFC读写器模块集成到Arduino项目中的步骤,详细到每一个接线引脚的说明,以及相应的代码示例,都显得格外贴心。我尤其喜欢作者在讲解Arduino代码时,不仅提供了功能性的代码,还对其内部逻辑进行了深入剖析,解释了每一行代码的作用,以及背后的设计思路。这使得我不仅仅是复制粘贴,而是真正理解了代码的精髓,能够根据自己的需求进行修改和扩展。这种“授人以鱼不如授人以渔”的教学方式,让我受益匪浅。
这本书的结构安排也非常合理,逻辑清晰,层层递进。从基础概念的介绍,到Arduino的硬件实现,再到Android的原生开发,最后延伸到PhoneGap的跨平台应用,整个学习路径设计得非常顺畅。每一个章节都建立在前一个章节的基础上,让读者能够循序渐进地掌握NFC技术的方方面面。我特别喜欢作者在章节之间设置的“知识点回顾”和“常见问题解答”环节,这有助于巩固前一章节的学习内容,并及时解决学习过程中可能遇到的困惑。此外,书中还提供了一些进阶内容的探讨,例如NFC的安全机制、NFC支付的应用前景等,这让我对NFC技术的未来发展方向有了更清晰的认识。这种由浅入深、由点到面的讲解方式,使得这本书既适合完全没有NFC基础的初学者,也能够满足有一定开发经验的进阶者。我曾尝试过阅读其他一些NFC相关的资料,但往往内容零散,不成体系。而这本书的系统性,让我能够在一个完整的框架内理解NFC技术,从而更有效地进行学习和实践。
阅读这本书的过程,就像是在与一位经验丰富的技术导师对话。作者的语言风格既专业又不失亲切,他用通俗易懂的比喻来解释复杂的概念,使得技术不再是枯燥乏味的代名词。书中并没有出现那些晦涩难懂的术语,或者需要查阅大量外部资料才能理解的内容。相反,作者会尽量在书中解释清楚每一个概念,或者提供相关的参考链接。我特别欣赏作者在讲解一些容易混淆的技术点时,会进行详细的对比和区分,例如不同NFC标准之间的差异,或者在Android和PhoneGap中实现NFC功能的区别。这种细致入微的讲解,让我能够避免许多常见的错误,并加深对技术的理解。这本书给我最大的感受是,它不仅仅是一本技术书籍,更是一本能够激发我学习热情和创造力的启蒙读物。
我之所以对这本书爱不释手,很大程度上是因为它非常注重实用性和可操作性。书中提供的代码示例,无论是Arduino C语言,还是Java(Android)或者JavaScript(PhoneGap),都经过了严格的测试,并且可以直接用于实际项目。作者并没有提供那些“看起来很美”但实际难以运行的示例,而是选择了那些能够真正解决问题、实现功能的代码。在代码的讲解方面,作者同样非常用心。他不仅仅提供了代码,还对代码的每一个关键部分都进行了详细的注释和解释,使得读者能够理解代码的实现逻辑。此外,书中还包含了一些关于调试技巧和性能优化的建议,这对于我们在实际开发中遇到的问题,提供了有效的解决方案。我曾遇到过一个NFC读取速度慢的问题,在书中找到相关的优化建议,并按照说明进行修改后,问题得到了很好的解决。这种“接地气”的技术指导,让我在学习过程中少走了很多弯路,也增加了我的学习信心。
总而言之,这本书是我近期阅读过的最满意的一本技术类书籍。它不仅仅提供了NFC技术的知识,更重要的是,它传授了一种解决问题的思路和一种持续学习的方法。通过这本书,我不仅掌握了NFC相关的技术,更学会了如何将技术应用于实际场景,如何通过不断的实践和学习来提升自己的能力。我真心推荐这本书给所有对NFC技术感兴趣的读者,无论你是学生、开发者还是技术爱好者,我相信你都能从中受益匪浅。这本书为我打开了一扇通往NFC技术新世界的大门,也让我对未来的技术探索充满了期待。
PhoneGap(现已更名为Apache Cordova)的引入,则进一步拓展了NFC技术的应用边界。我一直对跨平台开发技术非常感兴趣,而PhoneGap正是其中的佼佼者。这本书能够将NFC技术与PhoneGap相结合,让我感到非常惊喜。作者并没有停留在仅使用原生Android开发,而是深入研究了如何在PhoneGap环境中调用NFC插件,从而实现跨平台的NFC应用开发。书中详细介绍了如何安装和配置NFC插件,以及如何在JavaScript代码中调用这些插件来实现NFC读写功能。这种方式极大地降低了开发门槛,使得即使不熟悉原生Android开发的开发者,也能快速构建出支持NFC功能的移动应用。我特别欣赏作者在讲解PhoneGap插件集成时,提供的详细步骤和图文并茂的说明,这对于初次接触PhoneGap插件开发的读者来说,无疑是一份宝贵的指南。书中提供的PhoneGap NFC应用示例,涵盖了从简单的NFC标签信息展示,到更复杂的通过NFC标签与后端服务器进行数据交互的场景。这些示例不仅代码实用,而且作者还对代码的结构和设计进行了深入分析,帮助我理解了如何组织一个健壮的PhoneGap NFC应用。通过学习这部分内容,我开始能够想象如何利用PhoneGap,快速将NFC功能集成到我现有的Web应用中,或者开发出可以在iOS和Android平台上通用的NFC应用。
这本书最大的亮点之一,在于它将NFC技术与Android开发紧密结合。在如今智能手机几乎人手一部的时代,如何利用Android平台来赋能NFC应用,是许多开发者关注的焦点。作者在这方面可谓是下了苦功,详细讲解了Android SDK中与NFC相关的API,包括如何检测NFC标签、如何读取和写入NFC标签的数据,以及如何处理NFC Intent。书中提供的Android应用开发示例,覆盖了从简单的NFC标签信息读取,到更复杂的通过NFC标签触发特定操作的场景,例如扫描NFC标签连接Wi-Fi、启动应用、或者发送短信等。这些示例不仅代码清晰,注释详尽,而且作者还对每一个功能点的实现原理进行了深入的讲解,让我能够理解背后的机制。尤其令我印象深刻的是,书中还探讨了NFC标签的加密和安全问题,以及如何在Android应用中实现安全的NFC交互。这对于开发涉及支付、身份验证等敏感信息的NFC应用来说,具有非常重要的指导意义。作者还分享了许多在Android NFC开发过程中可能遇到的坑,以及相应的解决方案,这无疑为我节省了大量的调试时间。通过这本书,我不仅学会了如何编写NFC相关的Android应用,更重要的是,我开始能够独立思考如何设计更强大、更安全的NFC解决方案。
除了技术细节的深入讲解,这本书在案例分析和项目实践方面也做得非常出色。作者不仅仅是罗列技术点,而是通过一系列贴合实际需求的NFC应用案例,将理论知识融会贯通。例如,书中可能讨论了如何利用NFC标签制作一个智能名片,当手机靠近时,自动弹出联系人信息或社交媒体链接;或者如何用NFC标签控制智能家居设备,比如靠近一个NFC标签,灯光自动亮起,空调自动开启。这些案例的引入,让我能够更直观地感受到NFC技术的价值,并激发了我自己的创新灵感。我尤其喜欢书中对每一个案例的拆解分析,从需求分析、硬件选型、软件设计到最终的实现,都进行了详细的阐述。这种完整的项目流程展示,对于初学者来说,非常有指导意义。我曾尝试过按照书中的某个案例,自己动手实践,从购买NFC标签、连接Arduino、编写代码到开发Android应用,整个过程都非常顺利。这不仅锻炼了我的动手能力,更让我对NFC技术的应用有了更深刻的理解。这种“理论与实践相结合”的学习方式,是我认为一本优秀技术书籍最重要的特质。
随便看看
随便看看
随便看看
pycon送的书,随便看看啦。
感觉挺一般的,没什么看头