NFC:Arduino、Android与PhoneGap近场通信(第一本全面讲解NFC应用开发的技术著作移动智能设备近距离通信编程实战入门)
【美】Tom Igoe(汤姆.伊戈),Don Coleman(唐.科尔曼),Brian Jepson(布莱恩.杰普森) 著
金建刚 冯依 姚尚朗 译
ISBN 978-7-121-23997-7
2014年9月出版
定价:65.00元
244页
16开
编辑推荐
欢迎进入近场通信(NFC)的世界,这种飞速发展的新技术能通过无线信号在靠近的电子设备间进行数据传输。本书作为动手指南,通过大量的例子、代码、练习和一步步的项目操作,教你如何在Android设备、Arduino微处理器平台和嵌入式Linux设备上开发NFC 应用程序。
你也将学到用 NFC 数据交换格式(NDEF)写应用程序,通过PhoneGap、Arduino 和 node.js 里提供的 NDEF 函数从 NFC 标签里读消息,或者与其他 NFC 设备交换数据。如果你熟悉 HTML 和JavaScript,那么你就准备好开始 NFC 吧。
■深入NFC体系结构,了解NFC和RFID的关系
■用PhoneGap和它的NFC插件写Android上的NFC应用程序用例
■深入了解NDEF结构:测试已有的写标签程序,然后写自己的标签程序
■用PhoneGap事件监听器来监听和过滤NDEF消息
■写一个完整的Android应用程序来控制家里的灯和音响
■用Arduino创建一个宾馆登记应用程序,从入住到开门锁
■写一个P2P的NFC消息程序,在两个Android设备间传消息
■通过Raspberry Pi和BeagleBone上的例子来探索嵌入式Linux应用程序的开发
内容提要
《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信息等。
目录
第1 章 简介 ................................................................. 1
本书面向哪些读者 .................................................................................................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
作者简介
Tom Igoe 在纽约大学Tisch艺术学院教物理计算和网络互动电讯项目的课程。
Don Coleman 是PhoneGap NFC plug-in 的作者,领导着 Chariot Solutions 的移动实践。
Brian Jepson 是 Maker Media 资深编辑,一个黑客,Providence Geeks and the Rhode Island Mini Maker Faire 的组织者之一。
前言
译者序
本书最开始是eoe 社区CTO 姚尚朗(iceskysl)推荐我们翻译的,很巧的是,之前我在上海的时候跟本书里面提到的Arduino 有过一面之缘,并亲眼目睹过对其进行编程,然后运行出来之后的效果。真的感觉非常的酷,并且也非常容易上手,并没有想象中的那么神秘。恰好本书的内容跟Android 也有非常大的联系,而NFC 也是目前移动互联网中非常热门的技术。试看了一些章节之后,知道本书其实也没有涉及非常神秘、难懂的程序设计,或是一些其他门槛很高的内容。
本书并不是完全为程序员编写的,你可以是程序爱好者,也可以是经验老道的程序员;可以是做软件的,也可以是做相关硬件的;可以是Android 开发者,也可以是iOS、黑莓、Windows Phone 等;甚至可以是Web 开发者。不管你使用什么语言进行开发,都能很快地上手。当然,如果你对我上面提到的技术都只是听过那也没关系,因为本书的门槛很低,只要你跟着本书一步步走,只要你对NFC 感兴趣,想了解它的工作原理,以及知道能用它做些什么,那么本书绝对是一个非常好的选择。
本书从什么是NFC 开始介绍,循序渐进地告诉我们如何去选择正确的、简单的工具来搭建一个简易的NFC 应用。这里面还会涉及一些技术,比如HTML、JavaScript,如果你能完全了解当然最好,不过就算你只大概了解一些基本的标签、基本的语法也是没问题的;一旦你跟着本书开发出了一个简单的NFC 应用,后续你想怎么去丰富它,我想那都是很容易的事情了。毕竟万事开头难。
在翻译本书的过程中,由于从广州来北京发展,所以翻译的进度有一些落后,特别感谢本书的翻译搭档hexter 对我的帮助,在我由于其他事情而无暇顾及的时候帮我分担了一部分工作。也要感谢出版社编辑对本书的校稿,因为翻译其实是一件非常枯燥的事情,在翻译的过程中难免会出现一些语句不通顺,甚至上下文不衔接的问题,编辑们得一行行地看,看不懂的需要标记出来,或者提供更好的句子。所以很感谢他们,让本书能顺利出版,然后为那些想了解NFC,并且想做出点什么的人提供一些好的入门材料。
相关推荐
■ 用PhoneGap和它的NFC插件写Android上的NFC应用程序用例 ■ 深入了解NDEF结构:测试已有的写标签程序,然后写自己的标签程序 ■ 用PhoneGap事件监听器来监听和过滤NDEF消息 ■ 写一个完整的Android应用程序来控制...
NFC Arduino Android与PhoneGap近场通信
资源名称:NFC Arduino、Android与PhoneGap近场通信内容简介:《NFC:Arduino、Android与PhoneGap近场通信》将带你走入近场通信(NFC)的世界,这是一种快速发展的技术,它能够让设备近距离交换数据或使用无线电信号...
IoT应用开发软件:Arduino二次开发_通信协议与网络连接技术.docx IoT应用开发软件:Arduino二次开发_项目管理与版本控制.docx IoT应用开发软件:Arduino二次开发_高级功能扩展与自定义库开发.docx
物联网智能家居平台DIY:ARDUINO 物联网云平台 手机 微信.rar
[奥莱理] Beginning NFC Near Field Communication with Arduino Android and PhoneGap E Book ☆ 图书概要:☆ Jump into the world of Near Field Communications NFC the fast growing technology that lets ...
Arduino教程:Arduino图形化编程软件-ArduBlock
Arduino Android数据采集小车 Arduino Android数据采集小车 Arduino Android数据采集小车 Arduino Android数据采集小车 Arduino Android数据采集小车 Arduino Android数据采集小车 Arduino Android数据采集小车 ...
3. **灵活性**:Arduino板卡有多种型号,支持不同的功能和接口,如数字I/O、模拟输入、PWM、串行通信等。 4. **社区支持**:Arduino拥有一个庞大的用户社区,提供了大量的学习资源、库文件和示例代码。 5. **扩展性*...
Arduino是一个开源电子原型平台,它包括硬件(基于微控制器的电路板)和软件(Arduino IDE,集成开发环境)。Arduino板通常用于电子项目,如机器人、智能家居设备、可穿戴技术等,因为它们易于编程和连接各种传感器...
4. serial通信:在Arduino中,Serial是用于与PC机通信的接口,通过Serial.begin()函数设置波特率为9600,以确保与PC机的通信一致。 5. 数字接口:在Arduino中,数字接口(Digital Pin)用于控制LED等外部设备的状态...
【标题】"btdroid-arduino:arduino-android-蓝牙"是一个项目,旨在实现通过蓝牙连接在Android设备与Arduino之间进行通信。这个项目的核心是利用Java编程语言开发Android应用程序,以便控制配备蓝牙模块的Arduino硬件...
物联网(IoT):Arduino可以与各种传感器和其他设备配合使用,以收集和共享数据。 自动化:通过使用Arduino,可以轻松地自动化各种设备和过程,例如家庭自动化和工业自动化。 艺术:许多艺术家和设计师使用Arduino来...
**硬件开发与Arduino语言** Arduino语言基于C++,但简化了许多复杂的编程概念,使得非专业程序员也能轻松掌握。用户可以通过编写简单的程序来控制Arduino板上的数字和模拟输入/输出引脚,实现对硬件设备的控制。...
Arduino驱动程序的安装是非常重要的,因为它可以确保Arduino与计算机之间的通信正常进行。如果驱动程序没有正确安装,可能会导致Arduino无法工作或出现一些问题。 此外,Arduino驱动程序的安装也可以影响到 ...
2. **Android**:Android是谷歌开发的开源移动操作系统,广泛应用于智能手机和平板电脑。Android的开放性使得开发者能够创建自定义应用程序,与各种硬件设备进行通信。 3. **ADK (Android Open Accessory ...
标题中的“实现Arduino和Unity的通信的unity插件”指的是一个专门用于连接Unity游戏引擎与Arduino硬件的插件,名为Ardity。这个插件旨在让开发者能够利用Unity的强大3D渲染和交互能力,结合Arduino的物理输入和输出...
8. **串行通信**:Arduino Uno经常使用串行端口与计算机或其他设备交换数据。Serial.println()和Serial.read()等函数用于发送和接收数据,这对于调试和数据分析至关重要。 9. **库的使用**:Arduino有许多预编译的...
请使用android studio工具打开,实现了蓝牙与arduino通信功能,可以扫描可以连接的蓝牙模块,并建立连接,可以双向通信,并内嵌了rgb控制小灯功能
5. **项目构建**:在“Arduino: Arduino项目”中,可能包含了一系列示例代码和指南,涵盖了从基础LED闪烁教程到复杂的无线通信项目。这些项目可以帮助学习者逐步掌握Arduino的使用方法,了解如何将理论知识应用到...