Nfc write error

Home Assistant Android version: beta-382-532ae9d-full Android version: 10 Phone model: Oneplus7 Home Assistant version: 114.4 Last working Home Assistant release (if known): n/a Description of prob...

Hi,
I have a Samsung Galaxy S9, and am running 0.117.2. I can write tags without a problem but am getting the read error. In my permissions, I can’t modify the permissions for NFC access but see that the Home Assistant app appears to have access:
grafik

I can write a tag without a problem:
grafik
grafik

But then reading the same tag:
grafik
«Error while processing nfc tag»

What is strange is that the tag works fine on iOS… and I can see the URL in NFC tools:
grafik

At the suggestion of @dshokouhi on the discord server, I ran the android debug tool. I’m NOT a super advanced linux guy or debugger, so I had a hard time parsing through the logs. However I think I found the «moment» when the tag was scanned. Visibly it can read the card — as I see the full URL — but there is something preventing it from then properly opening it in home assistant. I’m happy to help debug by providing more logs, etc. See extract below (I removed the repeated ’11-09 15:49:14.059 10321 10321 E TagReaderActivity:’ from each line)

Unable to handle url (nfc): https://www.home-assistant.io/tag/bb7fd21a-97ab-4453-9e8f-057672f647cc io.homeassistant.companion.android.common.data.integration.IntegrationException at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl.scanTag(IntegrationRepositoryImpl.kt:233) at io.homeassistant.companion.android.common.data.integration.impl.IntegrationRepositoryImpl$scanTag$1.invokeSuspend(Unknown Source:12) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:8167) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

I am currently trying to test the writable ndef message example on my nrf52 development board. I have gotten it to work so many times in the past weeks but now it seems when I use NFC tools to write a message to the nfc tags I get the error on nfc tools, «write error». I am really confused as to what the issue can be hand have tried almost everything suggested in the forums to no avail. I will provide a screen shot of the appearance of this error message. 

The code is literally the exact writable ndef message example which is why I left it out. Just wondering if any one has some possible solutions or approaches to try. Thank you.

  • ovrebekk

    Hi 

    Does it start working again if you reset the nRF52DK?

    What if you erase the chip and reprogram it, does that make a difference?

    Do you have another phone or NFC reader device at hand that you could try, to see if it is somehow related to the reader or just to the nRF52DK?

    Best regards
    Torbjørn

  • peterg0313

    I tried pushing the reset button on development board and then writing to the nfc tag, no luck, I tried erasing the chip and running the code again, still no luck. 

    I tried with another phone, an iphone, and the error, nfc tag not supported came up. But that is so strange because I have had this working consistently for a long time, I am using the tag given with the nRF52 development board.

  • peterg0313

    To give the situation more context, I am implementing aspects of the wrtiable ndef message example to some firmware I have written for a custom board using the same nrf52 chip as the development board. I was testing the firmware on the development board since I didnt have the actual one yet. I got it working for weeks and now that the actual board has arrived the nfc write feature is not working and neither is the nfc writing firmware on the development board. This is really strange and I dont know how firmware that was working for weeks on the development board does not work on the development board anymore. 

  • ovrebekk

    Hi

    That is really odd. 

    What happens if you try a simple read only example, like the record_text example in the SDK?

    Best regards
    Torbjørn

  • peterg0313

    It does work with the record_text example. The nfc tag is coming up as a mifare tag which I dont think that nfc tools can write to. However, I dont believe the nfc tag was always coming up as a mifare tag. I debugged with someone else who has the board and in there case the tag came up as a different type which nfc tools can write to. The issue seems to be that somewhere in the debugging process when I tested the custom board both the tags I was using all the sudden came up as types that nfc tools can not write to when before the antenna was a type that nfc tools supported. 

The only starting point for any NFC operation is when the System NFC App gives you a Tag object as a starting point to interact with the NFC Tag it has detected.

There are a number of ways to do that and enableForgroundDispatch is one method you are already using, But in real life usage this is very unreliable way to work with NFC and will lead to lots of write errors and corrupted data on NFC Tags.

Much better method is to use the newer API enableReaderMode and an example of that is found at https://stackoverflow.com/a/64921434/2373819 and it explains why it is better.

But for both API’s all your interaction with the Tag needs to be done when a Tag is detected and you are notified a Tag has come in to range (for the current API you are using that is in onNewIntent)

So a simple way to handle this when the user clicks the ActivateButton is to set a global boolean to indicate the next time a Tag is detected you should write to it instead of trying to read from it (and you would store the string to write in a global String as well)

Below is some code changes that give you the idea BUT this is a bare bones example as it does not show any UI changes to prompt the user to bring an NFC card in to range and it does not cover any re-tries you might need to successfully write to an NFC card.

public class MainActivity extends AppCompatActivity {

    public static final String Error_dected = "No NFC Tag Detected";
    public static final String Write_Success = "Text Written Succesfully";
    public static final String Write_Error = "Error during writtin, Try again";
    NfcAdapter nfcAdapter;
    PendingIntent pendingIntent;
    IntentFilter writingTagFilters[];
    boolean writeMode;
    Tag myTag;
    Context context;


    EditText edit_message;
    TextView nfc_contents;
    Button ActivateButton;

    //New code below
    boolean someThingToWrite;
    String stringToWrite;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edit_message = (EditText) findViewById(R.id.edit_message);
        nfc_contents = (TextView) findViewById(R.id.nfc_content);
        ActivateButton = (Button) findViewById(R.id.ActivateButton);
        context = this;
        ActivateButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //Changed Code
                stringToWrite = edit_message.getText().toString();
                someThingToWrite = true;
        });



        nfcAdapter = NfcAdapter.getDefaultAdapter(this);
        if (nfcAdapter == null) {
            Toast.makeText(this, "this device does not support NFC", Toast.LENGTH_LONG).show();

        }

        readfromIntent(getIntent());
        pendingIntent = pendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
        IntentFilter tagDetected = new IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED);
        tagDetected.addCategory(Intent.CATEGORY_DEFAULT);
        writingTagFilters = new IntentFilter[]{tagDetected};

    }



    public void readfromIntent(Intent intent) {
        String action = intent.getAction();
        if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)
                || NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)
                || NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
            Parcelable[] rawMsg = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
            NdefMessage[] msgs = null;
            if (rawMsg != null) {
                msgs = new NdefMessage[rawMsg.length];
                for (int i = 0; i < rawMsg.length; i++) {
                    msgs[i] = (NdefMessage) rawMsg[i];
                }

                buildTagView(msgs);
            }
        }

    }

    private void buildTagView(NdefMessage[] msgs) {
        if (msgs == null || msgs.length == 0) return;

        String text = "";
        byte[] payload = msgs[0].getRecords()[0].getPayload();
        String textEncodgin = ((payload[0] & 128) == 0) ? "UTF-8" : "UTF-16"; //Get the text encoding
        int languageCodeLength = payload[0] & 0063;
        try {
            text = new String(payload, languageCodeLength + 1, payload.length - languageCodeLength - 1, textEncodgin);

        } catch (UnsupportedEncodingException e) {
            Log.e("UnsupportedEncoding", e.toString());
        }
        nfc_contents.setText("NFC Content: " + text);

    }

    private void write(String text, Tag tag) throws IOException, FormatException {
        NdefRecord[] records = {createRecord(text)};
        NdefMessage message = new NdefMessage(records);
        //Get an instance os Ndef for the tag
        Ndef ndef = Ndef.get(tag);

        //Enable I/0
        ndef.connect();
        //Write the message
        ndef.writeNdefMessage(message);
        //Clase de connection
        ndef.close();


    }

    private NdefRecord createRecord(String text) throws UnsupportedEncodingException {

    String lang ="en";
    byte[] textBytes=text.getBytes();
    byte[] langBytes=lang.getBytes("US-ASCII");
    int langLength=langBytes.length;
    int textLength=textBytes.length;
    byte[] payload =new byte[1+langLength+textLength];
    //set status byte (see NDEF spec for actual bits

        payload[0]= (byte) langLength;
        //copy langbytes and textbytes into payload

        System.arraycopy(langBytes,0,payload,1,langLength);
        System.arraycopy(textBytes,0,payload,1+langLength,textLength);

        NdefRecord recordNFC =new NdefRecord(NdefRecord.TNF_WELL_KNOWN,NdefRecord.RTD_TEXT,new byte[0],payload);

        return recordNFC;



    }

    @Override
    protected void onNewIntent(Intent intent)
    {
        super.onNewIntent(intent);

        //New code
        if(someThingToWrite) {
          // Is it an NDEF tag
          if(NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction()))
          {
            myTag=intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
            write("PlainText|" + stringToWrite, myTag);
            // Don't want to continue with reading so return
            return;
          }
          // Really should handle NDEF formatable tags as well
          // Just in case it's a blank unformatted tag
          // but that is relevant for this example.

        }

        setIntent(intent);
        readfromIntent(intent);
        if(NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction()))
        {
            myTag=intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
        }
    }
    @Override
    public void onPause()
    {
        super.onPause();
        WriteModeOff();
    }

    @Override
    public void onResume()
    {
        super.onResume();
        WriteModeOn();
    }

    /********ENABLE WRITE*****/
    private void WriteModeOn()
    {
        writeMode=true;
        nfcAdapter.enableForegroundDispatch(this,pendingIntent,writingTagFilters,null);

    }

    /*******DISABLE WRITE*****/
    private void WriteModeOff()
    {
        writeMode=false;
        nfcAdapter.disableForegroundDispatch(this);
    }
}

