iRidium NFC
NFC - «коммуникация ближнего поля» технология беспроводной передачи данных малого радиуса действия, которая дает возможность обмена данными между устройствами, находящимися на расстоянии до 10 сантиметров.
Требуется:
iRidium Pro
Принцип работы NFC заключается в считывании данных с заранее программируемой метки. С помощью NFC-меток можно автоматически отдавать устройству любые команды, например: переносная NFC метка может содержать код доступа для входа в номер отеля или регистрации в системе, в общественных местах метки можно использовать для оплаты услуг, а в домашних - могут служить сигналом активации устройства, или целого сценария.
- райвер считывает и отправляет значения в формате NDEF с шифрованием.
скачать пример: *NFC *NFC child control
Варианты применения
- Разграничение управления электроприборами. Если имеется ребенок и вы хотите ограничить доступ к ряду электроприборов, можно легко настроить правила. Ребенок зашел в дом и отметился меткой, далее происходит блокировка электроприборов на кухне и нескольких розеток.
- С помощью NFC метки можно осуществлять контроль региcтрации человека в определенном месте торгового центра, этаже спортивного комплекса. Можно вести статистику посещений, включать освещение определенных частей этажа,
- Отслеживать количество мест на парковке. Создается токен, где с каждой новой меткой число увеличивается на один. После достижения определенного значения отправляется сигнал на табло. Если машина, выехала число в токене уменьшается и срабатывает сценарий по разрешению заезда на парковку
Особенности работы в 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
- В iRidium studio создайте панельный проект и нарисуйте кнопку, в дальнейшем она будет отвечать за активацию NFC сканера.

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

- Перейдите в редактор скриптов и создайте скрипт для драйвера 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 по нажатию на кнопку
});
- Создаем слушатель для принятия данных с тегов драйвера.
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 — Имя канала |
| value | 1 | type: 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) | 12345 | type: String Основные данные |