Перейти к основному содержимому

iRidium NFC

NFC - «коммуникация ближнего поля» технология беспроводной передачи данных малого радиуса действия, которая дает возможность обмена данными между устройствами, находящимися на расстоянии до 10 сантиметров.

Требуется: Pro_logo_3.png iRidium Pro

Принцип работы NFC заключается в считывании данных с заранее программируемой метки. С помощью NFC-меток можно автоматически отдавать устройству любые команды, например: переносная NFC метка может содержать код доступа для входа в номер отеля или регистрации в системе, в общественных местах метки можно использовать для оплаты услуг, а в домашних - могут служить сигналом активации устройства, или целого сценария.

примечание
  • райвер считывает и отправляет значения в формате NDEF с шифрованием.
Подсказка

скачать пример: *NFC *NFC child control

Варианты применения

  1. Разграничение управления электроприборами. Если имеется ребенок и вы хотите ограничить доступ к ряду электроприборов, можно легко настроить правила. Ребенок зашел в дом и отметился меткой, далее происходит блокировка электроприборов на кухне и нескольких розеток.
  2. С помощью NFC метки можно осуществлять контроль региcтрации человека в определенном месте торгового центра, этаже спортивного комплекса. Можно вести статистику посещений, включать освещение определенных частей этажа,
  3. Отслеживать количество мест на парковке. Создается токен, где с каждой новой меткой число увеличивается на один. После достижения определенного значения отправляется сигнал на табло. Если машина, выехала число в токене уменьшается и срабатывает сценарий по разрешению заезда на парковку

Особенности работы в iOS и Android

1. iOS NFC

После активации NFC сканера в проекте iRidium, происходит переключение в стандартное меню iOS при работе с NFC. Далее пользователь считывает метку, данные передаются в проект и работа iRidium продолжается. NFC сканер в устройстве отключается.

2. Android NFC

В Android версии приложения, понадобиться включение NFC в системном меню Android. Данная платформа не позволяет включать и отключать NFC сканер через iRidium. При активации NFC на платформе Android сканер будет работать постоянно, до момента отключения его в системном меню устройства.

Запись на NFC метку

Запись можно производить с помощью приложений, которые можно найти в Google Play, или App Store. Ниже перечислены несколько вариантов:

  • NFC TagWriter by NXP
  • Trigger (NFC Task Launcher)
  • NFC Tools
  • NFC Tag writer
примечание

После записи на метку проверьте записанные данные, приложения могут записывать дополнительные символы. Чтобы обрезать символы, запишите значение из метки в переменную и обрежьте ненужные символы.

Обрезаем 3 символа в начале значения. var number = value.slice(3);

Обрезаем 3 символа в конце значения. var number = value.slice(-3);

Работа в iRidium

  1. В iRidium studio создайте панельный проект и нарисуйте кнопку, в дальнейшем она будет отвечать за активацию NFC сканера.

NFC_button.png

  1. Создайте элемент для вывода принятых данных:

NFC_button2.png

  1. Перейдите в редактор скриптов и создайте скрипт для драйвера NFC(с полной версией скрипта можно ознакомиться в конце описания.)

После создания драйвера скриптом, он имеет 1 канал(Commands) “NFCDefaultChannel” и 2 тега для обратных значений(Feedbacks) “NFCDefaultTag” и “NFCSimpleTag”. Полную информацию по драйверу можно просмотреть ниже в разделе Свойства драйвера

Создание драйвера NFC

IR.CreateDevice(IR.DEVICE_NFC_DEVICE,"NFC") //создаем драйвер NFC

Активация NFC сканера по нажатию

IR.AddListener(IR.EVENT_ITEM_PRESS, IR.GetItem("Page 1").GetItem("Item 2"), function ()
{
IR.GetDevice("NFC").Set("NFCDefaultChannel", 1); // активация сканера NFC по нажатию на кнопку
});
  1. Создаем слушатель для принятия данных с тегов драйвера.
IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("NFC"), function(name, value) 
// подключаем слушатель на изменение тегов в драйвере
{
// полную информацию выводим на Item 1:
if(name == "NFCDefaultTag")
IR.GetItem("Page 1").GetItem("Item 1").Text = value;
//основную информацию выводим на Item 4:
else
IR.GetItem("Page 1").GetItem("Item 4").Text = value;

});

Готово, теперь наш драйвер готов для работы!

Полная версия скрипта

IR.AddListener(IR.EVENT_START,0,function()
{

IR.CreateDevice(IR.DEVICE_NFC_DEVICE,"NFC") //создаем драйвер NFC


IR.GetItem("Page 1").GetItem("Item 1").Text = driver;


IR.AddListener(IR.EVENT_ITEM_PRESS, IR.GetItem("Page 1").GetItem("Item 2"), function ()//активация сканера NFC по нажатию на кнопку
{

IR.GetDevice("NFC").Set("NFCDefaultChannel", 1); //Отправляем значение 1 для включения

});

IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("NFC"), function(name, value) //подключаем слушатель на изменение тегов в драйвере
{
if(name == "NFCDefaultTag")
IR.GetItem("Page 1").GetItem("Item 1").Text = value; //полную информацию выводим на Item 1
else
IR.GetItem("Page 1").GetItem("Item 4").Text = value; //основную информацию выводим на Item 4

});

});

Свойства драйвера

Commands

Отправка команды на считывание метки.

Синтаксис:

IR.GetDevice(driver).Set(type, value)

На входеЗначениеОписание
driver"NFC"type:
String — имя драйвера
type"NFCDefaultChannel"type:
String — Имя канала
value1type: Value
Отправляемое значение:
1 — активация сканера,
0 — отключение сканера

Feedbacks

Принятие значений с NFC метки.

Синтаксис:

IR.GetDevice(driver).GetFeedback(name)

На входеЗначениеОписание
driver"NFC"type: String — имя драйвера
name"NFCDefaultTag",
"NFCSimpleTag"
type: String
Формат принятых значений:
Полная информация
Основная информация
Data (NFCDefaultTag){“ID”:”0”,”Type”:””, “Payload”:”12345”}type: String
Полные данные
Data (NFCSimpleTag)12345type: String
Основные данные