<內容特色>
認識NFC技術,動手應用NFC的第一本書
跟我們一起跳進NFC(Near Field Communication,近距離無線通訊)的開發世界吧!這套技術正飛速成長中。NFC裝置貼近在一起後,便能透過無線電波傳遞訊號交換資料,本書內容包含大量的範例、原始程式碼、練習題、以及一步一步引導讀者的專案建構步驟,這是一份集結實務經驗的指引手冊,示範如何為Android、Arduino微控制器和嵌入式Linux設備打造NFC應用軟體。
您將學習如何使用NFC資料交換格式(NFC Data Exchange Format,NDEF)來撰寫應用程式,涵蓋的開發平台包括PhoneGap、Arduino與Node.js,讓NFC裝置能夠讀取被動式NFC標籤裡的訊息、與其他NFC裝置互相交換資料;若您已經懂得HTML與JavaScript,那就可以馬上進入NFC的開發工作。
.深入解析NFC的架構,學習與RFID之間的差異之處
.在Android上撰寫範例應用軟體,使用PhoneGap與其NFC附加元件
.深入學習NDEF:介紹已有的標籤讀取器應用軟體、打造屬於你自己的NFC應用專案
.聆聽並過濾NDEF訊息,使用PhoneGap的事件聆聽者函式
.建立完整的Android應用軟體,控制住家內的燈光與音響系統
.運用Arduino建立旅館入住退宿系統,接待櫃檯的報到機制,門鎖與身分驗證
.在兩台Android裝置之間進行點對點對等式NFC訊息傳輸
.探索嵌入式Linux開發板,以Raspberry Pi與BeagleBone為範例
<作者介紹>
Tom Igoe
在紐約大學帝許藝術學院互動電子媒體課程中教授實體運算與網路相關主題,在教學與研究時,他會探索各種方式,讓數位技術感測並能夠回應更寬廣的人類實體物理行為。他是Making Things Talk and Getting Started with RFID一書的作者,也與Dan O’Sullivan合著Physical Computing: Sensing and Controlling the Physical World with Computers,文章常見於MAKE雜誌,也是Arduino開放原始碼微控制器計畫的共同創立者之一,Tome希望有朝一日能拜訪斯瓦巴群島與南極大陸。
Don Coleman
畢生致力於工程領域的終生工程師,從機械到軟體、現在又轉到硬體,繞了完整的一圈後,補滿各個領域之間的缺口;PhoneGap資深開發老手,從濫觴時期便擁抱此平台,在各州四處演講傳播使用PhoneGap的好處與優勢;身為Chariot Solutions公司的顧問部門經理,這是一家鄰近美國賓州費城的軟體顧問公司,與各種客戶與開發團隊一起工作,重新改造原有的舊技術,為將來建築穩固的基礎。
Brian Jepson
MAKE的書籍編輯、技術駭客、Providence Geeks與羅德島州迷你Maker Faire組織共同領導人;當選AS220的極客風雲任務,這是一家非營利藝術中心,位於羅德島州普羅維登斯城,AS220給予羅德島州藝術家們一塊毋須接受審閱的空間,可毫無保留地發表作品,AS220也提供畫廊、表演空間、製造工廠以及居住與工作的地方。
<序>
這本著作的源起,大概可追溯到2011年3月Brian寄給Tom的一封電子郵件,當時我們正在撰寫另一本書Making Things Talk第二版,Brian想再加入幾行關於NFC(Near Field Communication,近距離無線通訊)的描述,而該書裡已經有一章的篇幅介紹RFID(Radio Frequency Identification,無線射頻辨識),所以我們想說這能有什麼難處呢?到如今兩年半過去了,在這期間我們學會不少關於NFC的知識,並且加入一位極優秀的共同寫作人Don Coleman,他不僅學識淵博,也是PhoneGap的NFC附加元件的開發者。
雖然NFC擁有極大的潛力,但到目前為止,大部分學習資源都不是為一般程式人員所撰寫,在外頭能找得到的資料與文件,都假定想瞭解NFC的人已做好心理準備打算從矽晶片的層級開始學起,於是乎你必須理解其中各種RFID規格的細節差異,而且你的程式碼從NFC讀取器讀到的東西將會是二進位的位元組串流,辛苦地拿出一個個位元組加以處理並解譯;雖然懂得底層知識甚有幫助,但我們發現,假若程式開發人員可以集中心力在NFC的運用、使用NFC來做事情,而不是埋首研讀底層的細節,那麼NFC的普及程度將會更廣泛。Don為PhoneGap開發的NFC附加元件,在我們找到的工具當中是最好的一個,恰恰能達到上述的需求,讓你在運用NFC交換資料時,能夠按照想像中NFC論壇設計團隊所預期的方式來進行,也就是說,你只需考慮想要交換傳送的訊息,不必擔心其餘枝微末節。
本書絕大部分的篇幅,都遵循著這樣子的精神。實地動手使用NFC裝置寫入訊息到標籤(tag)、或從標籤讀取訊息、裝置間的資料交換,從中學習NFC資料交換格式(NFC Data Exchange Format,NDEF)的基本知識;將會有好幾支範例應用軟體,有的以PhoneGap為基礎、有的在Arduino上運行、還有的則是Node.js,會在類似Raspberry Pi與BeagleBone Black的嵌入式開發板上執行;你將會學到一些NDEF的運用模式,從中略微知曉,由NFC驅動的應用軟體可以達成什麼樣的實體互動功能。
每套平台的技術與更新狀態都不一樣,就目前而言,雖然NFC 論壇制定了標準規格,但並非每套平台都能完整提供其中定義的能力,本書將會試著為你指引方向搞清楚目前的狀況,特別是後面的章節,瞭解目前發展的進度為何,以及還有哪些地方的可用程度仍可再加強。
我們希望本書可以幫助一般的程式人員瞭解NFC,知道NFC 能做些什麼,期望能夠激勵專業開發人員,開發出更容易使用的工具,幫助推廣NFC,使其更加普及。
出版記事
本書的封面動物是一隻中美洲的松鼠猴(其生物雙名法為Saimiri oerstedii),因為這隻小猴子臉上如同戴著非常獨特的黑白面具,因此在牠的原生棲息地─巴拿馬與哥斯大黎加裡─非常容易辨識;松鼠猴屬於群居社會性動物,通常生活在20-75隻的群體中,在猿猴國度裡擁有非常平等的社會結構,牠們並非由雌性構成支配層級,雄性也只有在繁衍季節裡才會變得具有攻擊性。
生物學家發現,中美洲松鼠猴族群的雄性通常有血緣關係,牠們對彼此會表現出顯著的影響,這種行為再加上族群中並不由哪一種性別掌握支配權的特性,在中美洲松鼠猴物種中便顯得非常獨特;相對而言,南美洲的松鼠猴族群卻有一套嚴格的社會階層架構,由某性別贏得優勢主權,而且雄性之間常常打鬥競爭。
中美洲松鼠猴屬於雜食性動物,食物包括昆蟲、蜘蛛、水果、樹葉、樹皮、花、花蜜,牠們還會以一種非常不尋常的方式來捕捉築帳蝠(tent-making bat):松鼠猴會從葉子中,找出正在安歇的蝙蝠,然後從上而下跳下去,藉由引發騷動逼迫蝙蝠現身。因為其食物中包含許多植物,所以對於某些特定花種來說,包括西番蓮,中美洲松鼠猴是非常重要的種子傳播者與傳粉媒介;甚至有幾種鳥類會跟隨松鼠猴的腳步,藉由松鼠猴穿梭於樹林間與矮樹時造成的騷動,捕捉到額外的昆蟲與小型脊椎動物。
目前中美洲松鼠猴的數量,在哥斯大黎加每平方英哩估計約有36隻,在巴拿馬每平方英哩估計約有130隻,一般認為牠們目前的生存處境「容易遭受傷害」,這是因森林遭人類砍伐、獵殺、捕捉作為寵物而導致的直接結果,特別是棲息地的喪失會分割松鼠猴偏好的生存區域,致使牠們更不容易形成較大的繁殖族群;比起40年前,雖然目前的松鼠猴數量已稍有成長,但許多保護計畫與重新造林活動仍在進行中,試著擴展巴拿馬內的松鼠猴的生存空間,尤其是在該國的國家公園與野外保護區。
封面圖片取自Riverside出版社的《Natural History》一書。
<章節目錄>
第一章 導論
第二章 NFC 與RFID
第三章 學習PhoneGap 與PhoneGap-NFC 程式庫
第四章 介紹NDEF
第五章 聆聽NDEF 訊息
第六章 NFC 應用軟體開發實例
第七章 Arduino 與NFC
第八章 點對點對等式傳輸
第九章 NFC 與嵌入式系統
附錄A NFC 規格碼