Ameba Arduino: [RTL8195] NFC – 利用手機NFC感應Ameba打開網頁

不少Android的智慧型手機支援NFC,並且有許多NFC應用程式供開發人員檢視與修改NFC Tag的內容。
這個範例裡,我們用手機感應Ameba,並且讓NFC事件讓手機打開預先在Ameba指定好的網頁。若您對NFC還不太熟悉,請參考NFC介紹

材料準備

  • Ameba x 1
  • 具備NFC功能的手機 x 1

範例說明

Ameba的開發版通常都沒有預先焊接NFC的天線,這是為了方便一些不需要使用到NFC天線的開發者可以將天線的部份拆掉以節省空間。
但如果需要用到NFC,我們需要焊接NFC天線。如下圖所示:

1

連接的地方不需加電阻,只要用剝皮的電線,或是用焊錫直接連起來即可。
接著確認手機的NFC功能已經打開,它通常在設定裡與網路相關的進階選項裡:

2

打開之後,螢幕上方會有個NFC的圖示: 3

接著打開範例程式, “File” -> “Examples” -> “AmebaNFC” -> “UriWebPage”
4

編繹並上傳到Ameba, 上傳完成後按reset按鈕。
然後將手機背面靠近Ameba的NFC天線。因為NFC的有效距離小於10cm,所以要將手機的NFC天線貼到Ameba的NFC天線上才行。有些手機的NFC靠近中間,有些則靠近上方,要嘗試一下才找的到位置。
5

當Android感應到之後,有些系統會跳出視窗詢問是否要打開網頁,有的則會直接打開網頁,這樣就代表成功了。
6

程式碼說明

Ameba的NFC API將常見的NDEF類別包成API。這個範例裡使用appendRtdUri()設定要打開的網頁,前面不需要加 “http://www.”

NfcTag.appendRtdUri("amebaiot.com");

接著呼叫 NFC.begin(), NFC模組就啟動了。