RFID PN532
RFID PN532
Здравствуйте
Помогите пожалуйста создать пользовательский блок для RFID PN532
, с единственным выходом-id card.Наподобие как в блоке на 522.
Подключен по I2C
Выдает в UART следущее
Found a card!
UID Length: 4 bytes
UID Value: 0x24 0x3C 0xFD 0x6E
Неделю бьюсь,ничего не выходит.
Готов оплатить труд.
Помогите пожалуйста создать пользовательский блок для RFID PN532
, с единственным выходом-id card.Наподобие как в блоке на 522.
Подключен по I2C
Выдает в UART следущее
Found a card!
UID Length: 4 bytes
UID Value: 0x24 0x3C 0xFD 0x6E
Неделю бьюсь,ничего не выходит.
Готов оплатить труд.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
RFID PN532
[ref]igorgoga[/ref], Выложите пример, скетч, как такое получили, библиотеку...
Этот пример использовали?
Какие пины ещё использованы, кроме I2C ?
Этот пример использовали?
Какие пины ещё использованы, кроме I2C ?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
RFID PN532
[spoiler][/spoiler]
Отправлено спустя 5 минут 29 секунд:
Подключено по i2c к меге (20,21) больше ничего не поключал,пример в файле из стандартной библиотеки.Он работает,выдает в сериал номер
карты по типу-- 0x24 0x3C 0xFD 0x6E
Мне нужно перенести этот скейтч в пользовательский блок flprog,что бы на выходе было id карты одной строкой,желательно при помощи переменной Unsigned long Integer.что бы номер был примерно-2121312123234
Код: Выделить всё
/**************************************************************************/
/*!
This example will attempt to connect to an ISO14443A
card or tag and retrieve some basic information about it
that can be used to determine what type of card it is.
Note that you need the baud rate to be 115200 because we need to print
out the data and read from the card at the same time!
To enable debug message, define DEBUG in PN532/PN532_debug.h
*/
/**************************************************************************/
/* When the number after #if set as 1, it will be switch to SPI Mode*/
#if 0
#include <SPI.h>
#include <PN532_SPI.h>
#include "PN532.h"
PN532_SPI pn532spi(SPI, 10);
PN532 nfc(pn532spi);
/* When the number after #elif set as 1, it will be switch to HSU Mode*/
#elif 0
#include <PN532_HSU.h>
#include <PN532.h>
PN532_HSU pn532hsu(Serial1);
PN532 nfc(pn532hsu);
/* When the number after #if & #elif set as 0, it will be switch to I2C Mode*/
#else
#include <Wire.h>
#include <PN532_I2C.h>
#include <PN532.h>
#include <NfcAdapter.h>
PN532_I2C pn532i2c(Wire);
PN532 nfc(pn532i2c);
#endif
void setup(void) {
Serial.begin(115200);
Serial.println("Hello!");
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata) {
Serial.print("Didn't find PN53x board");
while (1); // halt
}
// Got ok data, print it out!
Serial.print("Found chip PN5"); Serial.println((versiondata>>24) & 0xFF, HEX);
Serial.print("Firmware ver. "); Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print('.'); Serial.println((versiondata>>8) & 0xFF, DEC);
// Set the max number of retry attempts to read from a card
// This prevents us from waiting forever for a card, which is
// the default behaviour of the PN532.
nfc.setPassiveActivationRetries(0xFF);
// configure board to read RFID tags
nfc.SAMConfig();
Serial.println("Waiting for an ISO14443A card");
}
void loop(void) {
boolean success;
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer to store the returned UID
uint8_t uidLength; // Length of the UID (4 or 7 bytes depending on ISO14443A card type)
// Wait for an ISO14443A type cards (Mifare, etc.). When one is found
// 'uid' will be populated with the UID, and uidLength will indicate
// if the uid is 4 bytes (Mifare Classic) or 7 bytes (Mifare Ultralight)
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);
if (success) {
Serial.println("Found a card!");
Serial.print("UID Length: ");Serial.print(uidLength, DEC);Serial.println(" bytes");
Serial.print("UID Value: ");
for (uint8_t i=0; i < uidLength; i++)
{
Serial.print(" 0x");Serial.print(uid[i], HEX);
}
Serial.println("");
// Wait 1 second before continuing
delay(1000);
}
else
{
// PN532 probably timed out waiting for a card
Serial.println("Timed out waiting for a card");
}
}
Отправлено спустя 5 минут 29 секунд:
Подключено по i2c к меге (20,21) больше ничего не поключал,пример в файле из стандартной библиотеки.Он работает,выдает в сериал номер
карты по типу-- 0x24 0x3C 0xFD 0x6E
Мне нужно перенести этот скейтч в пользовательский блок flprog,что бы на выходе было id карты одной строкой,желательно при помощи переменной Unsigned long Integer.что бы номер был примерно-2121312123234
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
RFID PN532
Ок, завтра. Возможно с другой бибкой...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
RFID PN532
Да,еще желательно чтобы можно было указать адрес i2c.В моем случае он 24,но желательно чтобы был пользоват.параметр с возможностью его задания.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
RFID PN532
В Вашем примере 4 байта - влезет в unsigned long, а если больше - чего делать?igorgoga писал(а): 28 ноя 2018, 17:56то бы на выходе было id карты одной строкой,желательно при помощи переменной Unsigned long Integer.что бы номер был примерно-2121312123234
Пока сделал два выхода - 4 и 3 байта.
Выход Ок прицепите к led - может заработает...
Не тестил - нет бибок, искать лень

