Contents
Введение в разработку nfc под android
Android поддерживает NFC с помощью двух пакетов: android.nfc и android.nfc.tech.
Основными классами в android.nfc являются:
NfcManager: Устройства под Android могут быть использованы для управления любыми обнаруженными NFC адаптерами, но поскольку большинство Android устройств поддерживают только один NFC адаптер, NfcManager обычно вызывается с getDefaultAdapter для доступа к конкретному адаптеру.
NfcAdapter работает как NFC агент, подобно сетевому адаптеру на ПК. С его помощью телефон получает доступ к аппаратной части NFC для инициализации NFC соединения.
NDEF: Стандарты NFC определяют общий формат данных, называемый NFC Data Exchange Format (NDEF), способный хранить и передавать различные типы объектов, начиная с MIME и заканчивая ультра-короткими RTD-документами, такими как URL. NdefMessage и NdefRecord – два типа NDEF для определенных NFC форумом форматов данных, которые будут использоваться в коде-примере.
Tag: Когда устройство Android обнаруживает пассивный объект типа ярлыка, карты и т.д., он создает объект типа «метка», помещая его далее в целевой объект и в заключении пересылая в соответствующий процесс.
Пакет android.nfc.tech также содержит множество важных подклассов. Эти подклассы обеспечивают доступ к функциям работы с метками, включающими в себя операции чтения и записи. В зависимости от используемого типа технологий, эти классы разбиты на различные категории, такие как NfcA, NfcB, NfcF, MifareClassic и так далее.
Когда телефон со включенным NFC обнаруживает метку, система доставки автоматически создает пакет целевой информации. Если в телефоне имеется несколько приложений, способных работать с этой целевой информаций, пользователю будет показано окно с предложением выбрать одно из списка.
Здесь мы используем целевой фильтр для работы со всеми типами информации начиная с TECH_DISCOVERED до ACTION_TECH_DISCOVERED. Файл nfc_tech_filter.xml используется для всех типов, определенных в метке. Подробности можно найти в
. Рисунок ниже показывает схему действий при обнаружении метки.
Автоматическая настройка
Алгоритм настройки очень прост:
- Первым шагом нужно выбрать язык, далее нажимаем кнопку «Начать быструю настройку».
- Далее нужно принять «Лицензионное соглашение».
- После этого потребуется задать пароль для входа в админку.
- Следующим шагом нужно выбрать способ подключения, Кинетик Спидстер автоматически определит тип подключения. Обычно это «По ethernet кабелю от провайдера», жмем «Продолжить».
- После этого выбираем, какие услуги хотим настроить – Интернет и/или IPTV.
- Далее нужно определится с мак-адресом. В случае если у провайдера есть привязка по MAC адресу, пишем адрес устройства, на котором изначально подключали интернет. Если нет привязки, выбираем «По умолчанию».
- Переходим к настройкам IP. Чтобы определится с выбором, нужно посмотреть договор с интернет провайдером, где написаны настройки подключения. При статическом IP адресе выбираем «Ручная» и заполняем появившиеся поля, при динамическом IP«Автоматическая».
- Далее выбираем тип подключения к Интернету. Информация по этому поводу есть в договоре с провайдером.
- После нажатия кнопки «Продолжить» произойдет подключение к интернету, обновление прошивки и перезагрузка интернет-центра.
- Выбираем интернет-фильтр, если нужно. Если вы планируете пользоваться интернетом на телевизоре Smart TV, для быстрой работы интернета рекомендую выбрать AdGuard DNS для отключения рекламы.
- Последний шаг – это настройка имени Wi-Fi и пароля от него. Вписываем нужные данные или оставляем как есть. На этом настройка завершена.
Более детальные настройки рассмотрим ниже.
Вместо введения
NFC расшифровывается как Near Field Communication или «ближняя бесконтактная связь», если по-русски. По своей сути это небольшой чип, который может быть встроен в смартфон с целью передачи данных на очень короткие расстояния с весьма мизерной скоростью.
NFC очень близка к технологии RFID, которая уже давным-давно используется для пометки продуктов в супермаркетах, но базируется на ее более позднем стандарте ISO/IEC 14443 (смарт-карты) и спроектирована для использования в переносной электронике (читай: смартфонах) и выполнения безопасных транзакций (читай: оплаты покупок).
Как и в случае со стандартом ISO/IEC 14443, дальность действия NFC всего 5–10 см, но разница в том, что чип NFC способен выполнять функцию тега и считывателя одновременно. Другими словами, оснащенный NFC смартфон может быть как смарт-картой (картой метро, например), которую достаточно поднести к считывателю, чтобы расплатиться, так и самим считывателем, что можно использовать, например, для перевода средств между картами-смартфонами и превращения реальных карт с поддержкой стандарта ISO/IEC 14443 в виртуальные.
Но это только «одно из» и наиболее очевидное применение NFC. Благодаря тому, что чип NFC способен передавать данные в обе стороны и не требует аутентификации устройств, его можно использовать как простую и более удобную замену Bluetooth. С помощью NFC, например, можно делиться ссылками, паролями, контактными и другими данными между смартфонами, просто поднеся их друг к другу.
Появившаяся в Android 4.0 технология Beam еще больше расширяет границы применения NFC, позволяя быстро переносить между устройствами целые файлы и папки, что достигается с помощью предварительной аутентификации Bluetooth-устройств по NFC и последующей установки Bluetooth-соединения и отправки файлов.
Как и в предыдущем случае, все, что требуется для передачи, — просто поднести телефоны друг к другу. В прошивках Samsung эта функция носит имя S-Beam и позволяет использовать в качестве «транспортного канала» не только синезуб, но и Wi-Fi (один из смартфонов превращается в точку доступа).
Еще одна возможность — использование пассивных NFC-тегов. Такие теги в виде небольших наклеек можно приобрести за полдоллара за штуку и перепрограммировать с помощью смартфона. Каждый из них может вмещать в себя 137 байт информации (в случае самого распространенного и дешевого тега Mifire Ultralight C), для считывания которой опять же достаточно просто поднести смартфон.
В тег можно записать пароль от домашнего Wi-Fi и приклеить на роутер. Или кодовое слово, на которое будет реагировать смартфон. Можно организовать автоматический запуск навигатора при установке смартфона в держатель в автомобиле или включение бесшумного и энергосберегающего режимов, когда телефон находится на прикроватной тумбочке. Небольшой список покупок в 137 байт тоже вполне вместится.
В этой статье мы поговорим обо всех возможных применениях NFC на практике, но так как в нашей стране оплата покупок с его помощью внедрена примерно нигде, то речь пойдет преимущественно об автоматизации на основе меток.
Поддержка в смартфонах
Первым телефоном с интегрированной поддержкой NFC был Nokia 6131, выпущенный еще в 2006 году. Тогда встроенный NFC-чип был всего лишь игрушкой для демонстрации возможностей созданной два года назад технологии. Смартфон был оснащен софтом для считывания NFC-меток, но ввиду их тогдашней дороговизны и почти нулевой популярности технологии ни на какое серьезное применение данная особенность смартфона не претендовала.
После некоторого затишья популяризацией NFC занялась компания Google, выпустившая в 2021 году смартфон Samsung Nexus S и приложение Google Wallet, которое позволяло расплачиваться виртуальными кредитками, используя NFC. На следующий год Google стала ведущим участником NFC Forum и представила Android 4.0 и основанный на нем смартфон Samsung Galaxy Nexus, который теперь мог похвастаться наличием той самой функции Beam. Позже появился Nexus 4, и наконец начали подтягиваться другие производители.
Сегодня NFC оснащаются почти все выпускаемые смартфоны. Соответствующий модуль есть даже в сверхбюджетных чипах Mediatek, так что большая часть новых китайских смартфонов стоимостью 5000 рублей тоже им оснащены. В любом случае присутствие чипа NFC легко проверить по наличию пункта «Беспроводные сети -> NFC» в настройках.
Пишем данные
Для записи данных будем использовать NFC TagWriter. Пользоваться приложением довольно просто. Запускаем, тапаем по пункту Create, write and store, выбираем New, далее выбираем тип записываемых данных. Наиболее полезные типы: контакт, простой текст, телефонный номер, данные для Bluetooth-соединения, URI и приложение. В списке есть даже закладка веб-браузера и email-сообщение, но для чего они нужны, не совсем понятно.

