Peer-to-Peer with Nfc Interactor

The major new feature of Nfc Interactor 4.0 is the support of Peer-to-Peer communication between two Nfc Forum compatible devices.

Essentially, this means that you can now not only write your composed NDEF messages to NFC Tags, but you can also simply touch another phone and directly and instantly push the message to the receiver.

This feature is especially great for testing the receiving side, to see how the phone reacts to various pushed NFC messages and events, as well as how you can handle those inside your app if you choose to support peer to peer NFC communication.

Simple NDEF Exchange Protocol

By default, Nfc Interactor uses the standardized SNEP (Simple NDEF Exchange Protocol) for sending messages. This means that it is compatible to Windows 8 (through the Near Field Proximity feature), the Nokia Lumia 610 NFC with Windows Phone, the Nokia N9 with MeeGo Harmattan, as well as current Android phones (initially, Android only supported the Google-proprietary NPP (Ndef Push Protocol); but current versions of Android support SNEP out of the box as well, starting with Ice Cream Sandwich).

You can send any message that you can create in the editor over SNEP, including business cards, URLs, images or custom NDEF records.

The Symbian version also supports receiving and parsing SNEP messages. Interoperability is a bit limited however, as the public Qt APIs only allow using the service name urn:nfc:sn:snep for connection-oriented LLCP, but not the port 4, which could also be used for SNEP.

On the N9, listening to the SNEP service is unfortunately not possible at all for a 3rd party application without additional privileges, as SNEP is handled by MeeGo Harmattan directly. SNEP support has been added to the Nokia N9 with PR 1.2, which is now the minimum firmware version for Nfc Interactor 4.0. Compiling requires installing an additional Simple NDEF Exchange Push library to your Qt SDK.

Raw Peer-to-Peer

Additionally, you can also deactivate wrapping NDEF messages with SNEP headers, and directly send the raw data over an LLCP connection. Similar to the settings in Nfc Chat, you can freely define:

  • Connection-oriented / connection-less mode
  • URI / port for connections
  • Whether to connect the client and / or server-socket in connection-oriented mode, and which to use for sending messages

By touching another device, Nfc Interactor will establish a direct LLCP connection and attempt to send the NDEF message directly over the channel. This can for example also be used to test various connection parameters if you’re working with custom NFC hardware.