0,0
рейтинг
19 апреля 2012 в 04:40

NFC + метрончики = большая польза tutorial

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

Поэтому, сегодня я внесу маленькую лепту в копилку идей тех людей, для которых NFC — тёмный лес.


Итак, для появления в нашей жизни ещё одной забавной няшки нам понадобятся:

1. Любой телефон с операционной системой Android, обладающий NFC-модулем.

2. Несколько использованных метрончиков. Я свои просто сгрёб с турникета утром. Но можно купить и новые, с ними интереснее.

3. Программа NFC Retag (pro) из маркета.

Сперва, для новеньких, небольшой экскурс в технологию


Near Field Communication, NFC («коммуникация ближнего поля») — технология беспроводной высокочастотной связи малого радиуса действия, которая дает возможность обмена данными между устройствами, находящимися на расстоянии около 10 сантиметров (около 4-х дюймов). Устройство NFC может поддерживать связь и с существующими смарткартами и считывателями стандарта ISO 14443, и с другими устройствами NFC, и таким образом совместимо с существующей инфраструктурой бесконтактных карт, уже использующейся в общественном транспорте и платежных системах. NFC нацелена прежде всего на использование в мобильных телефонах.

©Wikipedia

Как это работает


Вы разблокируете телефон, подносите его к NFC-метке, телефон отрабатывает запрограммированные действия.

imageСамый простой пример: программа Яндекс.Метро. Запускаете программу, прикладываете метрончик к задней крышке телефона, узнаёте количество поездок и дату, когда метрончик протухнет.

Более сложный пример: вы приходите в магазин выбрать себе, допустим, телевизор. Разместить всю информацию о современном телевизоре даже на листе А4 убористым шрифтом затруднительно. Поэтому, на справочном листе ценнике можно разместить основную информацию, на которую смотрят покупатели “попроще” и знак NFC, а под лист подложить NFC-метку, которая будет содержать всю детальную информацию о товаре, или вести на веб-страницу магазина.

Ещё более сложный пример: клиент-банк на телефоне обучен реагировать на определённые данные в метках. Допустим, вы пришли в кинотеатр на премьеру “Гарипотер 94: Наконец-то все умрут”. Заранее билеты не продавали, а кинотеатр осаждают толпы фанатов ещё со вчерашнего вечера. Ваш номер в очереди, скорее всего, будет over9000 и посмотреть фильм вам светит только на будущей неделе. Однако, в кинотеатре стоит шайтан-машина, которая позволяет занять место и оплатить билет с помощью технологии NFC. И вы просто покупаете билет в обход всей этой очереди, приложив телефон к шайтан-машине, которая передаёт в ваш телефон все параметры транзакции, и согласившись оплатить данный счёт. Примерно вот так.

Метрончики в метрополитене – это те самые NFC-метки. На метрончике записан идентификатор, турникет его считывает, сверяется с БД и реагирует в соответствии с ответом сервера.

Таки зачем нам мёртвые метрончики?


Так как метрончик – это защищённая от записи NFC-метка, то мы можем манипулировать только действиями, запрограммированными в сторонней программе, привязанными к идентификатору этой метки.

Во всём маркете я нашёл пока только одну программу, которая делает это так просто, как об этом мечтает рядовой пользователь — NFC Retag. Она не блещет супер-интерфейсом, но свои функции выполняет на все 2,5 доллара, что были заплачены за pro-версию. Отличия бесплатной от про заключаются только в количестве NFC-меток, доступных для программирования, но я до лимита не добрался, купил в благодарность за то что эта программа была написана.

Сценарий использования мёртвых метрончиков у меня следующий:

Когда я нахожусь дома или на работе у меня должны быть включены все средства беспроводной связи, кроме Bluetooth, включены синхронизации, но дома должен быть приглушен звонок, а в офисе вообще должен быть только режим вибрации.
Когда я нахожусь вне дома, выключаем всю беспроводную связь, включаем плеер.
Если б я не продал машину, то был бы и третий пункт, где включался бы GPS, Bluetooth и запускался навигатор.
Итак, запускаем программу.

image


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

image

И начинаем программировать, что будет происходить при опознании этой метки.

image

В конечном итоге у нас должно получиться что-то типа этого

image

Повторяем для всех необходимых метрончиков и смотрим что у нас получилось.

image

Проверяем, как это работает.



Теперь расклеиваем метрончики в нужных местах и получаем удовольствие.

