Данная статья будет полезна тем, кто начинает работу с карт-принтерами(Evolis Primacy и Smart-51) и кодировкой NFC карт типа Mifare Classic и Mifare DESFire EV2. В первой части мы опишем общее впечатление от работы с карт-принтерами, а также проблемы с которыми нам пришлось столкнуться. Во второй части планируется показать больше практической части: код, советы по эксплуатации.
1. Как появилась задача
Мы занимаемся разработкой системы электронного билетирования, которая включает в себя работу с NFC картами. Каждая NFC карта обладает понятным для пользователя Номером, и индивидуальным ID. Номер должен быть напечатан на карте, а ID записан в NFC чип. Одной из поставленных задач было налаживание стабильного производства транспортных карт.
На первом этапе задача была решена самым простом способом — принты с Номерами печатаются поставщиком NFC карт, а ID записываются нами при помощи настольных считывателей, специального програмного обеспечения и человека. После получения карт от поставщика требуется зарегистрировать карту в системе и связать ID и Номер друг с другом. В качестве настольного считывателя мы использовали Z-2 Reader[1].
Процесс выглядел примерно таким образом:
- Оператор берёт в руки карту. На карте уже напечатан её номер, но требуется регистрация карты в системе и запись ID в NFC чип
- Оператор кладет карту на Z-2 Reader и регистрирует Номер в системе электронного билетирования путем ручного ввода Номера карты. Для связки и регистрации происходит вызов HTTPS API
- Оператор берёт следующую карту и проделывает все ещё раз
Простое и быстрое решение с одним маленьким недостатком. Влияние человеческого фактора порождает фантомные карты, у которых Номер напечатанный на карте не соответствует связке ID-Номер в базе данных системы.
Читать полностью »