Далее заполняем необходимые поля (например, адрес веб-сайта в случае с URI), нажимаем Next и попадаем на экран опций (скриншот «NFC TagWriter: опции сообщения»). Здесь можно указать приложение, которое будет запущено после прочтения метки (Add launch application) и установить защиту на перезапись сторонним устройством (Apply Soft Protection).

Вновь нажимаем Next и подносим смартфон к тегу. Вуаля, наши данные в нем. Теперь их можно прочитать любым смартфоном с поддержкой NFC. Но что это в конечном итоге дает?
Примеры использования
Как используется НФС метки? Они устанавливаются в различных местах с целью передачи определенной информации.
Метки НФС могут использоваться для:
- Проведения платежных операций. В данном случае НФС-чип должен стоять на карте, в телефоне или другом гаджете и в терминале.
- Включение магнитофона, навигатора, вай-фая, блютуза и др. Особенно актуальным является программирование nfc меток в машинах.
- Открывания и закрывания окон, дверей, замков в домах.
- Распространения телефонных номеров или других контактных данных, важной информации. Можно сделать запись, которая будет передаваться другим. Многие создают голосовые сообщения, которые воспроизводятся после контакта с НФС-меткой.
- Управления техникой в квартире (стиральной машинкой, телевизором и др.).
- Включения и отключения режима полета, будильника, уведомлений.
- Синхронизации данных.
- Отслеживания груза.
- Пропуска в учебные заведения, кинотеатры, клубы и пр.
Это не все примеры использования NFC меток. Список можно продолжать и дальше. Зная суть их работы и выполнив правильную настройку, будет несложно запрограммировать собственный телефон, бытовую технику или авто.
Разъемы, индикаторы, кнопки
Устройство имеет 5 портов (WAN/LAN), которые могут работать на скорости до 1000 Мбит/с. Разъемы настраиваются под определенные цели, можно назначить все порты WAN или LAN.На правом торце есть кнопка переключения режима работы A (роутер)/B(повторитель).
- В режиме А по умолчанию 0 порт синего цвета WAN, остальные 1-4 LAN.
- В режиме B все порты LAN.
Слева от разъема синего цвета кнопка для сброса настроек на заводские. Справа от портов разъем для подключения питания.
Индикаторы слева направо:
- Статус питания. Горит – устройство готово к работе. Не горит – питание выключено. Мигает – идет загрузка или обновление прошивки.
- Интернет. Горит – соединение установлено. Не горит – нет соединения с интернетом.
- Индикатор FN. Программируемый, можно задать функцию из предложенных в настройках админки. По умолчанию он реагирует на наличие обновления прошивки. Горит – доступна новая версия прошивки. Не горит – новой прошивки нет.
- Сеть Wi-Fi. Горит – сеть работает. Не горит – сеть отключена.
Справа от последнего индикатора расположена кнопка управления сетью Wi-Fi. По умолчанию кнопка отвечает за быстрое подключение устройств к сети – WPS. Однократное нажатие включает этот режим. Удержание на 3 секунды включает или отключает Wi-Fi.
Тест скорости
По сравнению со старым роутером Asus RT-N VP B1, скорость интернет соединения по Wi-Fi впечатлила.
Заявленная моим провайдером скорость – 100 Мбит/с.
Старичок Asus:
Keenetic на частоте 5 ГГц:
Недалеко от роутера
В дальней точке однокомнатной квартиры скорость примерно такая же.
На частоте 2,4 ГГц
Рядом с роутером В дальней точке
При подключении по проводу скорость такая же, как на 5 ГГц.
По умолчанию включены 2 частоты работы wi-fi, а роутер Keenetic Speedster сам выбирает лучшую.
Вывод: рекомендуем использовать частоту 5 ГГц, так как она показывает лучшие результаты.
Часто задаваемые вопросы по mesh wi-fi-системе keenetic
Вопрос: Что такое Mesh Wi-Fi-система от Keenetic?
Ответ: Mesh Wi-Fi-система — это технология объединения интернет-центров Keenetic в единую бесшовную сеть по всему дому или офису, с централизованным управлением, мониторингом и с возможностью перехода клиентов между точками доступа по стандартам 802.11r/k/v (бесшовный роуминг Wi-Fi). Для расширения сети используются дополнительные роутеры Keenetic в режиме Ретранслятора. В Mesh Wi-Fi-системе ретрансляторы с главным роутером могут соединяться как по Ethernet-кабелю, так и по Wi-Fi (без использования проводов). Дополнительную информацию вы найдете в наших статьях:
Вопрос: Какие модели подойдут для организации Mesh Wi-Fi-системы?
Ответ: Mesh Wi-Fi работает на всех актуальных моделях Keenetic (с индексом KN-xxxx и с версией операционной системы роутера KeeneticOS не ниже 3.1) несколько моделей предыдущего поколения (Giga III, Ultra II, Air, Extra II).
Для организации Wi-Fi-системы достаточно двух устройств. Один роутер должен выполнять роль главного устройства — контроллера системы, а к нему подключается дополнительный роутер в режиме ретранслятора. Любая модель может быть главным роутером или ретранслятором.
Дополнительную информацию вы найдете в статье:
Вопрос: Чем Mesh Wi-Fi от Keenetic лучше простых репитеров?
Ответ: Преимуществами нашей реализации является:
- Централизованное управление
- Мониторинг трафика и правила для клиентов
- Расширение сразу нескольких Wi-Fi-сетей
- Бесшовное переключение клиентов по протоколам 802.11r/k/v
- Регулируемые антенны с усилением 5 дБи
- Управляемые сетевые и USB-порты
- Автоматически работает по проводу или Wi-Fi
Дополнительную информацию вы найдете в статье:
Вопрос: Если нет возможности проложить провод, можно ретрансляторы подключить к главному роутеру по воздуху (по Wi-Fi)?
Ответ: Да, ретрансляторы можно подключить к контроллеру не только по проводу, а также по Wi-Fi, используя Mesh-технологию. Подробный пример показан в инструкции:
При подключении нескольких ретрансляторов по Wi-Fi придерживайтесь топологии “звезда” (лучами от главного). Также можно использовать последовательное подключение роутеров по “цепочке”, но в такой схеме есть особенности, о которых вы можете прочитать в статье “Последовательное подключение усилителей“.
Вопрос: Сколько ретрансляторов можно подключать в Wi-Fi-систему?
Ответ: В Wi-Fi-систему можно добавить столько ретрансляторов, сколько вам нужно, расширяя Wi-Fi, пробрасывая его на любые расстояния в пределах одной локальной сети. В Кинетиках нет установленных ограничений. Но это относится к схеме сети с проводным способом подключения ретрансляторов.
При подключении ретрансляторов по проводу можно использовать промежуточные Ethernet-коммутаторы. В нашей лаборатории мы тестируем Wi-Fi-систему из 15 ретрансляторов, соединенных в систему по проводу.
Важно! Если для подключения ретрансляторов используется промежуточный коммутатор, то он должен полностью прозрачно пропускать трафик на уровне L2. При работе Wi-Fi-системы используется протокол STP, и если коммутатор обладает поддержкой протоколов MSTP / RSTP / STP, эти настройки нужно отключить на портах, задействованных для Wi-Fi-системы.
Если вы хотите организовать Mesh Wi-Fi-систему, подключая ретрансляторы исключительно по Wi-Fi, максимальное число ретрансляторов в сети желательно ограничить пятью, включая главный роутер-контроллер.
Вопрос: Почему на роутере контроллере предыдущего поколения c версией KeeneticOS 2.15 (это последний релиз для моделей Keenetic Start II, Lite III Rev.B и 4G III Rev.B) не получается захватить ретранслятор на новой модели Keenetic с индексом KN-xxxx (на котором используется более новая версия 3.x)?
Ответ: Для корректной работы Wi-Fi-системы мы рекомендуем на контроллере и ретрансляторах использовать одинаковые версии операционной системы KeeneticOS или чтобы на контроллере была новее версия ПО. В этом случае нужно по возможности поменять контроллер и ретранслятор местами. Роутер с актуальной версией микропрограммы 3.x используйте в роли контроллера (главного устройства), а роутер с версией 2.15 в роли ретранслятора.
Вопрос: Нужно ли на ретрансляторах устанавливать компонент “Контроллер Wi-Fi-системы”?
Ответ: Нет, на ретрансляторах данный компонент устанавливать не нужно. Специальный системный компонент “Контроллер Wi-Fi-системы” должен быть установлен только на главном интернет-центре, который и будет работать в роли контроллера.
Вопрос: Увеличивается ли покрытие не только Домашней сети Wi-Fi, но и Гостевой сети?
Ответ: Да. Помимо Домашней сети также расширяется покрытие Гостевой сети и других дополнительных сегментов.
Вопрос: Что за скрытые сети Wi-Fi вещает роутер?
Ответ: Для работы Mesh Wi-Fi включается скрытая служебная сеть (беспроводная транспортная сеть, backhaul-сеть) для связи между контроллером и ретрансляторами. Вещание скрытых сетей необходимо для корректной работы Mesh Wi-Fi-системы (подключения ретрансляторов по Wi-Fi). Дополнительную информацию вы найдете в статье:
Вопрос: При использовании ретранслятора с USB-портом, можно ли подключить к нему внешний жесткий диск и использовать в домашней сети в качестве сетевого ресурса?
Ответ: Да, на ретрансляторах сохраняется работа всех USB-приложений (подключение внешних накопителей, дисков, принтеров, медиатеки DLNA, встроенного торрент-клиента Transmission, CIFS/SMB, FTP, SFTP, WebDAV, аппаратного модуля IP-телефонии Keenetic Plus Dect).
Вопрос: Возможно ли к ретранслятору подключить USB-модем для организации резервного подключения?
Ответ: Нет. В режиме ретранслятора роутер становится обычным коммутатором 2-го уровня, на котором могут работать только USB-приложения. Работа USB-модемов в этом режиме не поддерживается.
В дополнении к вышесказанному, также невозможно работа VPN-сервера, т.к. для его работы необходим NAT и маршрутизация между клиентами сервера и сегментами локальной сети, что в режиме ретранслятора отсутствует.
Вопрос: Возможно ли на ретрансляторе менять основные настройки беспроводной сети?
Ответ: Нет. Изменить основные параметры сети можно только на главном роутере-контроллере, и после изменения они автоматически передаются на ретрансляторы.
На ретрансляторе будут недоступны для редактирования следующие настройки беспроводной сети — “Имя сети” (SSID), “Защита сети” (протокол безопасности), “Пароль” (ключ безопасности), настройки бесшовного роуминга, номер беспроводного канала (при подключении ретранслятора по технологии Mesh Wi-Fi), параметры IP, списки контроля доступа (Белый / Черный). Изменить их можно только на контроллере Wi-Fi-системы (главном интернет-центре). Но на ретрансляторе можно менять “Мощность сигнала”.
Вопрос: Возможно ли на ретрансляторе изменить номер канала сети Wi-Fi?
Ответ: Зависит от нескольких факторов. Когда ретранслятор подключен по Mesh Wi-Fi, то будет заблокирован этот параметр в том диапазоне, в котором контроллер держит Mesh-соединение с ретрансляторами. В двухдиапазонных устройствах этот параметр блокируется в сети 5 ГГц, а в однодиапазонных – в сети 2.4 ГГц.
Другими словами: если контролер соединен с ретранслятором по Wi-Fi, то он установит с ним backhaul (служебное соединение) и заблокирует канал, в том диапазоне, в котором работает; если контроллер соединен с ретранслятором по проводу, то в этом случае backhaul можно выключить и тогда можно будет менять каналы на ретрансляторе. Но при выключенном backhaul вы потеряете часть функциональности резервирования подключения: В Mesh Wi-Fi возможно одновременное подключение ретранслятора по Ethernet-кабелю и по сети Wi-Fi. Соединение по проводу будет являться приоритетным. Если же произойдет отключение кабеля или потеря соединения с контроллером, ретранслятор установит подключение по Wi-Fi. Чтобы произошло переключение, на контроллере должна быть включена Беспроводная транспортная сеть (backhaul).
Вопрос: Возможно ли изменить IP-адрес на ретрансляторе?
Ответ: Да, если нужно изменить адрес ретранслятора и назначить его вручную, обратитесь к инструкции:
Вопрос: Возможно ли ретрансляторы подключить через простой неуправляемый сетевой Ethernet-коммутатор?
Ответ: Да. Можно подключить ретранслятор к главному роутеру через дополнительный коммутатор, “звездой” или последовательно “цепочкой”.
Важно! Если для подключения ретрансляторов используется промежуточный коммутатор, то он должен полностью прозрачно пропускать трафик на уровне L2. При работе Wi-Fi-системы используется протокол STP, и если коммутатор обладает поддержкой протоколов MSTP / RSTP / STP, эти настройки нужно отключить на портах, задействованных для Wi-Fi-системы.
Вопрос: На интернет-центрах Keenetic организована Wi-Fi-система и включен бесшовный роуминг для автоматического перехода между точками доступа. Но телефон не переходит на ближнюю точку доступа, а упорно держится за ту, к которой подключился изначально. Почему такое происходит?
Ответ:Mesh Wi-Fi-система интернет-центров Keenetic использует протоколы 802.11r/k/v для автоматического перехода клиентов между точками доступа, но в реальности качество работы бесшовного роуминга Wi-Fi очень зависит от оборудования клиента и наличия/отсутствия поддержки указанных протоколов. Для корректной работы бесшовного перехода между точками доступа клиент должен поддерживать протоколы 802.11r/k/v. Протокол 802.11r ускоряет переход между точками, а два других протокола просто информируют клиентов о точках доступа в домене роуминга и рекомендуют переход между смежными диапазонами.
На устройствах без поддержки протокола быстрого роуминга 802.11r интернет-центры Keenetic умеют использовать переход по PMK-кэшу.
Дополнительную информацию о механизме бесшовного роуминга вы найдете в инструкции:
Вопрос: Будет ли работать Mesh Wi-Fi-система с бесшовным роумингом Wi-Fi от Keenetic с маршрутизаторами других производителей?
Ответ: В интернет-центрах Keenetic используется собственная реализация Mesh Wi-Fi-системы и механизма бесшовного роуминга Wi-Fi. У каждого вендора свой механизм дистрибуции PMK R1, это не оговорено стандартом. Поэтому точки доступа разных вендоров не смогут работать в одном мобильном домене 802.11r.
Наша Mesh-система разрабатывалась для работы в рамках собственной технологической “экосистемы”. Тестирование на совместимость с оборудованием других производителей не производилось. В нашей лаборатории тестирование работоспособности Mesh Wi-Fi-системы выполняется на моделях Keenetic. Если вы хотите организовать единую Wi-Fi-систему с бесшовным роумингом и добиться полной совместимости устройств и доступного функционала, то для построения локальной сети используйте интернет-центры Keenetic.
Вопрос: Что делать если по какой-то причине ретранслятор не появляется в списке доступных для добавления, не захватывается в Wi-Fi-систему или появляется сообщение “Этот ретранслятор не может быть захвачен, потому что на нем установлен пароль администратора”?
Ответ: Выполните на нём сброс настроек на заводские установки и затем повторите подключение и захват. Можно обойтись и без сброса настроек, но в этом случае в интерфейсе командной строки (CLI) ретранслятора выполните последовательно команды:
user admin no password
system configuration save
Вопрос: При подключении к веб-интерфейсу ретранслятора появляется окно авторизации, хотя я не устанавливал пароль на этом устройстве. Какой пароль нужно вводить?
Ответ: Если ретранслятор захвачен в “Wi-Fi-систему”, то на нём устанавливается пароль учетной записи администратора (admin), который используется на контроллере.
Важно! Для управления Wi-Fi-системой можно использовать только встроенный аккаунт администратора — admin. Не отключайте в меню “Пользователи и доступ” для этой учетной записи доступ к веб-конфигуратору интернет-центра.
Вопрос: Предположим, что в уже существующей сети есть свой главный роутер с DHCP. Возможно ли подключить Кинетики к этой сети и развернуть на них Wi-Fi-систему? При этом нужно, чтобы контроллер Wi-Fi-системы выполнял роль обычной автономной точки доступа Wi-Fi. Можно ли так использовать Keenetic?
Ответ: Да, это возможно, несмотря на то что данная схема подключения не является штатной. Конечно в этом случае вы теряете большой функционал, не используя Keenetic в роли главного роутера в вашей сети, но практически такая схема возможна и описана в статье: