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("ameba.realsil.com.cn");

接着呼叫 NFC.begin(), NFC模组就启动了。