Жду результата.
Мне пока сложно уловить момент "распараллеливанием внутри void loop(void)" - может знающие люди просветят?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
RFID PN532
Спасибо.На работе.в 21 приду и обязательно проверю!!!
Отправлено спустя 4 минуты 12 секунд:
Нужные библиотеки в файле задание есть....
Отправлено спустя 6 часов 23 минуты 44 секунды:
не компелируется....
ругается на эту строку
else out_2_267330372_1 = (out<<(i-4)*8) | uid;
отчет
C:\Users\Ferma2\AppData\Local\Temp\flprog\pr4\pr4.ino: In function 'void loop()':
pr4:36: error: 'out' was not declared in this scope
if(i<4)out_1_267330372_1 = (out<<i*8) | uid;
^
pr4:37: error: 'out' was not declared in this scope
else out_2_267330372_1 = (out<<(i-4)*8) | uid;
^
exit status 1
'out' was not declared in this scope
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
RFID PN532
[ref]igorgoga[/ref], Погоди, не кипишуй. 
Отправлено спустя 26 минут 19 секунд:
Пришлось закоментить //#include <NfcAdapter.h> в IDE - у меня нет бибки, может и не нужна, тогда удалить в блоке.

Отправлено спустя 26 минут 19 секунд:
Поправил, забыл немного о двух выходахСкетч использует 5000 байт (16%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 528 байт (25%) динамической памяти, оставляя 1520 байт для локальных переменных.

Пришлось закоментить //#include <NfcAdapter.h> в IDE - у меня нет бибки, может и не нужна, тогда удалить в блоке.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
RFID PN532
Вобщем при первом прикладывании карты пишет ее номер например 2169996131 светодиод загорается и больше не гаснет а только
немного моргает при новой карте
если повторно ее же приложить-вообще ничего не происходит,только нужно сначала любую другую,только потом первая опять выдаст номер
при прикладывании тел-выдает сразу две строки-
594463061
75508674
Отправлено спустя 8 часов 40 минут 12 секунд:
Отправлено спустя 12 минут 58 секунд:
немного моргает при новой карте
если повторно ее же приложить-вообще ничего не происходит,только нужно сначала любую другую,только потом первая опять выдаст номер
при прикладывании тел-выдает сразу две строки-
594463061
75508674
Отправлено спустя 8 часов 40 минут 12 секунд:
поправка-он тухнет только через 4 сек,после прикладывании карты
Отправлено спустя 12 минут 58 секунд:
При этом на считывателе rf522 nfc метка этого же телефона определяется одной строкой вот так 3259640704igorgoga писал(а): 01 дек 2018, 06:11при прикладывании тел-выдает сразу две строки-
594463061
75508674
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
RFID PN532
Издержки Вашей библиотеки.igorgoga писал(а): 01 дек 2018, 06:24поправка-он тухнет только через 4 сек,после прикладывании карты
Всё остальное так-же.
Светодиод загорается когда бибка говорит о карте.
Я лишь Ваш пример завернул в ПБ.
Есть другие библиотеки - нужен будет ещё один провод к цифровому пину. Возможны положительные сдвиги...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
RFID PN532
а то что одна и та же карта повторно не читается,тоже дело в библиотеке?
Если у вас есть свободное время,помогите пож.довести этот блок до рабочего состояния.Я в долгу не останусь.!!!!...Очень нужен для проекта
рабочий ридер на айтуси....
Если у вас есть свободное время,помогите пож.довести этот блок до рабочего состояния.Я в долгу не останусь.!!!!...Очень нужен для проекта
рабочий ридер на айтуси....
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
RFID PN532
При повторном поднесении загорается led?igorgoga писал(а): 01 дек 2018, 09:26а то что одна и та же карта повторно не читается,тоже дело в библиотеке?
Отправлено спустя 2 минуты 5 секунд:
есть возможность добавить ещё одно соединение от платы до ардуино?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
RFID PN532
нет
Отправлено спустя 28 секунд:
даSancho писал(а): 01 дек 2018, 09:52есть возможность добавить ещё одно соединение от платы до ардуино?
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
RFID PN532
Какая плата, картинку, ссылку? Или уже знаешь где пин выхода прерывания на ней?
Бибка здесь
Бибка здесь
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
RFID PN532
https://www.ebay.com/itm/NXP-PN532-NFC- ... :rk:2:pf:0Sancho писал(а): 01 дек 2018, 15:27Какая плата, картинку, ссылку? Или уже знаешь где пин выхода прерывания на ней?
Отправлено спустя 1 минуту 54 секунды:
после 20-00 проверю.на работе...(((
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
RFID PN532
Пин на плате IRQ к пину, указываемому в настройке блока. Поменяй в редакторе ПБ сразу на свой "по умолчанию".
Отправлено спустя 38 секунд:
Жаль, тогда коррекция только в понедельник....
Отправлено спустя 38 секунд:
Жаль, тогда коррекция только в понедельник....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
RFID PN532
ок
Отправлено спустя 3 минуты 48 секунд:
а как в настройках блока пин поменять,там нет возможности выбора....
Отправлено спустя 5 минут 55 секунд:
удаленно по тиму пытался залить скейтч-ругается на
pr41:9: error: 'PPIINNSS' was not declared in this scope
Adafruit_PN532 nfc_262194121_1( PPIINNSS , 100);
^
exit status 1
'PPIINNSS' was not declared in this scope
Отправлено спустя 3 минуты 52 секунды:
И еще вопрос.пока тестю на меге,но на практике будет потом нанка,кроме пина нужно мне еще что то будет менять? или достаточно в флпрог сменить контроллер?
Отправлено спустя 3 минуты 48 секунд:
а как в настройках блока пин поменять,там нет возможности выбора....
Отправлено спустя 5 минут 55 секунд:
удаленно по тиму пытался залить скейтч-ругается на
pr41:9: error: 'PPIINNSS' was not declared in this scope
Adafruit_PN532 nfc_262194121_1( PPIINNSS , 100);
^
exit status 1
'PPIINNSS' was not declared in this scope
Отправлено спустя 3 минуты 52 секунды:
И еще вопрос.пока тестю на меге,но на практике будет потом нанка,кроме пина нужно мне еще что то будет менять? или достаточно в флпрог сменить контроллер?
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
RFID PN532
и пин.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
RFID PN532
СПС.!!! Отпишусь по результату
Отправлено спустя 3 часа 53 минуты 17 секунд:
вобщем ничего не поменялось,так же и работает криво как было с первым вариантом,светодиод вообще теперь после первого считывания не тухнет....
пин 11 подключил...
Отправлено спустя 3 часа 53 минуты 17 секунд:
вобщем ничего не поменялось,так же и работает криво как было с первым вариантом,светодиод вообще теперь после первого считывания не тухнет....
пин 11 подключил...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя