Я хочу, чтобы мой модуль Elechous NFC V3 смог прочитать то, что отправляет мое приложение HCE. Как я могу создать программу для Arduino? Я уже пробовал, но когда я приближаю свой мобильный телефон с запуском приложения, я получаю ошибку в помощи. Я проверил, что приложение и arduino идентичны, но я все еще получаю ошибки.#include
#include
#include
PN532_I2C pn532i2c(Wire);
PN532 nfc(pn532i2c);
// AID: F00000000A0101
const uint8_t AID[] PROGMEM = {0xF0, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x01};
void setup() {
Serial.begin(115200);
Serial.println(F("Lector NFC PN532"));
Serial.println(F("================\n"));
nfc.begin();
uint32_t ver = nfc.getFirmwareVersion();
if (!ver) {
Serial.println(F("ERROR: PN532 no detectado"));
Serial.println(F("Verifica conexiones:"));
Serial.println(F("VCC->3.3V, GND->GND"));
Serial.println(F("SDA->A4, SCL->A5"));
while (1);
}
Serial.print(F("Chip PN5")); Serial.println((ver>>24) & 0xFF, HEX);
Serial.print(F("FW v")); Serial.print((ver>>16) & 0xFF);
Serial.print('.'); Serial.println((ver>>8) & 0xFF);
nfc.SAMConfig();
Serial.println(F("\nAcerca tu Android...\n"));
}
void loop() {
uint8_t uid[7];
uint8_t uidLen;
Serial.print('.');
if (nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLen, 1000)) {
Serial.println(F("\n\n=== DETECTADO ==="));
Serial.print(F("UID: "));
for (uint8_t i = 0; i < uidLen; i++) {
if (uid < 0x10) Serial.print('0');
Serial.print(uid, HEX);
if (i < uidLen-1) Serial.print(':');
}
Serial.println(F("\n"));
// SELECT AID
Serial.println(F("SELECT AID..."));
uint8_t sel[] = {0x00, 0xA4, 0x04, 0x00, 0x07,
0xF0, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x01, 0x00};
uint8_t resp[32];
uint8_t respLen = sizeof(resp);
if (!nfc.inDataExchange(sel, sizeof(sel), resp, &respLen)) {
Serial.println(F("ERROR: Sin respuesta"));
Serial.println(F("- App HCE activa?"));
Serial.println(F("- AID correcto?"));
delay(2000);
return;
}
Serial.print(F("Resp (")); Serial.print(respLen); Serial.print(F(" bytes): "));
for (uint8_t i = 0; i < respLen; i++) {
if (resp < 0x10) Serial.print('0');
Serial.print(resp, HEX); Serial.print(' ');
}
Serial.println();
if (respLen >= 2) {
uint8_t sw1 = resp[respLen-2];
uint8_t sw2 = resp[respLen-1];
if (sw1 == 0x90 && sw2 == 0x00) {
Serial.println(F("SELECT OK\n"));
} else if (sw1 == 0x6A && sw2 == 0x82) {
Serial.println(F("ERROR: AID no encontrado"));
Serial.println(F("Verifica AID en Android"));
delay(3000);
return;
} else {
Serial.println(F("ERROR: Status invalido"));
delay(2000);
return;
}
}
// READ
Serial.println(F("READ..."));
uint8_t read[] = {0x00, 0xB0, 0x00, 0x00, 0x00};
respLen = sizeof(resp);
if (!nfc.inDataExchange(read, sizeof(read), resp, &respLen)) {
Serial.println(F("ERROR: Read fallo"));
delay(2000);
return;
}
Serial.print(F("Resp (")); Serial.print(respLen); Serial.print(F(" bytes): "));
for (uint8_t i = 0; i < respLen; i++) {
if (resp < 0x10) Serial.print('0');
Serial.print(resp, HEX); Serial.print(' ');
}
Serial.println();
if (respLen >= 2 && resp[respLen-2] == 0x90 && resp[respLen-1] == 0x00) {
Serial.println(F("READ OK\n"));
int msgLen = respLen - 2;
if (msgLen > 0) {
Serial.println(F("=== MENSAJE ==="));
Serial.print(F("TEXTO: \""));
for (int i = 0; i < msgLen; i++) {
if (resp >= 0x20 && resp
Подробнее здесь: https://stackoverflow.com/questions/797 ... with-pn532
Как я могу прочитать Mi Hce Application с PN532? ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1759289959
Anonymous
Я хочу, чтобы мой модуль Elechous NFC V3 смог прочитать то, что отправляет мое приложение HCE. Как я могу создать программу для Arduino? Я уже пробовал, но когда я приближаю свой мобильный телефон с запуском приложения, я получаю ошибку в помощи. Я проверил, что приложение и arduino идентичны, но я все еще получаю ошибки.#include
#include
#include
PN532_I2C pn532i2c(Wire);
PN532 nfc(pn532i2c);
// AID: F00000000A0101
const uint8_t AID[] PROGMEM = {0xF0, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x01};
void setup() {
Serial.begin(115200);
Serial.println(F("Lector NFC PN532"));
Serial.println(F("================\n"));
nfc.begin();
uint32_t ver = nfc.getFirmwareVersion();
if (!ver) {
Serial.println(F("ERROR: PN532 no detectado"));
Serial.println(F("Verifica conexiones:"));
Serial.println(F("VCC->3.3V, GND->GND"));
Serial.println(F("SDA->A4, SCL->A5"));
while (1);
}
Serial.print(F("Chip PN5")); Serial.println((ver>>24) & 0xFF, HEX);
Serial.print(F("FW v")); Serial.print((ver>>16) & 0xFF);
Serial.print('.'); Serial.println((ver>>8) & 0xFF);
nfc.SAMConfig();
Serial.println(F("\nAcerca tu Android...\n"));
}
void loop() {
uint8_t uid[7];
uint8_t uidLen;
Serial.print('.');
if (nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLen, 1000)) {
Serial.println(F("\n\n=== DETECTADO ==="));
Serial.print(F("UID: "));
for (uint8_t i = 0; i < uidLen; i++) {
if (uid[i] < 0x10) Serial.print('0');
Serial.print(uid[i], HEX);
if (i < uidLen-1) Serial.print(':');
}
Serial.println(F("\n"));
// SELECT AID
Serial.println(F("SELECT AID..."));
uint8_t sel[] = {0x00, 0xA4, 0x04, 0x00, 0x07,
0xF0, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x01, 0x00};
uint8_t resp[32];
uint8_t respLen = sizeof(resp);
if (!nfc.inDataExchange(sel, sizeof(sel), resp, &respLen)) {
Serial.println(F("ERROR: Sin respuesta"));
Serial.println(F("- App HCE activa?"));
Serial.println(F("- AID correcto?"));
delay(2000);
return;
}
Serial.print(F("Resp (")); Serial.print(respLen); Serial.print(F(" bytes): "));
for (uint8_t i = 0; i < respLen; i++) {
if (resp[i] < 0x10) Serial.print('0');
Serial.print(resp[i], HEX); Serial.print(' ');
}
Serial.println();
if (respLen >= 2) {
uint8_t sw1 = resp[respLen-2];
uint8_t sw2 = resp[respLen-1];
if (sw1 == 0x90 && sw2 == 0x00) {
Serial.println(F("SELECT OK\n"));
} else if (sw1 == 0x6A && sw2 == 0x82) {
Serial.println(F("ERROR: AID no encontrado"));
Serial.println(F("Verifica AID en Android"));
delay(3000);
return;
} else {
Serial.println(F("ERROR: Status invalido"));
delay(2000);
return;
}
}
// READ
Serial.println(F("READ..."));
uint8_t read[] = {0x00, 0xB0, 0x00, 0x00, 0x00};
respLen = sizeof(resp);
if (!nfc.inDataExchange(read, sizeof(read), resp, &respLen)) {
Serial.println(F("ERROR: Read fallo"));
delay(2000);
return;
}
Serial.print(F("Resp (")); Serial.print(respLen); Serial.print(F(" bytes): "));
for (uint8_t i = 0; i < respLen; i++) {
if (resp[i] < 0x10) Serial.print('0');
Serial.print(resp[i], HEX); Serial.print(' ');
}
Serial.println();
if (respLen >= 2 && resp[respLen-2] == 0x90 && resp[respLen-1] == 0x00) {
Serial.println(F("READ OK\n"));
int msgLen = respLen - 2;
if (msgLen > 0) {
Serial.println(F("=== MENSAJE ==="));
Serial.print(F("TEXTO: \""));
for (int i = 0; i < msgLen; i++) {
if (resp[i] >= 0x20 && resp[i]
Подробнее здесь: [url]https://stackoverflow.com/questions/79779644/how-can-i-read-mi-hce-applicaction-with-pn532[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия