nRF52832(Preview版)が載った、nRF52 Preview-DKというボードを持っている。
PCA10036とも言う。
今週、東京や大阪で行われた説明会では、PCA10040というボードが配布されたようだ。
PCA10036はEngineering Aのチップが、PCA10040はEngineering Bのチップが載っているとのこと(nrf52 + S212 softdeviceの回答)。
S132 v2.0.0-7.alphaやnRF52 SDK v0.9.2も「Engineering Bは~」と書かれているので、もうPreview DKの時代は終わったのかもしれない(まあ、Previewだから仕方ないが)。
nRF52832のErrataを読めば、細かく違いがわかるかもしれないが、面倒なのでやってない。
下記のソースはPreview-DKでも動いたので、ソースを少し読んでおこう。
なんでNFCかというと、私がそういう人だからだ。
04a_nfc_url
#構成
ソースの構成は、こうなっている。
source tree |
---|
中の方まで読んでいくとわかるが、SoftDeviceは関与していない。
特にNFC Pairingと連動している感じもない。
BLEとは異なるユニットなのだろう。
「nRF52 Global Tech Tour 2015 に参加してきました」を読むと、WRITEを受け付けないようだ。
このツアーのまとめサイトを読んだが(リンク先を探せなかった)、NFCによるファーム更新も遅いけどできなくはない、ということのようなので、WRITEのデータは読めるけどRAMには反映させないだけかもしれない。
Type 2 Tagのようなので、MIFARE Ultralightとかの資料があればそれを読むのが早いかもしれない。
#使い方
- nfcSetup()
- nfcSetPayload()
- nfcStartEmulation()
これだけ。
nfc_lib.hに宣言があり、nfc_lib.libがいるので、この中身はライブラリ提供のようだ。
nfc_lib.h |
---|
ただ、hal_nfc.cをコンパイルしているので、最終的にはここからハードをたたいているんじゃないだろうか。
サンプルでは、nfc_uri_msg_create()を使ってNDEF URIのデータを作っている。
これは、単にNDEFフォーマットのデータを作っているだけなので、データは自作しても良いだろう。
そうすれば、AARみたいなのを作って、Androidアプリの起動なんかもさせられるだろう(フォーマットは探せば出てくるだろう)。
#まとめ
- nRF52832では、NFCのタグになれる
- READだけできる(らしい)
#おまけ
そうそう、搬送波の検知もできるようだ。
なので「スマホが近づいた」みたいな動作をすることもできるだろう(スマホがNFCのInitiatorになってるなら)。
たぶん、搬送波検知なので、NimocaやSuicaの改札に近づいても反応するだろう。
13.56MHzのが来てるなー、という程度だから、相手がどういう人かはわからなくても検知するだろう。