I quite like instead of setting a flag to say on next Tag detection to write to Tag to actually create a new Activity just to handle the UI and re-try logic and Tag writing, this keeps the logic cleaner and is re-useable in other parts of your App.
Then your ActivateButton.setOnClickListener just starts the new Activity and passes it the string to write via the Intent.

Note I can you you have been copying and pasting code from poor examples on the web because you use the WriteModeOn and WriteModeOff method :-)

Содержание

  • 1 Тип метки NFC не поддерживается — решение проблемы [#2019]
    • 1.1 Подготовка устройства
    • 1.2 Получение рут-прав
    • 1.3 Перепрограммирование
  • 2 Чтение и запись NFC меток с помощью Arduino
    • 2.1 Что такое NFC?
    • 2.2 Список комплектующих
    • 2.3 Чтение NFC метки
    • 2.4 Запись на NFC метку
  • 3 Подготовка устройств на основе NFC (Windows 10)
    • 3.1 Подготовка пользовательского интерфейса OOBE
    • 3.2 NFC-метка
    • 3.3 Компоненты NFC-метки
    • 3.4 Вспомогательное устройство подготовки с помощью NFC
    • 3.5 Компоненты метки устройства с поддержкой NFC
    • 3.6 Связанные статьи
  • 4 Ошибка чтения nfc повтор попытки
    • 4.1 Способы использования NFC
    • 4.2 Итог
  • 5 Как пользоваться NFC на Android? Советы и инструкции
    • 5.1 NFC в телефоне. Что это?
    • 5.2 Как включить NFC
    • 5.3 Как пользоваться NFC?
    • 5.4 Как осуществить передачу данных
    • 5.5 Передача приложений
    • 5.6 Передача использование веб-контента и информации
    • 5.7 Передача видео на
    • 5.8 Передача контактов
    • 5.9 Передача фотографий
    • 5.10 Использование меток NFC
    • 5.11 Оплата платежей с помощью NFC в телефоне
    • 5.12 Подводя итог
  • 6 Проверяем наличие NFC в телефоне и исправляем ситуацию
    • 6.1 История появления технологии в телефоне
    • 6.2 Модели смартфонов, поддерживающие NFC
    • 6.3 Проверяем девайс на наличие NFC
    • 6.4 Активация NFC
    • 6.5 Что делать, если устройство не поддерживает NFC?
    • 6.6 Установка NFC-модуля
    • 6.7 Виды модулей и методы их внедрения
    • 6.8 Как использовать NFC-метку
    • 6.9 Обмен данными через NFC
    • 6.10 Преимущества и недостатки NFC

Тип метки NFC не поддерживается — решение проблемы [#2019]

Ошибка чтения NFC повтор попытки

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

Например, в настоящий момент в системе NFC, которая пока остается довольно инновационной/,присутствует целый ряд меток, при этом устройства поддерживают не все из них.

В данной статье мы рассмотрим, что означает уведомление о том, что типа метки NFC не поддерживается, и как устранить эту проблему на Samsung.

Cодержание:

Что же такое NFC? Это особая технология контактного считывания информации с телефона особыми устройствами.

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

Распространена данная технология в настоящее время еще не слишком широко, но ее внедрение идет достаточно активно.

Зачем нужна такая технология, и какие проблемы она помогает решить?

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

Для того, чтобы начать пользоваться, например, проездным в таком виде, вам требуется скачать специальное приложение для карты Тройка (для проезда в подземном и надземном транспорте Москвы), зарегистрировать в нем свою карту, затем приложить ее к телефону для считывания, в результате чего все ее данные отразятся в приложении.

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

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

вернуться к меню ↑

Каждое устройство, будь то терминал или турникет, способное взаимодействовать с вашим телефоном, оснащено специальной NFC-меткой.

Именно с ней взаимодействует такая же метка в вашем телефоне и происходит считывание информации (и денежных средств).

Типы таких меток бывают различными, в зависимости от того, какой разработчик их спроектировал.

И в этом-то и состоит основная проблема – если типы метки в устройстве считывания и в вашем телефоне не совпадают, то функция работать не будет, так как одно устройство не распознает другое.

Но такая ошибка происходит только в том случае, если разработчики не обменялись лицензиями на устройства для того, чтобы настроить совместную работу.

Некоторые разработчики сделали это, другие – нет, потому ваше устройство может работать с несколькими типами меток, но с какой-то конкретной – не сможет.

Для устройств марки Samsung такая проблема является достаточно распространенной, так как разработчики этой модели телефонов производят также и свой, отличный от других, тип метки. При этом они не синхронизировали работу своих устройств со многими другими разработчиками, от чего в конечном итоге пострадали пользователи, которые не могут свободно использовать функционал устройств. вернуться к меню ↑

Программы на устройствах Samsung чаще всего не работают именно с метками MIFARE Classic.

Эти разработчики не продают свою лицензию Самсунгу, и при этом, они используют особенный тип кодировки, который не может расшифровать смартфон данного бренда.

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

Особенно не приятна такая особенность телефонов жителями Москвы и Санкт-Петербурга, которые используют общественный транспорт.

Дело в том, что в картах «Подорожник» (универсальный проездной по городу Санкт-Петербургу) и «Тройка» (комплексный проездной по городу Москве) используется тип метки MIFARE Classic, то есть с Самсунгом такие карты работать не могут. 

Потому москвичи и питерцы, имеющие смартфоны этого бренда, не могут воспользоваться функцией NFC в основной для России сфере его применения.

Важно. Таких проблем не возникает, например, с устройствами Apple, которые исправно функционируют с метками любого типа. вернуться к меню ↑

На самом деле, рядовой пользователь очень мало что может сделать для решения этой проблемы, так как основная проблема находится в «железе», то есть в самом чипе NFC, установленном в устройстве.

А несовместимыми чипами оснащена вся линейка смартфонов Galaxy.

Единственный способ абсолютного решения этой проблемы – замена самого чипа NFC, но это недешевая процедура, которая выполняется в условиях сервиса.

Подготовка устройства

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

Строго говоря, таким образом вы взламываете код своей метки. Для осуществления перепрограммирования вам потребуется сначала получить рут-права на своем телефоне, для этого проделайте следующее:

1Войдите в Настройки устройства и найдите там пункт Справка или О телефоне, перейдите в Сведения о ПО, нажмите на него;

2Найдите раздел Номер сборки и несколько раз нажимайте на него до тех пор, пока не появится надпись «Вы стали разработчиком» (в некоторых случаях может потребоваться нажать на пункт Номер сборки и удерживать – это зависит от модели телефона);

3Теперь вы стали разработчиком – зайдите в раздел Для разработчиков, который появится в Настройках и поставьте галочку в чекбокс рядом с пунктом «Отладка по USB».

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

Получение рут-прав

Сначала скачайте и установите программу King-Root, так как именно она позволит получить рут права.

Скачать ее можно по ссылке http://kingroot-pc.ru.uptodown.com/windows.

Для установки дважды кликните по файлу, а затем соглашайтесь с рекомендациями установщика, нажимая Далее и ОК.

1Теперь подключите включенный телефон к включенному же компьютеру с помощью USB-кабеля;

2Запустите программу King-Root;

3Откроется большое диалоговое окно в нижнем правом углу которого расположена большая синяя кнопка – нажмите на нее;

4Дождитесь окончания процесса и отключите телефон от компьютера.

После перезагрузки устройства вы сможете использовать функции, доступные суперпользователю.

Перепрограммирование

Теперь вы получили доступ к системным папкам. Найдите в них файл /system/csc/others.x­ml.

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

Откройте этот файл. Найдите теги и , добавьте между ними новую строку и пропишите в нее NONE.

Абсолютной гарантии того, что это сработает, нет, но попытаться все же стоит.

Источник: http://geek-nose.com/tip-metki-nfc-ne-podderzhivaetsya-samsung/

Чтение и запись NFC меток с помощью Arduino

Воспользуемся платой Arduino для чтения NFC меток и записи на них информации!

Что такое NFC?

NFC (near field communication, связь в ближнем поле) – это протоколы, которые используют электронные устройства для связи и передачи данных между собой.

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

Они используют магнитную индукцию между двумя маленькими петлевыми антеннами. В настоящее время метки переносят от 96 до 4096 байт информации.

Список комплектующих

  • Arduino Uno R3;
  • плата расширения Adafruit PN532 RFID/NFC Shield (или аналог);
  • Arduino IDE;
  • перезаписываемые NFC метки.

Плата расширения Adafruit PN532 RFID/NFC Shield

Важно, чтобы NFC метки были перезаписываемыми, иначе код не заработает.

Для проверки того, успешно ли мы записали данные на метки, мы можем использовать Arduino или телефон с NFC. Большинство смартфонов на Android могут читать NFC метки, я буду использовать для тестов Nexus 5.

К сожалению, для пользователей iPhone, поддержка NFC началась с iPhone 6 и 6s, но они не поддерживают чтение NFC меток, поэтому можно воспользоваться платой Arduino для проверки того, что записано на вашей NFC метке.

iPhone использует свои NFC возможности только для Apple Pay, следовательно вы не можете использовать их для чтения меток или чего-то другого.

Когда у нас будут все необходимые комплектующие, нам будет необходимо установить две библиотеки, которые делают возможным чтение и запись меток.

Это библиотеки don/NDEF и Seeedstudio’s, мы будем в основном использовать первую из них. Библиотека Seeedstudio’s используется, если у вас есть плата расширения Seeedstudio NFC shield. Мы установим ее просто на всякий случай.

Вам необходимо скачать и установить обе библиотеки, используя в Arduino IDE пункт «Добавить .zip библиотеку» (Add .zip Library) в меню «Скетч (Sketch) → Добавить библиотеку (Include Library)».

Не забудьте установить обе библиотеки по отдельности и в каталог Arduino по умолчанию, иначе у вас будут ошибки компиляции.

Запустите IDE, у вас должен создасться файл нового скетча. Сохраните новый файл под любым именем, например, «Read NFC Tag». Сперва необходимо добавить в него заголовочные файлы. Они должны идти до void setup().

#include #include #include // Следующие файлы включают установленные библиотеки #include PN532_I2C pn532_i2c(Wire); NfcAdapter nfc = NfcAdapter(pn532_i2c); // Указываем, что используем плату расширения

Чтение NFC метки

Эти заголовочные файлы очень важны, и проект не будет без них работать. Далее пишем следующий код.

#include #include #include // Следующие файлы включают установленные библиотеки #include PN532_I2C pn532_i2c(Wire); NfcAdapter nfc = NfcAdapter(pn532_i2c); // Указываем, что используем плату расширения void setup(void) { Serial.begin(9600); Serial.println(«NFC TAG READER»); // Заголовок, используемый в мониторе последовательного порта nfc.begin(); } void loop(void) { Serial.println(«Scan your NFC tag on the NFC Shield»); // Команда, чтобы вы знали, что делать дальше if (nfc.tagPresent()) { NfcTag tag = nfc.read(); Serial.println(tag.getTagType()); Serial.print(«UID: «); Serial.println(tag.getUidString()); // Извлекает уникальный идентификатор из вашей метки if (tag.hasNdefMessage()) // Если у метки есть сообщение { NdefMessage message = tag.getNdefMessage(); Serial.print(«This Message in this Tag is «); Serial.print(message.getRecordCount()); Serial.print(» NFC Tag Record»); if (message.getRecordCount() != 1) { Serial.print(«s»); } Serial.println(«.»); // Если у вас более 1 сообщения, то проходим по ним в цикле int recordCount = message.getRecordCount(); for (int i = 0; i < recordCount; i++) { Serial.print(«NDEF Record «); Serial.println(i+1); NdefRecord record = message.getRecord(i); int payloadLength = record.getPayloadLength(); byte payload[payloadLength]; record.getPayload(payload); String payloadAsString = «»; // Обработать сообщение, как строку for (int c = 0; c < payloadLength; c++) { payloadAsString += (char)payload[c]; } Serial.print(» Information (as String): «); Serial.println(payloadAsString); String uid = record.getId(); if (uid != «») { Serial.print(» ID: «); Serial.println(uid); // Напечатать уникальный идентификатор NFC метки } } } } delay(10000); }

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

Когда вы загрузите программу в Arduino, откройте монитор последовательного порта, там вы увидите сообщение “NFC TAG Reader”, а ниже инструкции, говорящие вам сканировать вашу NFC метку на своей плате расширения NFC (“Scan your NFC tag on your NFC Shield”).

Когда я сделал это, то получил в мониторе последовательного порта следующее:

Вывод в мониторе последовательного порта Arduino IDE при чтении NFC метки

Обратите внимание, что он дает уникальный идентификатор NFC метки и сообщает, какую информацию я записал в метки.

В этой конкретной метке у меня простое приветственное сообщение и ссылка на Arduino. Arduino успешно считывает информацию с моей метки.

ниже показывает, как мой Nexus 5 читает метку и показывает сообщения.

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

Теперь, чтобы записать сообщение на метку, необходимо выполнить похожий процесс, за исключением небольших изменений в коде. Заголовок перед функцией void setup() будет таким же, а ниже приведен код, который необходимо загрузить в Arduino.

#include #include #include // Следующие файлы включают установленные библиотеки #include PN532_I2C pn532_i2c(Wire); NfcAdapter nfc = NfcAdapter(pn532_i2c); // Указываем, что используем плату расширения void setup() { Serial.begin(9600); Serial.println(«NFC Tag Writer»); // Сообщение в монитор последовательного порта nfc.begin(); } void loop() { Serial.println(«Place an NFC Tag that you want to Record these Messages on!»); // Команда в мониторе последовательного порта if (nfc.tagPresent()) { NdefMessage message = NdefMessage(); message.addTextRecord(«My First NFC Tag Write»); // Текстовое сообщение, которое хотим записать message.addUriRecord(«http://allaboutcircuits.com»); // Вебсайт, который хотим записать message.addTextRecord(«Way to Go, It Worked!»); // Завершающее сообщение, которое хотим записать boolean success = nfc.write(message); if (success) { Serial.println(«Good Job, now read it with your phone!»); // если всё работает, то мы увидим это сообщение } else { Serial.println(«Write failed»); // если запись завершилась неудачей, то увидим это сообщение } } delay(10000); }

Этот код сохраняет в метке три сообщения: вводный текст, говорящий “My First NFC Tag Write”, затем ссылка на сайт AllAboutCircuits и, наконец, завершающее сообщение, говорящее “Way to Go, It Worked!”.

Чтение результата записи, произведенной на NFC метку платой Arduino, с помощью Nexus 5

Когда я сканирую эту метку своим телефоном, то получаю два сообщения и ссылку.

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

При внесении любых изменений перепроверьте информацию на метке с помощью Arduino или смартфона.

Интересных вам проектов на Arduino с использованием NFC! Надеюсь, статья оказалась полезной. Оставляйте, комментарии!

Оригинал статьи:

  • Moises Altamirano. Read and Write on NFC Tags with an Arduino

Arduino Uno

Отладочная плата Arduino Uno построена на микроконтроллере Atmega328P.

Она имеет 14 цифровых входных/выходных выводов (6 из которых могут использоваться в качестве ШИМ выходов), 6 аналоговых входов, кварцевый резонатор 16 МГц, подключение USB, разъем питания, разъем ICSP и кнопку перезагрузки. Она содержит всё необходимое для работы с микроконтроллером; для того, чтобы начать работу с ней, просто подключите…

PN532 NFC RFID модуль. Версия 3

NFC модуль на базе микросхемы NXP PN532, контроллера для бесконтактной связи на частоте 13,56 МГц на базе ядра 80C51. NFC (Near Field Communication, связь в ближнем поле) – это набор стандартов для мобильных устройств для установления радиосоединения «точка-точка» простым поднесением устройств друг к другу.

Источник: https://radioprog.ru/post/176

Подготовка устройств на основе NFC (Windows 10)

  • 07/27/2017
  • Время чтения: 5 мин
  • Соавторы

Применимо к:

Радиочастотная связь ближнего действия (NFC) позволяет устройствам с Windows 10 Mobile Корпоративная и Windows 10 Mobile взаимодействовать друг с другом посредством NFC-метки или другого передающего устройства с поддержкой NFC.

Организации, в которых выполняется массовая подготовка, могут выполнять подготовку с помощью устройств с поддержкой NFC для предоставления пакета подготовки подготавливаемому устройству.

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

Возможность подготовки с помощью NFC позволяет администратору предоставлять пакет подготовки во время начальной настройки устройства (на этапе запуска при первом включении или этапе OOBE).

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

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

Подготовка пользовательского интерфейса OOBE

У всех образов Windows 10 Mobile Корпоративная и Windows 10 Mobile есть функция подготовки с помощью NFC, которая встроена в операционную систему.

На устройствах с поддержкой NFC, которые работают под управлением Windows 10 Mobile Корпоративная или Windows 10 Mobile, подготовка устройств на основе NFC предоставляет дополнительный механизм для подготовки устройства во время этапа OOBE.

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

В случае возникновения ошибки во время подготовки с помощью NFC на устройстве отобразится соответствующее сообщение, если возникла любая из следующих ошибок:

  • Ошибка инициализации NFC— может быть вызвана любой ошибкой, возникшей перед началом передачи данных. Например, если не включен драйвер NFC или возникает ошибка связи с API близкого взаимодействия.
  • Прерванная загрузка или неполная передача пакета— эта ошибка может возникать, если одноранговое устройство находится вне зоны действия NFC или если передача данных была прервана. Эта ошибка может возникать всякий раз, когда подготавливаемому устройству не удается получить пакет подготовки во время.
  • Неправильный формат пакета— эта ошибка может быть связана с возникновением любой ошибки протокола, с которой сталкивается операционная система во время передачи данных между устройствами.
  • Связь NFC отключена политикой— организации могут использовать политики, чтобы запретить использование NFC на управляемом устройстве. В этом случае функция NFC отключена.

NFC-метка

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

Протокол, используемый для подготовки устройств на основе NFC, аналогичен протоколу, используемому для подготовки с помощью NFC в ОС Windows Embedded 8.

1 Handheld, в которой была реализована поддержка как одноблочной передачи данных, так и многоблочной передачи, когда общий размер передаваемых данных не помещался в одно сообщение NDEP.

В Windows 10 стек подготовки содержит следующие изменения:

  • Пространство имен протокола— пространство имен протокола было изменено с Windows.WEH.PreStageProv.Chunk на Windows.ProvPlugins.Chunk.
  • Тип данных метки— тип данных метки был изменен с UTF-8 на двоичные необработанные данные.

Примечание

NFC-метка не попадает во второе устройство. NFC-метку можно передать используя пакет подготовки с одного устройства на другое по связи NFC или путем повторного чтения пакета подготовки из NFC-метки.

Компоненты NFC-метки

NFC-метки подходят для подготовки небольших пакетов. Размер NFC-меток, содержащих пакеты подготовки, обычно составляет от 4 КБ до 10 КБ.

Чтобы записать NFC-метку, необходимо использовать средство записи NFC Writer или API-интерфейс класса ProximityDevice, чтобы создать собственный специальный инструмент и передать файл пакета подготовки в NFC-метку. Этот инструмент должен опубликовать двоичное сообщение (запись) с блочным типом данных в вашей NFC-метке.

В следующей таблице приведены сведения, которые нужно знать при выполнении записи в NFC-метку.

Обязательное полеОписание

Type (Тип) Windows.ProvPlugins.ChunkПринимающее устройство использует эту информацию, чтобы понять сведения, содержащиеся в поле Data (Данные).
Data (Данные) Данные метки с небольшим заголовком в необработанном двоичном формате, содержащие блок пакета подготовки для передачи.

Вспомогательное устройство подготовки с помощью NFC

Вспомогательное устройство подготовки с помощью NFC должно разделить необработанное содержимое пакета на несколько частей и опубликовать их по порядку. У каждой части должен быть следующий формат:

**Version (Версия)**(1 байт) **Leading (Начальный байт)**(1 байт) **Order (Порядок)**(1 байт) **Total (Всего)**(1 байт) **Полезные данные блока**(N байтов)

Для каждой из частей:- **Версия**— всегда должна иметь значение 0x00.- **Начальный байт**— всегда должен иметь значение 0xFF.- **Порядок**— определяет, к какому блоку сообщения (из всего сообщения) принадлежит соответствующая часть. Порядок начинается с нуля (0). — **Всего**— представляет собой общее число блоков, которые необходимо передать для всего сообщения.- **Полезные данные блока**— представляют каждую из разделенных частей.

Вспомогательное устройство подготовки с помощью NFC должно опубликовать запись в виде Windows.ProvPlugins.Chunk.

Пример кода

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

private async void WriteProvPkgToTag(IStorageFile provPkgFile) { var buffer = await FileIO.ReadBufferAsync(provPkgFile); if (null == buffer) { return; } var proximityDevice = Windows.Networking.Proximity.ProximityDevice.GetDefault(); if (null == proximityDevice) { return; } var dataWriter = new DataWriter(); var header = new NfcProvHeader(); header.version = NFC_PROV_MESSAGE_CURRENT_VERSION; // Currently the supported version is 0x00. header.leading = NFC_PROV_MESSAGE_LEADING_BYTE; // The leading byte should be always 0xFF. header.index = 0; // Assume we only have 1 chunk. header.total = 1; // Assume we only have 1 chunk. // Write the header first and then the raw data of the provisioning package. dataWriter.WriteBytes(GetBytes(header)); dataWriter.WriteBuffer(buffer); var chunkPubId = proximityDevice.PublishBinaryMessage( «Windows:WriteTag.ProvPlugins.Chunk», dataWriter.DetachBuffer()); }

Компоненты метки устройства с поддержкой NFC

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

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

В зависимости от оборудования с поддержкой NFC, которое вы используете, время передачи файла размером 120 КБ файла может составлять от 2,5 секунды до 10 секунд.

Чтобы выполнить подготовку с исходного устройства с поддержкой NFC, используйте API-интерфейс класса ProximityDevice, чтобы создать собственный специальный инструмент, который передаст ваш пакет подготовки блоками на целевое мобильное устройство.

Этот инструмент должен опубликовать двоичные сообщения (передать), то есть сообщение с заголовком, за которым будет следовать одно или несколько блочных сообщений. Заголовок определяет общий объем данных, которые будут переданы на целевое устройство.

Блоки должны содержать отформатированные данные подготовки двоичных необработанных данных, как показано в разделе «Компоненты NFC-метки».

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

в разделе ConvertToNfcMessageAsync в этом примере универсального приложения NfcProvisioner для Windows на GitHub.

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

Связанные статьи

Источник: https://docs.microsoft.com/ru-ru/windows/configuration/mobile-devices/provisioning-nfc

Валерия Гришанова 01.10.2016     7    

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

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

Способы использования NFC

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

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

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

Для осуществления платежа через NFC потребуется:

  1. Банковская карта с пометкой paypass.
  2. Приложение соответствующего банка.
  3. Найти в меню приложения пункт NFC.
  4. Приложить карту к задней крышке телефона для считывания.
  5. Запомнить пароль для проведения платежных операций, высланный в SMS-сообщении.

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

Инструкция:

1. Активируйте NFC — поставьте галочку напротив этого пункта в меню «Беспроводные сети», разблокировать смартфон и включить экран.

2. Выберите агента:

  • Google Chrome — для передачи текущей активной ссылки.
  • Google Maps — для передачи маршрута.
  • Google Play — для передачи приложений, книг и другого контента, представленного в сервисе.
  • — для передачи ссылки на видеоролик.
  • Контакты — для передачи контакта.
  • Галерея — для передачи фотографий и картинок (однако это может занять много времени из-за низкой скорости передачи, поэтому в данном случае лучше использовать специальные приложения, о которых будет рассказано ниже).

3. Приблизьте устройства, пока не сработает сигнал.

4. Коснитесь экрана и удерживайте для подтверждения передачи.

5. Прозвучит еще один сигнал, который означает успешную передачу файлов.

Существуют различные приложения, которые используют интерфейс NFC только для согласования, а последующая передача файлов осуществляется через соединение Bluetooth или Wi-Fi: Send! File Transfer, File Expert HD и Super Beam WiFi Direct Share .

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

Для создания собственных NFC-меток понадобятся чистые заготовки и специальные программы для записи необходимой информации.

За меткой можно закрепить следующие действия, которые будут выполняться после ее считывания: отправка SMS-сообщения или электронного письма, вызов контакта, открытие ссылки, соединение по Bluetooth, запуск приложение и многое другое.

Несколько программ для создания меток:

  1. WiFiTap WiFi NFC — для подключения беспроводной сети. Поможет гостям подключиться к Wi-Fi-точке быстро и без ввода пароля.
  2. ABA NFC — для создания различных меток стандартного формата.
  3. SmartTag Maker — специальное приложение для пользователей продукции Sony, которое содержит ряд заготовок, используемых не только с интерфейсом NFC, но и гарнитурой, устройствами Bluetooth, блоком питания и т. д.

Итог

Каждый пользователь решает сам, нужна ему дополнительная функция NFC в смартфоне, или нет.

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

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

(314,39

Источник: https://dcvesta.org/oshibka-chteniya-nfc-povtor-popytki/

Как пользоваться NFC на Android? Советы и инструкции

NFC (Near Field Communication с англ. «связь с близкого расстояния») является незаменимой технологией, когда речь идет о передаче данных между двумя устройствами. Если вы хотите отправить фотографии, видео, файлы или произвести оплату, NFC может сделать это сделать с легкостью.

Продолжение текста после рекламы

Однако не все этого знают, а ведь у технологии огромное количество очень полезных применений! Сегодня мы обсудим очень важные вещи, которые просто необходимо знать, когда речь заходит о том, как пользоваться NFC.

NFC в телефоне. Что это?

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

 В мобильной среде NFC может использоваться для обмена файлами. Это специфическое использование вышло на первый план, когда Google выпустила Android 4.0 Ice Cream Sandwich, который также продемонстрировал функциональность Android Beam.

С помощью NFC и Android Beam устройства могут очень быстро осуществлять обмен файлами.

Более того, наличие NFC на Android-устройстве также позволяет записывать или считывать NFC-метки, позволяющие, например, включать или выключать режимы работы устройства.

Не все телефоны и планшеты имеют NFC. Как проверить, встроена ли технология в ваше устройство? Один из способов — проверить на задней панели наличие соответствующей надписи. На некоторых (старых) телефонах Samsung, к примеру, вы увидите надпись «Near Field Communication», напечатанную на аккумуляторной батарее.

Продолжение текста после рекламы

На некоторых устройствах (особенно это касается телефонов Sony) можно увидеть значок N — официальный символ, указывающий, что устройство поддерживает технологию.

Продолжение текста после рекламы

Однако если вы не нашли соответствующую надпись на корпусе своего смартфона, можно заглянуть в настройки. Алгоритм такой:

  1. Зайдите в Настройки.
  2. Нажмите Ещё.
  3. Выполните прокрутку вниз и вы должны увидеть NFC и Android Beam.

Как включить NFC

Если устройство оснащено соответствующим чипом, а также необходимо активировать Android Beam нужно активировать, так что вы можете использовать NFC:

  1. Перейти к Настройки> Дополнительно.
  2. Нажмите на NFC включатель, чтобы активировать его. Функция Android Beam автоматически будет включена.
  3. Если Android Beam не включается автоматически, просто нажмите на него и выберите Включить.

Как пользоваться NFC?

Для успешного обмена данными посредством данной технологии необходимо принять к сведению следующее:

  • Оба (передающее и принимающее) устройства должны поддерживать NFC и Android Beam.
  • Необходимо включить обе технологии.
  • Ни одно из устройств не должно быть заблокировано или выключено.
  • Вы получите аудио- и вибросигнал, когда два устройства обнаружат друг друга.
  • Не разделяйте свои устройства, пока обмен данными не завершился.
  • Вы услышите звуковой сигнал, когда файл или содержимое было успешно передано.

Продолжение текста после рекламы

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

Как осуществить передачу данных

Независимо от содержания или данных, которые вы хотите передать при помощи NFC (например, фото/картинки, контактная информация, веб-страниц, видео, приложения и т.д.), и неважно, будет ли передаваться информация с планшета или телефона. Алгоритм один для всех устройств:

  1. Откройте содержимое для передачи.
  2. Поместите устройства друг против друга задними частями.
  3. Дождитесь звукового и тактильного подтверждения того, что оба устройства обнаружили друг друга.
  4. Обратите внимание на экран отправителя. На нем должен отобразиться запрос «Подтвердить передачу».
  5. На экране отправителя появиться уведомление о начале передачи.
  6. Когда передача данных завершится, вы услышите звуковое подтверждение. Кроме того, вы получите либо уведомление о том, что передача завершена, либо соответствующее приложение на смартфоне получателя отобразит полученный файл.

Передача приложений

Передача приложений с помощью NFC не передает их APK-файлом. Вместо этого устройство просто отправляет информацию, после чего открывается Play Маркет с соответствующим приложением.

Передача использование веб-контента и информации

Передача веб-страниц с помощью NFC не означает отправку самой веб-страницы. Он просто отправит веб-адрес страницы и другое устройство откроет его в своем веб-браузере по умолчанию.

Передача видео на

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

Передача контактов

Если при передаче контактов через NFC принимающее устройство имеет несколько учетных записей Google, принимающее устройство запрашивает пользователя, в каком аккаунте необходимо создать новых контакт. В противном случае, контактные данные будут автоматически сохранены и приложение «Контакты» будет отображать их.

Передача фотографий

Не все NFC-совместимые устройства могут обмениваться фотографиями друг к другу. В тех случаях, когда передача фото завершено, принимающее устройство получает уведомление о завершении обмена.

Использование меток NFC

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

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

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

Вы можете хранить различные типы данных на метке, такие как URL, контактные данные, или даже команды и параметры, которые считывающее устройство может принять при контакте.

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

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

  • Настройки Wi-Fi и Bluetooth
  • Звук и настройки громкости
  • Параметры дисплея
  • Сообщения
  • Приложения и ярлыки
  • Мультимедиа
  • Сигналы тревоги
  • События
  • Безопасность
  • Сделать телефонный вызов

Чтобы сохранить все выбранные действия/задачи на метке, просто нажмите кнопку Сохранить и записать кнопку. Для выполнения действий или задач, просто нажмите с обратной стороны устройства напротив метки.

Оплата платежей с помощью NFC в телефоне

Мобильные платежи — очень важная область применения NFC. На данный момент, самыми популярными сервисами для мобильных ОС является Android Pay и Samsung Pay.

Подводя итог

Большинство Android-телефонов на рынке уже поставляются с функцией NFC, так что большинство людей, прочитавший наш материал, сможет расширить свое представление о функциональности своего гаджета.

Источник: http://press.lv/post/kak-polzovatsya-nfc-na-android-sovety-i-instruktsii/

Проверяем наличие NFC в телефоне и исправляем ситуацию

С помощью технологии NFC вы можете не только передавать данные с одного сотового на другой, но и оплачивать покупки (например, приобретение продовольственных товаров в супермаркете).

Расшифровка проста – Near Field Communication, что, при дословном переводе на русский язык, обозначает коммуникацию ближнего поля или связь в ближайшем пространстве.

Изначально эта технология использовалась для быстрого бесконтактного платежа.

Сейчас NFC заменяет пластиковую банковскую карту и Bluetooth и совмещает их в одной системе, что является довольно практичным для использования изобретением.

Хотите облегчить процесс оплаты покупок или передачи файлов?  Разберемся, как же узнать есть ли NFC в телефоне, планшете или ноутбуке.

История появления технологии в телефоне

Считается, что это относительно молодая разработка. Её появление относят к 2004 году: именно в этот период три прославленных компании Nokia, Philipps и Sony организуют «Форум NFC», а спустя три года внедряют интегрируют первые NFC-метки в телефон Nokia.

Модели смартфонов, поддерживающие NFC

Следует отметить, что далеко не все телефоны имеют поддержку этой технологии передачи данных. Известно, что поддержка NFC есть у таких устройств как:

  • Apple iPhone (начиная с моделей 6S и 6S Plus);
  • новинки линейки Galaxy от Samsung и смартфоны других производителей на платформе Android (начиная с Android0).

Проверяем девайс на наличие NFC

Захотели попробовать технологию на практике, но не знаете, есть ли такая возможность именно на вашем устройстве? Давайте проверим.

Для этого аккуратно открываем заднюю крышку смартфона или планшета, в ситуации, если она может отодвигаться без повреждения и осматриваем аккумулятор гаджета.

При присутствии разработки NFC вы увидите эту аббревиатуру именно там. Если крышка телефона/планшета не снимается, то соответствующий значок или аббревиатура будут располагаться на внешней стороне.

Если вы по какой-то причине не желаете или не можете снять крышку, убедиться в наличии такого способа коммуникации вы можете в настройках девайса.

Найдите вкладку «Беспроводные сети», затем «Ещё…» и если NFC доступно на устройстве, то там обязательно будет соответствующий пункт.

Как это выглядит, смотрите на фото выше или в видео-инструкции о том, как правильно проверить NFC в телефоне:

Активация NFC

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

  1. перейдите к разделу «Настройки» и далее «Беспроводные сети», «Ещё…», где ранее вы могли удостовериться в наличии NFC;
  2. подтвердите нажатием на пункт «Разрешить обмен данными при совмещении > название устройства > с другим»;
  3. на Android-cмартфоне сразу активируется Android Beam. Если этого не произошло, нажимайте на него и выбирайте «Да», чтобы не нарушить работу системы;

NFC можно активировать и в быстром меню, там же, где и включается Wi-fi.  Делается это касанием NFC метки.

Подробнее смотрите в видео:

Что делать, если устройство не поддерживает NFC?

Не беспокойтесь, если вы не обнаружили встроенную функцию, есть способ подключить NFC на девайс. Но сделать это можно только при условии, что панельная крышка на обороте и отверстие для SIM-карты на вашем смартфоне /планшете являются съемными. Установить NFC в таком случае не составит труда.

Установка NFC-модуля

Оптимальным решением является установка специального модуля — внешнего прибора коммуникации. Оно совместимо практически со всеми смартфонами, просто в применении и дает доступ к NFC без покупки нового телевона.

Виды модулей и методы их внедрения

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

Такие стикеры крепятся к внешней оболочке телефона, что так же не очень практично.

Наиболее популярны следующие из них:

  • NFC-симка. Сейчас доступны к покупке у большинства мобильных операторов. Узнать о наличии такой SIM можно в салоне связи. Вам нужно лишь установить готовую карту в телефон или планшет. Такой тип модуля является наиболее доступным и простым в установке.
  • NFC-антенна. Второй способ, для которого вам потребуется приобрести NFC-антенну. Сделать это можно в салоне связи. Далее антенна присоединяется к сим-карте и вставляется в устройство.

Как вы уже убедились, установить модуль достаточно просто и безопасно: вам не требуется скачивание дополнительных приложений или программ.  Однако эти сервисы не полностью заменяют приложение Android Pay, а лишь являются некоторыми из многочисленных его функций.

Как использовать NFC-метку

NFC-метка представляет собой миниатюрное устройство в виде чипа, которое можно прикрепить практически везде: начиная с телефона и заканчивая внедрением под кожный покров!

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

Для того, чтобы считать данные с такого прибора, нужно найти специализированное официальное приложение в Google Play и далее, после установки, вы сможете дать метке различные команды для исполнения.

Обмен данными через NFC

Технология может использоваться и для передачи файлов.

Для передачи данных необходимо сделать следующие шаги:

  1. убедиться в том, что вы прошли активацию NFС и Android Beаm;
  2. снять блокировку устройства, выйти из «режима сна»;
  3. проверить обнаружение устройств друг с другом;
  4. подключитесь;
  5. осуществите передачу данных между устройствами;
  6. в конце прозвучит специфический звуковой сигнал.

Однако не все типы файлов вы можете передавать таким способом. Например, невозможна отправка приложений.

Преимущества и недостатки NFC

Главными плюсами являются:

  • низкая цена;
  • малые габариты устройства;
  • высокая скорость передачи;
  • поддержка практически на всех мобильных устройствах.

Стоит выделить и минусы:

  • относительно небольшой радиус действия;
  • не все устройства оборудованы чипом NFC.

Итак, благодаря этим заметкам вы узнали быстрые и простые способы проверки вашего устройства на возможности передачи информации и взаимодействия с другими техническими средствами при помощи Near Field Communication. Следуя простым инструкциям этой статьи, вы так же сможете узнать самостоятельно, есть ли в смартфоне эта технология, сумеете интегрировать NFC в ваш телефон и передать нужные файлы на высокой скорости.

Источник: https://inmob.ru/puls/tehnologii/proveryaem-nalichie-nfc-v-telefone-i-ispravlyaem-situatsiyu

Erel


  • #2

Try to write something on the tag first. You can use an NFC app to write it and make sure that it was written successfully.

Cnrez


  • #3

Ok, i have tried using NXP TagWritter App
when i do ‘Erase and Format as NDEF’ , result is success
and when to write tags, also success.
but with my code , cannot read and write.

note : this card is not support NDEF tech, but IsoDep, NfcA and NdefFormatable

is my code above (attached in first post) is correct ?, and can be use for NdefFormatable tech ?
is tech beside NDEF can be used for read and write tags ? if can , i need an script examples.. please

attached is screenshot with NXP TagWritter and NXP Reader

regards

  • Screenshot_2017-09-27-22-01-27.png

    Screenshot_2017-09-27-22-01-27.png

    262.8 KB · Views: 449

  • Screenshot_2017-09-27-21-57-17.png

    Screenshot_2017-09-27-21-57-17.png

    62.1 KB · Views: 726

  • Screenshot_2017-09-27-21-59-05.png

    Screenshot_2017-09-27-21-59-05.png

    54.5 KB · Views: 453

  • Screenshot_2017-09-27-21-59-14.png

    Screenshot_2017-09-27-21-59-14.png

    69.4 KB · Views: 432

  • Screenshot_2017-09-27-21-59-23.png

    Screenshot_2017-09-27-21-59-23.png

    67.8 KB · Views: 463

  • Screenshot_2017-09-27-21-59-32.png

    Screenshot_2017-09-27-21-59-32.png

    44.4 KB · Views: 436

  • Screenshot_2017-09-27-21-59-39.png

    Screenshot_2017-09-27-21-59-39.png

    61.6 KB · Views: 476

Erel


  • #4

Which techs are listed after you write the data with this app?

Cnrez


  • #5

Which techs are listed after you write the data with this app?

the same,

Techs: [android.nfc.tech.IsoDep, android.nfc.tech.NfcA, android.nfc.tech.NdefFormatable]

Cnrez


Erel


  • #7

Call WriteNdef after the connection:

Private Sub WriteNdef (Records() As Object)
   Dim RecordsJO As JavaObject
   RecordsJO.InitializeArray("android.nfc.NdefRecord", Array(nfc.CreateUriRecord("https://www.b4x.com")))
   Dim message As JavaObject
   message.InitializeNewInstance("android.nfc.NdefMessage", Array(RecordsJO))
   TagTech.RunAsync("Format", "format", Array(message), 0)
   Wait For Format_RunAsync (Flag As Int, Success As Boolean, Result As Object)
   Log("format: " & Success)
   Log(Result)
End Sub

What is the output?

Cnrez


  • #8

ok, here is my code :

Sub Activity_Resume
    'forces all nfc intents to be sent to this activity
    nfc.EnableForegroundDispatch
    Dim si As Intent = Activity.GetStartingIntent
    'check that the intent is a new intent
    If si.IsInitialized = False Or si = prevIntent Then Return
    prevIntent = si
   
    If si.Action.EndsWith("TECH_DISCOVERED") Or si.Action.EndsWith("NDEF_DISCOVERED") Or si.Action.EndsWith("TAG_DISCOVERED") Then
        Dim techs As List = nfc.GetTechList(si)
        Log($"Techs: ${techs}"$)
        'in this case we are only accessing Ndef tags.
        If techs.IndexOf("android.nfc.tech.NdefFormatable") > -1 Then
            ''TagTech.Initialize("TagTech", "android.nfc.tech.NfcA" , si)
            'Connect to the tag
            ''TagTech.Connect
           
            TagTech.Initialize("TagTech", "android.nfc.tech.NdefFormatable" , si)
            TagTech.Connect
            WriteNdef(Array(nfc.CreateMimeRecord("text/plain", flTxt1.Text.GetBytes("UTF8")), _
                      nfc.CreateMimeRecord("text/plain", flTxt2.Text.GetBytes("UTF8"))))       
                   
        Else
            ToastMessageShow("Tag does not support Ndef.", True)
        End If
    End If
End Sub


Private Sub WriteNdef (Records() As Object)
    Dim RecordsJO As JavaObject
    RecordsJO.InitializeArray("android.nfc.NdefRecord", Array(nfc.CreateUriRecord("https://www.b4x.com")))
    Dim message As JavaObject
    message.InitializeNewInstance("android.nfc.NdefMessage", Array(RecordsJO))
    TagTech.RunAsync("Format", "format", Array(message), 0)
    Wait For Format_RunAsync (Flag As Int, Success As Boolean, Result As Object)
    Log("format: " & Success)
    Log(Result)
End Sub

and here is the result (log)

Logger connected to:  CipherLab CipherLab RS30
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
Techs: [android.nfc.tech.IsoDep, android.nfc.tech.NfcA, android.nfc.tech.NdefFormatable]
format: false
null

Erel


  • #9

Not good. You must wait for it to be connected. Call WriteNdef from TagTech_Connected.

Cnrez


  • #10

ok, like this

Sub Activity_Resume
    'forces all nfc intents to be sent to this activity
    nfc.EnableForegroundDispatch
    Dim si As Intent = Activity.GetStartingIntent
    'check that the intent is a new intent
    If si.IsInitialized = False Or si = prevIntent Then Return
    prevIntent = si
   
    If si.Action.EndsWith("TECH_DISCOVERED") Or si.Action.EndsWith("NDEF_DISCOVERED") Or si.Action.EndsWith("TAG_DISCOVERED") Then
        Dim techs As List = nfc.GetTechList(si)
        Log($"Techs: ${techs}"$)
        'in this case we are only accessing Ndef tags.
        If techs.IndexOf("android.nfc.tech.NdefFormatable") > -1 Then
            ''TagTech.Initialize("TagTech", "android.nfc.tech.NfcA" , si)
            'Connect to the tag
            ''TagTech.Connect
           
            TagTech.Initialize("TagTech", "android.nfc.tech.NdefFormatable" , si)
            TagTech.Connect
                   
        Else
            ToastMessageShow("Tag does not support Ndef.", True)
        End If
    End If
End Sub


Private Sub WriteNdef (Records() As Object)
    Dim RecordsJO As JavaObject
    RecordsJO.InitializeArray("android.nfc.NdefRecord", Array(nfc.CreateUriRecord("https://www.b4x.com")))
    Dim message As JavaObject
    message.InitializeNewInstance("android.nfc.NdefMessage", Array(RecordsJO))
    TagTech.RunAsync("Format", "format", Array(message), 0)
    Wait For Format_RunAsync (Flag As Int, Success As Boolean, Result As Object)
    Log("format: " & Success)
    Log(Result)
End Sub

Private Sub TagTech_Connected (Success As Boolean)
    Log($"Connected: ${Success}"$)
    WriteNdef(Array(nfc.CreateMimeRecord("text/plain", flTxt1.Text.GetBytes("UTF8")), _
                      nfc.CreateMimeRecord("text/plain", flTxt2.Text.GetBytes("UTF8"))))       
           
End Sub

the result :

Logger connected to:  CipherLab CipherLab RS30
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
Techs: [android.nfc.tech.IsoDep, android.nfc.tech.NfcA, android.nfc.tech.NdefFormatable]
Connected: true
format: false
null

Cnrez


  • #11

Private Sub TagTech_Connected (Success As Boolean)
    Log($"Connected: ${Success}"$)
    If Success = False Then
        ToastMessageShow("Error connecting to tag", True)
        Log(LastException)
    Else
        WriteNdef(Array(nfc.CreateMimeRecord("text/plain", flTxt1.Text.GetBytes("UTF8")), _
                      nfc.CreateMimeRecord("text/plain", flTxt2.Text.GetBytes("UTF8"))))
    End If
           
End Sub

same result

** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
Techs: [android.nfc.tech.IsoDep, android.nfc.tech.NfcA, android.nfc.tech.NdefFormatable]
Connected: true
format: false
null

Erel


  • #12

— Add Log(LastException) at the end of WriteNdef.
— Check the unfiltered logs.

Cnrez


  • #13

ok

** Activity (main) Pause, UserClosed = false **
ACT-NEW_INTENT handled : 0 / NewIntentData{intents=[Intent { act=android.nfc.action.TAG_DISCOVERED flg=0x10020000 cmp=b4a.example/.main (has extras) }] [email protected]}
** Activity (main) Resume **
Techs: [android.nfc.tech.IsoDep, android.nfc.tech.NfcA, android.nfc.tech.NdefFormatable]
Connected: true
(IOException) java.io.IOException
java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at anywheresoftware.b4j.object.JavaObject.RunMethod(JavaObject.java:131)
    at anywheresoftware.b4a.objects.NFC$TagTechnologyWrapper$2.call(NFC.java:298)
    at anywheresoftware.b4a.objects.NFC$TagTechnologyWrapper$2.call(NFC.java:1)
    at anywheresoftware.b4a.BA$3.run(BA.java:451)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:841)
Caused by: java.io.IOException
    at android.nfc.tech.NdefFormatable.format(NdefFormatable.java:141)
    at android.nfc.tech.NdefFormatable.format(NdefFormatable.java:95)
    ... 11 more
format: false
null

what should i do ?

Last edited: Sep 28, 2017

Erel


Cnrez


  • #15

i see, so my device (chiperlab RS30) is not supported for this operation,
thanks Erel, i will try on another device

note : can i do low level command with B4A ?

regards

Erel


  • #16

It shouldn’t be too difficult to implement the code from that link with TagTech.RunAsync.

Something like:

'after connection
TagTech.RunAsync("TT", "transceive", Array(Array As Byte(0xA2, 0x03, 0xE1, 0x10, 0x06, 0)), 0)
Wait For TT_RunAsync (Flag As Int, Success As Boolean, Result As Object)
Log(Success)
TagTech.RunAsync("TT", "transceive", Array(Array As Byte(0xA2, 0x04, 0x03, 0x00, 0xFE, 0)), 0)
Wait For TT_RunAsync (Flag As Int, Success As Boolean, Result As Object)
Log(Success)
TagTech.Close

I’m not familiar with this structure. Just copied it from the answer.

Note that you need to use android.nfc.tech.NfcA instead of android.nfc.tech.NdefFormatable.

Cnrez


  • #17

thank you Erel
i will try that

Regards

  • #18

thank you Erel
i will try that

Regards

The following is from the android documentation:

The primary ISO-DEP I/O operation is transceive(byte[]). Applications must implement their own protocol stack on top of transceive(byte[]).

That means you have to build your own protocol using the transceive method. Consult the documentation for the Mifare chip

Содержание

  1. Что значит «ошибка чтения NFC-метки»?
  2. Что значит «ошибка чтения NFC-метки»?
  3. Как убрать ошибку?
  4. Исправляем проблемы NFC на устройствах Xiaomi
  5. Не удалось считать метку NFC повторите попытку – что делать
  6. Что делать после обновления версии Андроид
  7. Если NFC не работает
  8. Сброс настроек для восстановления
  9. Не работает NFC и беспроводные платежи через Google Pay на Xiaomi (Redmi): как исправить и настроить
  10. Для этой метки NFC отсутствует поддерживаемые приложения что значит
  11. Что такое NFC?
  12. Для этой NFC-метки нет поддерживаемых приложений – что это означает?
  13. Отключение модуля NFC – почему это нежелательно
  14. Также для отключения NFC вы можете:
  15. Зарегистрируйте свою карту в Samsung Pay
  16. Для добавления вашей карты в Самсунг Пей необходимо:
  17. Используйте кошелек с технологией блокировки RFID
  18. Поместите алюминиевый лист между телефоном и картами
  19. Заключение

Что значит «ошибка чтения NFC-метки»?

Когда на телефоне возникает ошибка чтения NFC-метки, пользователь задумывается, исправно ли мобильное устройство. В первую очередь предполагается, что телефон сломался, если метки NFC перестали поддерживаться или считываться. Однако не стоит думать о серьезных сбоях, разобраться в проблеме можно самостоятельно.

Что значит «ошибка чтения NFC-метки»?

NFC – безопасная технология для бесконтактной оплаты. Передача информации с телефона на платежный терминал производится с расстояния 10-15 см, на это затрачиваются доли секунды.

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

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

Чтобы воспользоваться возможностями бесконтактной оплаты через NFC-модуль, необходимо:

  • убедиться, что смартфон оснащен необходимой начинкой в виде особого чипа;
  • проверить, установлена ли программа для хранения и использования пластиковых карт;
  • банковские карты загружены и авторизованы в приложении для бесконтактной оплаты.

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

Как убрать ошибку?

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

Чтобы скорректировать настройки телефона, которые позволят беспрепятственно считывать метки для оплаты, нужно произвести отладку устройства:

  • установить на компьютер программу King-Root;
  • подключить смартфон к ПК или ноутбуку через USB-кабель;
  • в системных настройках телефона найти раздел с информацией о ПО;
  • нажать на номер сборки;
  • перейти к разделу для разработчиков;
  • запустить программу King-Root;
  • нажать на синее окно.

После произведенных действий перепрограммирование телефона будет завершено. Можно отключать устройство от ПК. Информационное сообщение «NFC-метки не поддерживаются устройством» можно отключить в настройках раздела о беспроводной сети.

Источник

Исправляем проблемы NFC на устройствах Xiaomi

Приложение доступно для скачивания на нашем сайте, а также в магазинах приложений:

Мы неоднократно писали, что на некоторых устройствах Xiaomi наблюдаются проблемы с чтением и записью карт «Тройка» (см., например, статью Проблемы с NFC на смартфоне Xiaomi Redmi Note 8 Pro).

Проблема эта аппаратная, вернее, должна решаться на стороне производителя.

И вот, в новой версии оболчки MIUI 12, Xiaomi добавили настройку, которая позволяет значительно улучшить чтение карт.

Что нужно для этого сделать:

1. Перейдите в настройки и проверьте, что у Вас MIUI версии 12+ (12.0.6)


2. В пункте «Передача данных» найдите раздел с NFC:


3. Нажмите «Да»:


4. Нажмите «Восстановить»:


5. Дождитесь окончания восстановления:


6. Смартфон попросит перезагрузиться. Подтвердите:


После презагрузки чтение и запись карты «Тройка» существенно улучшатся.

Источник

Не удалось считать метку NFC повторите попытку – что делать

Телефоны становятся более совершенными. На каждом современном устройстве есть функции, которые раньше были доступные не всем. Одна из них – это NFC. Практичность её в том, что одной программой можно заменить любые карты и расплачиваться телефоном в разных магазинах.

Но бывает ситуация, когда после обновления системы на телефонах, бесконтактная оплата перестает работать. Это случается на разных мобильных устройствах. Один из них – это Xiomi Mi 6. Когда обновили телефон до версии Андроид 8.0, система NFC перестала работать. Решить проблему можно несколькими способами.

Функция NFC – бесконтактная оплата мобильным телефоном

Что делать после обновления версии Андроид

Обновив ОС телефона, нужно зайти в его настройки и сделать следующее:

  1. Открываем «Расширения»;
  2. Если система обновилась до версии 8.0, то в списке должно появится: Состояние Bluetooth, NFC, экран блокировки, ярлыки рабочего стола и запуск в фоне;
  3. Нужно поставить отметку напротив пункта NFC. Проблема должна решится.

Если проблема появилась на фитнес браслете с поддержкой бесконтактной оплаты поможет эта статья: Ошибка: не удалось загрузить данные Mi Band 4 NFC банковская карта.

Если NFC не работает

Если предыдущие советы не помогли считать метку NFC выполните следующее:

  1. Заходим в настройки телефона;
  2. В поиске пишем NFC и система выдаст пункт «Службы NFC»;
  3. Нужно остановить службу NFC, а потом очистить кэш;
  4. Перезапускаем телефон;
  5. Теперь осталось зайти в настройки и включить NFC.

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

Но не забывайте о том, что функция NFC работает только при определенных условиях. Она не будет активной в том случае, если на телефоне низкий уровень заряда или же нет денег на счету. Поэтому перед использованием нужно убедиться, что у вас есть деньги и телефон заряжен, а также активирован Android Beam. Если эти условия выполнены, но функция беспроводной оплаты не работает, тогда используем следующее.

Сброс настроек для восстановления

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

Не забывайте, что для работы функции дополнительно должна быть установлена программа эмулятор, которая будет считывать чип карты. Именно эта программа, нужный уровень заряда, деньги на счету, активация Android Beam и правильное их взаимодействие дает возможность расплачиваться бесконтактным способом.

Источник

Не работает NFC и беспроводные платежи через Google Pay на Xiaomi (Redmi): как исправить и настроить

Модуль NFC пользователи смартфонов Xiaomi (Redmi) используют для бесконтактных платежей через банковские терминалы. Большая часть проблем с NFC связана с тем, что невозможно сделать покупку, при этом человек находится на кассе, за ним, скорее всего, образовалась очередь, он волнуется и не знает, как это исправить и почему перестал работать NFC.

Я избавлю вас от этого стресса и покажу верные настройки NFC на Xiaomi, которые позволяет с помощью сервиса Google Pay оплатить покупки за секунду.

Убедитесь, что вы ввели данные действующей банковской карты в настройках Google Pay.

Инструкция по настройке NFC сделана на телефоне Xiaomi Mi 9 SE с прошивкой MIUI 11, если на вашем смартфоне установлена MIUI 10 шаги слегка изменятся, но принципиально всё останется тем же, действуйте аналогично и у вас Google Pay будет работать.

Войдите в общие настройки и найдите пункт «Подключение и общий доступ».

Найдите пункт «NFC» и активируйте его, чтобы модуль начал работу.

Теперь войдите в меню «Расположение элемента безопасности».

Вы увидите 2 варианта: «Кошелёк HCE» и «Кошелёк SIM». Обычно рекомендуют выбирать HCE, и, действительно, этот вариант работал для меня на телефоне Mi 5, но на Mi 9 выбран режим SIM, и платежи по Google Pay проходят отлично.

Теперь войдите в настройку «Бесконтактная оплата».

Убедитесь, что в меню «Оплата по умолчанию» выбрано приложение Google Pay. В пункте «Использовать приложение по умолчанию» установите значение «Всегда».

Далее нам необходимо настроить программу для оплаты, для этого в общем меню выберите пункт «Приложения».

После нажмите на «Все приложения».

В строке поиска наберите «Pay» и в результате выберите программу от Google.

Войдите в меню «Другие разрешения».

Убедитесь, что элемент «NFC» имеет значение «Разрешить».

Для убедительности выберите пункт «Контроль активности», это не обязательно, но если платежи не проходит, стоит проверить и его.

Выберите значение «Нет ограничений».

После манипуляций перезагрузите Xiaomi и попробуйте совершить покупку, теперь NFC работает.

Источник

Для этой метки NFC отсутствует поддерживаемые приложения что значит

Купив телефон на базе Андроид 10 (или выполнив обновление до указанной версии ОС), мы начинаем пользоваться телефоном в удобном для нас режиме, осуществляя платежи с помощью платёжных систем «Google Pay» или «Samsung Pay». Но внезапно на экране нашего телефона без какой-либо очевидной причины начинает спорадически появляется сообщение «Для этой метки NFC отсутствует поддерживаемые приложения» (англ. версия No supported application for this NFC tag). Уведомление появляется внезапно, во время игр или звонков, и существенно мешает нашей работе с телефоном. Что же это за проблема, почему она возникает, и как её исправить – расскажем в нашем материале.

Что такое NFC?

  • Технология «Near Field Communication» (сокращённо — NFC) позволяет устройству (в нашем случае телефону) подключаться к метке NFC (тонкий чип с антенной, обычно встроенный в пластик) когда они оба находятся рядом друг с другом.
  • Функционал NFC можно использовать для передачи данных между двумя устройствами и для обработки бесконтактных платежей.
  • Скорость передачи данных здесь около 400 Кбит/с, поддерживается полнодуплексный обмен информацией, в обе стороны.
  • С помощью NFC удобно платить за товары в магазинах, достаточно поднести ваш телефон с поддержкой NFC к терминалу, и оплата будет проведена.

Для осуществления платежа достаточно поднести телефон к терминалу

Для этой NFC-метки нет поддерживаемых приложений – что это означает?

Сообщение No supported application for this NFC tag обычно чаще всего встречается на телефонах от Самсунг, включая Samsung Galaxy S5, S6, S7, S9, S10, а также на Google Pixel 3a. Сообщение обычно появляется на телефонах, работающих на базе ОС Андроид 10, и практически не фиксируется на более ранних операционных системах.

Основной причиной появления рассматриваемого нами уведомления является карта со встроенной NFC-меткой, которые пользователь держит в непосредственной близости от своего телефона (например, в том же телефонном чехле).

Находясь в непосредственной близости от такой карты, NFC-модуль телефона обнаруживает карту, но не имея возможности её распознать выдаёт ошибку «Для этой NFC-метки нет поддерживаемых приложений».

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

Несмотря на тривиальность рассматриваемой проблемы, она не так проста как кажется. Давайте узнаем, как её можно исправить.

Отключение модуля NFC – почему это нежелательно

Наиболее простым способом устранить ошибку «Для этой метки NFC отсутствует поддерживаемые приложения» является отключение модуля NFC в настройках телефона. Достаточно выполнить свайп сверху вниз, открыть шторку настроек, промотать её справа налево, и вы получите доступ к кнопке NFC. Достаточно тапнуть на неё, модуль NFC будет отключен, и указанное уведомление нас больше не будет беспокоить.

Тапните на «NFC» для деактивации модуля NFC на телефоне

Также для отключения NFC вы можете:

  1. Перейти в настройки приложения;
  2. Выбрать там «Подключения»;

Найти опцию «NFC и бесконтактные платежи» и передвинув ползунок влево отключить данную опцию.

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

Потому многие пользователи ищут альтернативные варианты избавиться от уведомления об отсутствии приложений для прочтения метки NFC. Давайте разберёмся, что еще нам доступно.

Зарегистрируйте свою карту в Samsung Pay

Как мы уже упоминали выше, уведомление об отсутствии поддерживаемого приложения для данной метки NFC может произойти из-за незарегистрированных карт. Если вы храните в вашем кошельке только свои банковские карты, вы можете зарегистрировать их в Samsung Pay, и проверить, решает ли это данную проблему.

Учтите, что этот вариант не сработает, если речь идёт о карте общественного транспорта или других аналогичных картах с меткой NFC. В платежные приложения уровня «Samsung Pay» можно добавить только дебетовую и кредитную карты.

Для добавления вашей карты в Самсунг Пей необходимо:

  1. Установить приложение Samsung Pay и зарегистрироваться в нём;
  2. Находясь в приложении нажмите на кнопку с плюсом;
  3. Отсканируйте вашу карту с помощью камеры вашего телефона (или внесите данные карты вручную);
  4. Примите условия обслуживания, предлагаемые банком.

Используйте кошелек с технологией блокировки RFID

Если же вы хотите сохранить все свои карты в чехле телефона, и при этом больше не хотите видеть всплывающее окно с текстом «Для этой NFC-метки нет поддерживаемых приложений», тогда вы можете приобрести футляр для кошелька RFID. Последний сделает ваши карты электромагнитно непрозрачными, и ваш телефон с функцией считки NFC не обнаружит ваши карты до тех пор, пока вы не вытащите их с кошелька.

Используйте кошелек с технологией RFID

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

Поместите алюминиевый лист между телефоном и картами

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

При этом если вы не можете найти алюминиевый лист такой толщины, вы можете обернуть карточки алюминиевой фольгой. Не всегда помогает, но попробовать стоит.

Заключение

В нашем материале мы разобрали, что означает сообщение «Для этой метки NFC отсутствует поддерживаемые приложения», каковы причины его появления, и как его можно исправить. Поскольку непосредственным виновником дисфункции является близость каких-либо карт с NFC-меткой к телефону, рекомендуем прервать это соседство, поставив телефон или карту в другое место. Неплохим решением может стать создание искусственной преграды в виде алюминиевого листа или технологии RFID, но подойти оно может далеко не всем пользователям.

Источник

Понравилась статья? Поделить с друзьями:
  • Nfc tools ошибка чтения
  • Nfc tools ошибка записи
  • Nfc scan error libre
  • Nfc scan error 2 перевод
  • Nfc reader error что это значит