IVI/NFC handovers

From Tizen Wiki
< IVI
Jump to: navigation, search

NFC Bluetooth and Wi-Fi handover

NFC is a very interesting technology that is becoming ubiquitous in smartphones but is also finding its way in Automotive. We will look below at a couple of use-cases that are enabled by NFC that possibly not very well-known but in fact very relevant to IVI.

You can find out more about the NFC stack in Tizen on the Linux NFC project main page.

Wi-Fi handover for IVI

Unfortunately, there are not Smartphone devices out there yet that implement the Wi-Fi handover as defined by the NFC Forum. In the interim, we have added some code in Tizen IVI that allows us to demonstrate and test this functionality using a non-standard app called NFC task launcher loaded on an Android device.

Requirements

Note: The SLC3711 has been tested for this but other NFC adapters may work.

Preparing the Tizen IVI image (Head Unit)

  • Install your Tizen IVI image (3.0-M2-Sep or later)
  • zypper in neard-test

Smartphone

Note: You do not need to define any specific task, installing the application is enough.

Demo description

On the head unit:

  • Enable Wi-Fi connmanctl enable wifi
  • Enable Wi-Fi tethering connmanctl tether Wi-Fi on <SSID> <passphrase>
  • Make sure that neard is running and that the adapter is powered on (see TIVI-1825), if not:
    • (as root)systemctl start neard.service
    • /usr/lib/neard/test/enable-adapter nfc0
  • Start the neard (NFC) script: /usr/lib/neard/test/wifi-handover

This script is waiting for an NFC device to touch the head unit NFC spot/dongle.

Once an NFC device is detected, the script will send an "NFC task launcher" related MIME NDEF, containing the ConnMan tethering SSID and passphrase.

The NFC task launcher app running on the handset will then get this data and trigger a Wi-Fi association with the specified SSID.

Tips and tricks

  • Disconnect your smartphone from any Wireless network prior to doing this, otherwise the new network will appear in your list but it will not be joined by default (as it's already connected to a WiFi network)
  • Make sure you keep your smartphone very close to the NFC adapter during the handover

Bluetooth handover for IVI

There are many Smartphone devices that had implemented the bluetooth handover, people could use NFC technology to pair Bluetooth smartphones,headsets, and speakers with its NFC-enabled devices.Currently, there have no app on IVI used for bluetooth handover, while we could use neard-test to complete pairing ---simply touch the two devices to be paired.

Requirements

  • Recent Tizen IVI image (3.0-M14.2-June or later)
  • Smartphone (Android phone, e.g: nexus 5 or Samsung Galaxy S4)
  • NFC adapter (please refer to the Linux NFC Hardware support list)
Note: the SLC3711 has been tested for this but other NFC adapters may work.

Preparing the Tizen IVI image (Head Unit)

  • Install your Tizen IVI image (3.0-M14.2-June or later)
  • zypper in neard-test

Smartphone

  • Android phone (nexus 5)
  • Turn on bluetooth
  • Enable NFC on the phone to allow data exchange when the phone touches another device.

Demo description

On the IVI(head unit), login as root, then "su - app" switch to normal user.

  • Enable bluetooth connmanctl enable bluetooth
  • Plug in NFC adaptor to IVI.
  • Make sure that neard is running
  • Make sure the adapter is powered on by default, if not:
    • (as root)systemctl start neard.service
    • /usr/lib/neard/test/enable-adapter nfc0
  • check the adaptor is detected: ** /usr/lib/neard/test/list-adapter

Method #1 (used for neard-0.14)

  1. on IVI device, start bluetoothctl in a terminal, then "agent on" and "default-agent" in bluetoothctl.
  2. launch another terminal, Start the neard(NFC) script:/usr/lib/neard/test/bt-handover
  3. Move the phone close to the NFC adaptor, alarm would be heard from the phone when the phone is recognized.
  4. Give "yes" on the phone and on bluetoothctl for the pairing request.

Method #2

After the NFC adaptor is enabled on IVI, these scripts could complete bt pairing as well:

  1. /usr/lib/neard/test/list-adapters
  2. /usr/lib/neard/test/start-poll nfc0
  3. /usr/lib/neard/test/push-device /org/neard/nfc0/device0 Handover bluetooth
  4. Move the phone close to the NFC adaptor, alarm would be heard from the phone when the phone is recognized.
  5. Give "yes" on the phone for the pairing request.

Tips & tricks

  • Make sure IVI and the phone are new paired devices for each other.
  • Make sure you keep your smartphone very close to the NFC adapter during the handover.

Resources

Website and mailing list

Source code

List of Devices

The following devices have been tested (possibly just once)

Device Software version WiFi Handover Bluetooth Handover
[Motorola RAZR i] Android 4.1.2 Yes Not tested yet
[Samsung Galaxy S3] Android 4.0.4 Yes Not tested yet
[Samsung Galaxy S3] Android 4.1.1 No (tbc) Not tested yet
[Orange San Diego] [1] Android 4.0.4 Not tested yet Not tested yet

Notes:
[1] The same device also known as the Intel AZ210 is also marketed as XOLO X900 (Intel AZ510) in India, Orange San Diego in the United Kingdom and Megafon Mint in Russia.