-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support TNEP: Poller Device + new record types #559
Comments
Is this a replacement for SNEP which is being deprecated in Android? NFC Simple Exchange ProtocolThe SNEP is a simple protocol for doing peer-to-peer (P2P) NDEF transfers. It is not supported by CoreNFC (iOS) and it is being deprecated on Android (where is branded Android Beam) due to security issues). |
I do not know much more than what is written in https://futureiot.tech/nfc-forum-releases-new-specifications-to-improve-connectivity-of-iot-devices/. |
Stack explained here: |
I guess we need some native (Android etc) support before we can consider supporting this? |
We have not exposed SNEP directly, so I wonder do we have to expose TNEP directly, or can it be encapsulated? What TNEP specific interactions or options need to be exposed to web pages? And yes, a prerequisite is Android support for this. |
Isn't it layered on top of NDEF without the need of P2P? According to the stack it seems below NDEF. The Nordic library https://github.com/NordicPlayground/fw-nrfconnect-nrf/blob/master/subsys/nfc/tnep/tag.c seems to be layered on top of NDEF. |
From my quick look at this, this looks like an official HCE (host card emulation) API, so it will probably need something like that. I think it is great with an official HCE API but it requires Android moving to this new API or us to emulate it ontop of what is already there. This probably requires a lot of research Update: One part of it There are a few extra records that we will need to support. |
What is the platform support of those records? |
I don't think you need any platform support for those as long as you can write well-known records, like smart poster without native support - can we do that? This here basically shows what they contain in the payload: You can create these record on Android: Just choose Well known and manually construct the payload |
From reading source code:
Service Parameters Record "Tp" payloadbyte: version (0x10) TNEP status "Te" payloadbyte: status (0x01 success, 0x02 protocol error, 0x80...0xFE service specific errors) Service Select "Ts" payloadbyte: uri length in bytes |
It also seems like we could implement the TNEP Tag Device API on top of Android HCE (Host Card Emulation, Type 4 Tag emulation + ISO-DEP / APDU). We considered this already as a replacement for SNEP (NDEF push). It is exactly how it is accomplished on the Nordic devices, if you check the Tag Device demo: |
Split the Tag Device part out into #563 |
Would it be possible to test TNEP with WebNFC right now using external type records or would one have to wait until Tp, Te and Ts have been added to the specification and implementation? |
@markus-becker-tridonic-com you would have to wait until that is added yes. |
Did some exploration here: #567 |
From https://nfc-forum.org/product/nfc-forum-tag-ndef-exchange-protocol-tnep-candidate-specification-1-0/:
Would be nice to support this with web-nfc and/or a library on top of web-nfc.
Devices based on Nordic chips implement TNEP tag-wise:
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/include/nfc/tnep/tnep.html
The text was updated successfully, but these errors were encountered: