NFC:Arduino、Android與PhoneGap近場通訊(第一本全面講解NFC應用開發的技術著做移動智能設備近距離通訊編程實戰入門)node
【美】Tom Igoe(湯姆.伊戈),Don Coleman(唐.科爾曼),Brian Jepson(布萊恩.傑普森) 著 程序員
金建剛 馮依 姚尚朗 譯shell
ISBN 978-7-121-23997-7編程
2014年9月出版json
訂價:65.00元 瀏覽器
244頁服務器
16開網絡
編輯推薦架構
歡迎進入近場通訊(NFC)的世界,這種飛速發展的新技術能經過無線信號在靠近的電子設備間進行數據傳輸。本書做爲動手指南,經過大量的例子、代碼、練習和一步步的項目操做,教你如何在Android設備、Arduino微處理器平臺和嵌入式Linux設備上開發NFC 應用程序。ide
你也將學到用 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,而且想作出點什麼的人提供一些好的入門材料。