counter to Flickr
Александр Янковский @Suncheez
карма
100,2
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (74)

  • –27
    Вы придумали то, что давно сделали в сони www.sonymobile.com/ru/products/accessories/xperia-smarttags/
    И написано у Вас очень коряво кстати.
    • +20
      За двадцать баксов + доставка 4 метки? Нет уж, я как-нибудь без них.

      Коряво написано? Напишите лучше, делов-то.
      • –28
        Переписать коряво написанную статью про велосипед? Зачем мне это нужно объясните :)
        • +9
          Ну, вы же зачем-то велосипед прочитали, изучили, нашли какие-то недостатки, о которых говорите вслух. Правда, без уточнения и с попытками быстренько съехать после предложения сделать лучше.
          • –7
            «Ещё более сложный пример: клиент-банк на телефоне обучен реагировать на определённые данные в метках. Допустим, вы пришли в кинотеатр на премьеру “Гарипотер 94: Наконец-то все умрут”. Заранее билеты не продавали, а кинотеатр осаждают толпы фанатов ещё со вчерашнего вечера. Ваш номер в очереди, скорее всего, будет over9000 и посмотреть фильм вам светит только на будущей неделе. Однако, в кинотеатре стоит шайтан-машина, которая позволяет занять место и оплатить билет с помощью технологии NFC. И вы просто покупаете билет в обход всей этой очереди, приложив телефон к шайтан-машине, которая передаёт в ваш телефон все параметры транзакции, и согласившись оплатить данный счёт. Примерно вот так»

            например так
            «Со счета мобильного телефона можно оплачивать билеты в терминале установленном в холле кинотеатра, без очереди в кассу.»
            И не нужны сказки про шайтан-машины, мы не в 15 веке.
            • +9
              В России только 14% денег граждан имеют хождение в безналичном виде. Из этих 14% хорошо если если 20% используются держателями пластиковых карт не только для того чтобы дойти до банкомата и обнулить счёт выгребанием всего баланса в наличку. А как работают беспроводные технологии оплаты товаров знают максимум пол-миллиона человек в стране.

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

              Так вот этот абзац был написан как раз для тех ста сорока миллионов россиян, которые понятия не имеют, как эта хрень работает. Вдруг пригодится.
              • –5
                То есть Вы все таки надеетесь, что все они прочтут данную заметку? Очень самонадеянно :)
                • +6
                  Ну, люди, вероятно, полезут сначала в поисковик узнать как это работает?
                • 0
                  Разрешите влезть в спор.
                  Я уверен, что все хабрачеловеки либо слышали, либо уже пользовали смарттеги от Сони. И именно по этому поводу Ваш отсыл к данной продукции совершенно некоструктивен в данном сообществе и был уже оценен негативно. В статье же автор из подножного корма делает конфетку, до производства которой ещё догадаться нужно, а также произвести некоторые телодвижения для реализации задуманного. У автора это реально получилось.

                  Если же Вы желали оставить отзыв о литературных способностях автора и его нежелании на данный момент заигрывать с сестрой таланта, то возможно Вы и правы, но опять же в данном сообществе это далеко не главное.

                  Итак, мы имеем два Ваших «фи!»: о сматртегах и литературе. Оба «фи!» весьма надуманны по вышеуказанным причинам и могут быть расценены только лишь как толстый троллинг.
                  • –2
                    Я не тролю, мне действительно не понравилось изложение автором мыслей, но теперь это видимо только моя проблема, моя опечален…
                    Про сони написал выше, если автор делает отсыл к технологии сони, то может (должен) указать, что такое уже придумано до него. Все.
                    • 0
                      Так зачем продолжаете тогда? Вас не поддержали — так попридержите коней. Взрослые люди все-таки.
        • +1
          Если вам это не нужно, вы можете пройти мимо. Попробуйте, это работает. Многие достигают успеха с этим способом.
          • –3
            Поздно, минусаторы заминусаторили в минус своими минусами…
            • 0
              Слив защитан.
        • +1
          Запросто. В своё время одному парню, по имени Линус, прикинулось, что терминал в операционной системе Minix написан очень коряво. Он его переписал. Теперь этой перепиской пользуется большая часть компьютеров в мире.
          • –2
            Большая часть среди nix систем. А так да, могу понять, что Вы хотели принести что-то новое пользователям андроида, но могли бы указать, что да, это уже есть в телефонах сони, но я сделаю это бесплатно.
  • +3
    Велосипед знатный. получается все ваши зоны определяются только в 5-10 см от талончика? и имхо есть еще больший недостаток — автоматически не ловится покидание зоны.
    для такой же функции есть Liama — goo.gl/BUen8 (линк на google play)
    бесплатна, ориентируется только по сотовым вышкам, работает ок.
    • +4
      NFC, в том применении как я описал, хорошо подойдут для управления телефоном в местах, между которыми слишком мала разница с точки зрения локации по сотовым вышкам. Например, в офисе запрещено звенеть и даже вибрировать сотовым телефоном в переговорке, а на прочей территории офиса разрешена только вибра. Здесь NFC-метки на стенах выручат.

      Так же в медицинских учреждениях есть кабинеты, где присутствие активных сотовых телефонов категорически противопоказано, а так можно на входе прикладываясь к метке включать режим «В самолёте» и выключать, выходя обратно.

      А за Liama — спасибо. Не знал про эту программу.
      • 0
        хм, точно. как решение для частного случая и с которым liama точно не справится — очень даже ничего. вот только nfc — в относительно «неновых» телефонах та еще редкость (в моем desire s нет).
    • 0
      Но ведь можно обклеить nfc-билетами стены и мебель!
  • +1
    да что все с этими тэгами… бесполезно же.
    Вот в визитки встраивать неплохо бы и qr-код тоже, чтоб данные контакта не переписывать…
    • 0
      Представляю себе, как на остановке будут снанить NFC метки, вклеенные в объявления.
      • 0
        Да уж… Учитывая радиус действия, выглядеть это будет как рассматривание товара на рынке какой-нить скряжистой старушонкой ))
      • 0
        Между прочим сами билеты уже используют для рекламы, можно расширить идею и добавить код.
  • 0
    Метрончик нужно обязательно прислонить к задней крышке телефона? Хотелось бы приклеить его ко дну кредла, чтобы не видно было.
  • 0
    Итого, неявный итог статьи — NFC на сегодняшний день, без поддержки сторонних фирм, практически бесполезен. Навешивать заранее запрограммированное действие на контакт с тэгом — по сути извращение. Это можно сделать десятком других способов, начиная от ярлыка, и заканчивая QR-кодом или профилем в Tasker.

    Кстати, я недавно написал небольшой пост в Google+. Похоже, его смело можно было бы выкатывать на Хабр, по информационной нагрузке получилось бы три таких статьи :) А я тогда посчитал, что обзор недостоин Хабра…

    И да, приложение NFC Task Launcher позволяет добиться той же самой функциональности, что и NFC Retag, и намного большей (например, есть возможность выполнять задачи из Tasker). Она позволяет использовать два подхода — записывать закодированную задачу прямо на тэг, или привязываться к ID тэга без перезаписи. Включается опцией «Legacy mode» в настройках.
    • +2
      NFC Retag умеет работать с таскером, зря вы на него наезжаете.

      А NFC Task Launcher я не смог быстро победить, чтобы он не пытался на метки записывать информацию. А играть в «комсомольца в гамаке» мне лень.

      Видео у вас зачётное получилось. Только бэк-флейма не оберётесь. :)
      • 0
        Пардон за Retag, запямятовал, значит… Просто, из-за своего интерфейса он меня вынудил перейти на что-то другое в кратчайшие сроки. Поэтому я на нем особо не задерживался.
  • +3
    Было бы неплохо использовать б/у билеты на метро для автоматизации домашней библиотеки. Т.е. привязать к записи о книге в личной базе ID метки, а билетик приклеить к форзацу.
    Можно много функций придумать на эту тему.
    • –1
      Например?
    • 0
      А на каком расстоянии они считываются телефонными NFC-модулями? Если бы можно было провести телефоном не менее, чем в 10 см от полки с книгами и получить список стоящих там книг для инвентаризации или для просмотра обложек в AR — это было бы здорово.
      • 0
        Эксперименты на практике с Nexus S показывают расстояние около 3см, так что «провести» вряд-ли удастся.
        Однако можно прилепить один на саму полку и проводить телефоном рядом с книгой и полкой когда кладешь первую на вторую, тогда можно держать в базе расположение книг. «Просмотр» полки тогда сводится к считыванию метки полки.
        Метод требует дисциплины, да.
  • 0
    Больше похоже на обзор программы, а не на статью.
  • +1
    А можно ли метку проездного закатать в телефон и использовать его вместо проездного?
    Можно ли сканировать чужие проездные пронося телефон «случайно» рядом с карманом прохожего?
    Новый тип фрода может получится)
    • 0
      Без нужных ключей ничего не выйдет.
      • 0
        «метрончики» (блин, откуда это слово-то пошло?) не защищены ключами доступа, поскольку это Mifare Ultralight. а вообще, ключи доступа к московской карте вскрываются на раз.
        На youtube как раз есть видео, какс помощью nexus s «метрончики» пополняются.
        • 0
          Это никак не мешает записывать на карту подпись содержимого, вычисляемую с помощью серийника карты и секретного ключа.
          • 0
            Подпись не мешает снять дамп карты и либо отдавать его турникету любым NFC-устройством (думаю, сэмулировать нужный серийник программно можно), либо залить обратно в ту же карту после её использования.
            • 0
              Ну так в том то и дело, что вроде как нельзя ни перезаписать карту, ни сэмулировать серийник её.
              • 0
                Перезаписать — нельзя, они read-only. Считать дамп, а потом сэмулировать — можно (теоретически; я не видел программ для эмуляции)
              • 0
                > нельзя перезаписать карту
                А как тогда турникет записывает на нее новое число поездок (N-1)?
                • 0
                  Я не знаю подробностей, но возможно там есть биты, которые можно записать только один раз, при проходе через турникет он устанавливает очередной бит использованной поездки.
                • –1
                  Турникет на карту не записывает ничего и никак. Считывает ID, делает запрос к серверу БД, которые, кстати, стоят на каждой станции, получает количество поездок. Схема, в принципе, простая.
                  • +1
                    Получается, программы для считывания билетов, вроде упомянутого Яндекс.метро, тоже лезут на сервер БД? Разве к этим серверам есть публичный доступ?
        • –1
          метрончики — логичное название для наследников жетончиков ;)
        • 0
          Ниже ответил на этот же вопрос.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Примерно так же работает программа setting profiles, будет полезна тем, у кого нет NFC. Если телефон видит рабочий wifi — включается профиль «рабочий» где установлен нужный уровень звонка, ухожу с работы — громкость звонка автоматом делается максимально.
    Дома опять же уровень звонка уменьшю, плюс в с 0:00 до 7:00 дополнительно по таймеру уменьшается яркость и на минимум звук сигнала что бы не будили sms-ки и почта.
    Полностью сэмулировать систему с NFC не получится, но как замена неплохо.
  • +9
    Каждый раз чтение слова «метрончики» вызывает рвотные позывы.
    Это официальное название или автор статьи начинающий эмо?
    • 0
      Слово «метрончик» старше меня раза в два. Появилось в те времена, когда метро было глубоким и коротким. Были «талончики» на проезд в наземном транспорте, а жетоны метрополитена быстро стали «метрончиками».
      • +2
        Жетон метро всю жизнь и называется жетоном метро.
        Не говоря уж о том, что долгое время даже после вашего рождения автоматы в метро работали от обычных монет, жетоны были введены снова в 1992 году.
  • +1
    Интересно было бы узнать, как постоянно включенный таг сканер влияет на батарейку.
    • 0
      Не думаю, что сильно, ведь для ожидания сигнала достаточно периодически кидать слабый импульс опроса и лишь при наличии ответа уже включать передатчик для чтения данных. К тому же, сканер работает (или лишь активен, не уточнял) при включенном и разблокированном экране, то есть не кушает батарейку, когда лежит, например, в кармане. Ну и интересно, что у Galaxy Nexus сам ридер находится в батарейке, но и это не даёт ответа на вопрос устройства управления питанием: то-ли это железо телефона, то-ли контроллер самой батарейки, и наверняка не без помощи управления со стороны ОС.
  • 0
    Интересен такой момент, можно ли скопировать информацию с талона метро в телефон, и пользоваться ним вместо талона? Или телефон — только сканнер, он не сможет передать информацию другому сканеру?
    • 0
      Удалось найти программу NFClassic, она позволяет прочитать данные, а затем воспроизвести их. Но, как уже было сказано, в метро тоже не дураки сидят, наверняка используют защиту данных. Например, мой пропуск в универ считывается на раз, но работоспособность пока не проверял. Социальная карта же уже не читается полностью, требуются ключи или что-то иное.
  • 0
    А как зашить информацию в карточку, например что бы на шару в метро ездить, используя телефон в качестве програматора?
    • 0
      1. В метро не идиоты работают. Они защищают свои деньги.

      2. Не знаю кто как, но я ловлю зайцев, которые прыгают через турникеты, и сдаю ментам. Если сопротивляются — насильно сдаю ментам. Потому что в моём билете рубль цены — оплата проезда зайцев.
  • 0
    ммм зайцы бывают разные, могут и лапой хлопнуть )
    Мне пофиг на шару в метро, меня сам принцип прошивки и возможностей интересует
    • 0
      Ну тогда почитайте например эти заметки из блога человека, которому тоже интересно.
    • 0
      Когда человек знает, что он глубоко неправ, он боится возмездия. А страх всегда делает врага ещё слабее. Это не считая того что я и сам могу «лапой хлопнуть».

      Теоретическая возможность есть. Но практически только правильный физический носитель является законным методом оплаты. Попытка платить мобильником может быть (и наверняка будет, чтобы другим было неповадно) квалифицирована как подделка проездных документов, а затем сурово покарана.
      • +1
        явно не в метро, фиг кто заметит что ты там прислоняешь
  • +1
    А еще вот тут описан подобный алгоритм работы с московскими метро-билетами, и в том числе подсказка — как сделать nfc-метку тоньше + некоторая полезная информация в комментариях, раскрывающая эту тему ;)
    • 0
      Метрополитеновский билет совершенно спокойно расклеивается на слои ногтем. Можно получить в сухом остатке плёночку с самим NFC, приклеить её внутрь крышки мобильника и поражать обывателей «оплатой проезда мабилой».
      • 0
        Кстати в указанной выше статье упоминается что далеко не всегда удастся воспользоваться проездным, спрятав его под крышку телефона… =(
  • 0
    Ещё пример работы с NFC и метробилетами.
  • 0
    Да, в голове у людей все перемешалось, Тас называют уже все, что NFC не является. Понятно, что ТАС пиарят сейчас, хотя это, по сути, старый добрый Mifare.

    Я уже писал на Хабре, что в конце 2009 г. был участником эксперимента по оплате проезда в метро с помощью мобильника.

    Представить примерно, как это технически работает, можно по этому видео: www.youtube.com/watch?v=Hg-6EC0kDYA&t=2m35s

    Коротко по поводу «метрончиков»: да, информация лежит в открытом виде, но в связи с участившимися случаями взлома, стали ее шифровать, года с 2007. Т. е. дамп карты прочитать можно, но просто так его залить на другую карту не получится — там хэш (подпись) привязка к id карты и другим параметрам.

    Карту можно восстановить, но не всегда, потому что в Ultralight есть так называемая OTP-биты (т. е. он «прожигается» 1 раз и повторно перезаписать нельзя), но есть нюанс — таких OTP битов всего 24 (точное количество не помню, см. спецификации) — вот почему на картах с кол-вом поездок 60 можно проводить такой вот фокус: ездим на метро, не теряя поездок

    Ну и комментаторы, которые говорят, что на карты ничего не пишется, что идет онлайн доступ к БД, мягко говоря, не в теме. Во-первых, представьте кол-во запросов к базе — и если что глюканет, то что будет? Массовые непропускания через турникеты или, наоборот, турникеты откроятся для всех? Во-вторых, если бы все шло только через id — то все бы ходили с клонами карт. Все-таки Mifare — это карта памяти, простейшая микропроцессорная карта, там многое что можно записать и многое, что можно сделать. Главное, грамотный подход. К сожалению, в московском метро многое сделано примитивно и неграмотно. потому массовые подделки идут, но метро старается замалчивать, а информацию в сети затирать. Метрошники уже давно в комментариях угрожают в блоге дарксимпсона. Забавные люди, он пользуется открытой информацией, вместо того, чтобы закрывать дыры, они угрожают.
    • 0
      дамп карты прочитать можно, но просто так его залить на другую карту не получится — там хэш (подпись) привязка к id карты и другим параметрам.

      Увы, для братьев-китайцев ничего святого нет: вот те раз, а вот те два (многоразовый вариант!)
  • 0
    Посмотрите в сторону AutomateIt — позволяет делать все то же самое, но NFC не обязателен.
    Может отрабатывать по GPS координатам, по базовой станции, по вай-фай точке или блютуз устройству.
  • 0
    Спасибо за четко изложенную информацию, очень помогло.
  • 0
    Это что же, я могу, например, на пропускном пункте на входную дверь приклеить эту NFC-метку, а телефон работника в этот момент будет автоматически отсылать мне e-mail? Круто! Или я что-то не понял?
  • 0
    Почему-то Lumia 720 видит московский билет, но не может ничего с него считать. Кто знает, в чем может быть проблема? Разные протоколы/ чипы/ ещё что?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.