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 NFCplug-in 的作者,领导着 ChariotSolutions 的移动实践。

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,并且想做出点什么的人提供一些好的入门材料。

NFC:Arduino、Android与PhoneGap近场通信相关推荐

  1. 读《NFC:Arduino、Android与PhoneGap近场通信》有感

    本文结构: 1. NFC 如何运作 2. 能用NFC 做什么 3. 谈谈你对这本书试读章节的看法 1. NFC 如何运作.  NFC是NearFieldCommunication缩写,即近场通信,又称 ...

  2. NFC(Near Field Communication,近场通信)相关

    摘自<深入理解Android:WiFi模块 NFC和GPS卷 - 邓凡平> 以前的读书笔记贴一下,Android 版本演进,源码相关的一些内容可能有很大变化. NFC(Near Field ...

  3. Android 移动开发 近场通信 蓝牙通信

    Android 近场通信 蓝牙通信 一.近场通信介绍 1.三种主要近场通信技术的特点 2.比较 3.近场通信技术的未来发展 二.蓝牙通信 1.核心 2.布局 3.功能 其他配置 最终显示 一.近场通信 ...

  4. Android Studio作业——近场通信

    文章目录 三种近场通信的介绍 WiFi 1. WiFi简介 2.通信协议 3.通信标准 蓝牙 1.蓝牙简介 2.蓝牙分类 NFC 1.NFC简介 对未来近场通信技术的应用场景进行分析与预测 WiFi ...

  5. 移动开发第五次作业 近场通信

    一.Bluetooth.WiFi和NFC技术的简介 1.Bluetooth 蓝牙的起源 蓝牙的历史实际上要追溯到第二次世界大战.蓝牙的核心是短距离无线电通讯,它的基础来自于跳频扩频(FHSS)技术,由 ...

  6. 三种近场通信的特点及未来分析与预测

    文章目录 一.三种近场通信的特点 1.WIFI 2.Bluetooth 3.NFC 二.未来近场通信技术的应用场景进行分析与预测 1.WIFI 2.Bluetooth 3.NFC 一.三种近场通信的特 ...

  7. Android近场通信---NFC基础(三)

    Android近场通信---NFC基础(三) 过滤NFC的Intent 要在你想要处理被扫描到的NFC标签时启动你的应用程序,可以在你的应用程序的Android清单中针对一种.两种或全部三种类型的NF ...

  8. Android近场通信---高级NFC(二)

    Android近场通信---高级NFC(二) 读写NFC标签 读写NFC标签,要涉及到从Intent对象中获取标签,并要打开与标签的通信.要读写NFC标签数据,你必须要定义自己的协议栈.但是,要记住在 ...

  9. Android近场通信---NFC基础(一)

    Android近场通信---NFC基础(一) 本文介绍在Android系通过你所能执行的基本任务。它解释了如何用NDEF消息格式来发送和接收NFC数据,并且介绍了支持这些功能的Android框架API ...

  10. Android开发笔记(一百六十一)NFC近场通信

    NFC的全称是"Near Field Communication",意思是近场通信.与邻近的区域通信.大众所熟知的NFC技术应用,主要是智能手机的刷卡支付功能.别看智能手机是近十年 ...

最新文章

  1. 免费报名 | 微软全双工语音对话以及在智能硬件上的应用
  2. ios 不支持iframe 解决方案
  3. 【c_prime_plus】第十七章笔记
  4. Vs 2015 批量 删除注释
  5. JavaScript入门(part8)--数组
  6. 关闭被占用的tomcat端口
  7. python爬虫股票数据分析判断股票好坏_教你用Python爬虫股票评论,简单分析股民用户情绪...
  8. Blender插件初始化范例
  9. 分享Android开发的一些工具
  10. 遥感大辞典_常用遥感名词词典
  11. 关于STM32F107移植到GD32F307后,固件不断重启的一个解决方式
  12. 网络断网远程计算机会自动修复么,网络断网不怕,教你自己动手修复
  13. 专用计算机数控编程软件有哪些,大家都用什么数控编程软件
  14. Abaqus动力学分析基础
  15. php mysql函数未定义,关于php:Wierd和Annoying错误:调用未定义的函数mysql_query()...
  16. cdr怎么新建和删除图层
  17. C++之struct构造函数
  18. 内蒙古大学计算机学院研究生导师,内蒙古大学计算机学院研究生导师:郭仁拥...
  19. svn update 时报错 Node remains in conflict 和解决方法
  20. 丽江文化旅游学院易腾创想Java实训第14组总结

热门文章

  1. C#图解教程 第二十四章 反射和特性
  2. TCP半连接队列和全连接
  3. python selenium等待特定网页元素加载完毕
  4. NSString类中三个用于获取子字符串的方法:
  5. KnockoutJS(4)-控制文本和外观绑定
  6. 北京上海等昨天大规模断网 专家称与太阳无关
  7. 性能测试的那些事儿!
  8. VMD的相关命令(转载)
  9. 2.5.1 命令与参数
  10. 使用shadow dom封装web组件