NFC:Arduino、Android與PhoneGap近場通訊
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,並且想做出點什麼的人提供一些好的入門材料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13164110/viewspace-1273800/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【學習筆記】OpenMV與arduino通訊筆記UI
- 【rosbridge】ROS與Android通訊ROSAndroid
- RN 與原生通訊(Android篇)Android
- Flutter與android之間的通訊FlutterAndroid
- React Native與Android通訊互動React NativeAndroid
- Arduino下的STM32的串列埠通訊UI串列埠
- Android漏洞允許黑客通過NFC傳播惡意軟體Android黑客
- 【譯】Android Architecture - ViewModel 與 View 的通訊AndroidView
- [譯] React Native 與 iOS 和 Android 通訊React NativeiOSAndroid
- Android Socket 通訊Android
- Android入門教程 | Fragment (載入方法與通訊)AndroidFragment
- Android跨程式通訊Android
- Android 串列埠通訊Android串列埠
- Android 多程式通訊Android
- arduino Uno+arduino D1 實現 阿里雲物聯網控制+IIC匯流排通訊點燈UI阿里
- COAP協議 - arduino ESP32 M2M(端對端)通訊與程式碼詳解協議UI
- 一篇看懂Android與Flutter之間的通訊AndroidFlutter
- Android與物聯網裝置通訊-概念入門Android
- 阿里Android開發規範:程式、執行緒與訊息通訊阿里Android執行緒
- Android NFC技術解析,附Demo原始碼Android原始碼
- android nfc tag3 除錯日記Android除錯
- [Android]程式通訊Andromeda框架Android框架
- Android 程式之間通訊Android
- PhoneGap Hybrid APP 開發實戰(1):第一個 Android APKAPPAndroidAPK
- phonegap-plugin-barcodescannerPlugin
- android 非同步通訊機制Handler的分析與運用Android非同步
- 兩個Arduino 與兩個MCP2515 CAN模組通訊實現(用到ec11編碼器)UI
- Android執行緒間通訊Android執行緒
- Android程式間通訊詳解Android
- android藍芽BLE(二) —— 通訊Android藍芽
- Android與物聯網裝置通訊-UDP&TCP協議AndroidUDPTCP協議
- 從Android到ReactNative開發(二、通訊與模組實現)AndroidReact
- Android與物聯網裝置通訊-網路模型分層Android模型
- 使用 Frida 逆向分析 Android 應用與 BLE 裝置的通訊Android
- Android與物聯網裝置通訊 - 位元組報文組裝與解析Android
- Android與物聯網裝置通訊-自定義報文與位元組序Android
- Binder通訊機制與IPC通訊.md
- Android Socket連線,使用Socket進行通訊(Android)Android
- NFC