Archiv der Kategorie: arduino

Arduino M24SR NFC Tag Library

M24SR_NFC_Tag_with_I2C_Interface
Gegenstand dieses Blogartikels ist der ST M24SR im praktischen Einsatz mit einem Arduino:
Oft ist eine Benutzerschnittstelle erforderlich, wenn eine Mikrokontroller Schaltung konfiguriert werden muss. Falls ein paar Taster, evtl inkl. Mini-LCD zu teuer sind bzw das Gerät nicht über Bluetooth-, RF- oder Ethernet-Schnittstelle verfügt kann die sehr stromsparende, kostengünstige NFC-Schnittstelle zum Einsatz kommen. Der M24SR von ST dient in dieser Konstellation als NFC-I2C-Brücke zum Auslesen von Logeinträgen, Status- oder Fehlercodes und zum Konfigurieren per Smartphone. Dieser NFC-Chip ist gegenüber den komplexen NFC-Controllern (zB PN532) recht günstig ($0.34 – $1.88) da er nicht alle NFC-Modie wie Reader/Writer, P2P und Card-Emulation unterstützt sondern nur als NFC-Tag fungieren kann. Daten können in den Speicher (EEPROM) des Chips entweder per I2C-Schnittstelle (Arduino) oder per NFC (NFC Phone, Smartcard-Reader) geschrieben bzw ausgelesen werden.

Was wird benötigt?

  • ST M24SR Chip
  • Breadboard + Verbindungskabel
  • SO8-Sockel oder SO8-DIL8-Adapter-Platine zum Auflöten des Chips
  • Arduino Duemilanove (o.ae.)
  • Arduino M24SR Library
  • Antenne: Größe 75 mm x 48 mm, 6 Windungen
  • 10k Ohm Pull-up Widerstand

Setup

Das IC mit 8 Pins ist recht überschaubar zu verdrahten: Spannungsversorgung (GND, VCC), I2CInterface (SDA, SCL),  Antennenanschlüsse (AC0, AC1) und optional RF disable, Schreib-/Leseereignisse (GPO).

    • Schaltung zusammen stecken:

      Pinout:
      -------------------------------------------------------------------------------
      M24SR -> Arduino / resistor / antenna
      -------------------------------------------------------------------------------
      1 RF disable -> TODO not used
      2 AC0 (antenna) -> Antenna
      3 AC1 (antenna) -> Antenna
      4 VSS (GND) -> Arduino Gnd
      5 SDA (I2C data) -> Arduino A4
      6 SCL (I2C clock) -> Arduino A5
      7 GPO -> Arduino D7 + Pull-Up resistor (>4.7kOhm) to VCC
      8 VCC (2...5V) -> Arduino 5V
      -------------------------------------------------------------------------------
    • Arduino M24SR-Lib https://github.com/rena2019/ArduinoM24SR herunterladen

Beispiele

Sample: SystemFile

Dieses Beispiel zeigt nur die Eigenschaften des Tags an (UID, Speichergrösse, Produktcode). Es dient nur zum Überprüfen der korrekten Verdrahtung/Funktionsweise des Chips. Dafür ist weder Smartcard-Reader noch NFC-Smartphone erforderlich.

#include #include
#include
#include
#include
#define gpo_pin 7
M24SR m24sr(gpo_pin);

void setup()
{
Serial.begin(9600);
//for debug purpose
//m24sr._verbose = true;
//m24sr._cmds = true;
m24sr._setup();
m24sr.displaySystemFile();
}

void loop()
{
}

 

Sample: NDefWrite

Einfachstes Beispiel, bei dem eine (von drei) vordefinierten NDef-URL-Records in den M24SR via I2C geschrieben wird. Nach einem Reset wird der Record jedesmal neu geschrieben und kann mit einem NFC-Smartphone ausgelesen werden (Browser öffnet automatisch URL)

Sample: NFC-Info-Display

Für dieses Beispiel muss der GPO-Pin mit einem Pullup-Widerstand zusätzlich zu den I2C-Leitungen an den Arduino angeschlossen werden. Über diesen Pin erhält der Arduino ein Signal bei Schreib-/Leseversuchen über das RF-Interface. Beschreibt man den NFC-Tag mit einer App (z.B. NFC-TagWriter oder ST M24SR Demo App) so wird der Inhalt des NDEF-Records auf dem optional via SPI angeschlossenen TFT zb 128×160 angezeigt.

Arduino_M24SR_Antenna_TFT_CIMG4837
Bei gleichzeitiger Nutzung von mehreren Bibliotheken (NDef, M24SR) kommt man mit dem Arduino schnell an die Grenzen des RAMs. Bei der Implementierung der M24SR-Bibliothek kam es mehrfach zu unerklärlichem Verhalten, die Funktion displayFreeRAM legte dann das Problem offen: Speicher zu klein :-/

Links
Blogartikel: ST M24SR – Low-Cost NFC Tag mit I2C-Schnittstelle
Arduino M24SR Lib (Source Code) https://github.com/rena2019/ArduinoM24SR
ST M24SR64-Y Datenblatt http://www.st.com/web/en/resource/technical/document/datasheet/DM00067892.pdf
Google Play – ST M24SR Demo App https://play.google.com/store/apps/details?id=com.nfc.m24srdemo
Google Play – NFC TagWriter App https://play.google.com/store/apps/details?id=com.nxp.nfc.tagwriter

Advertisements

ST M24SR – Low-Cost NFC Tag mit I2C-Schnittstelle

IC-SO8

STMicroelectronics bietet sehr günstige ($0.34 – $1.88) Bausteine an um die NFC-Schnittstelle in eigene Schaltungen/Produkte zu intergrieren: M24SR

Features

* NFC Forum Tag Type 4 (basierend auf ISO 14443 RF-Interface)
* 1 MHz I2C-Schnittstelle (2.7 bis 5.5 V)
* EEPROM Speichergrössen: 2, 4, 16, 64 Kbits mit built-in NDEF Unterstützung
* ‚RF disable‘-Pin erlaubt der Anwendung den RF Zugriff per NFC Phone zu kontrollieren
* 128-bit Passwortschutz
* Ausgangspin zum Triggern von Applikationen (bei unterschiedlichen Ereignissen)
* einfaches Antennen Design
* 7 Byte UID

Der M24SR wird u.a. im SO8-Package (neben TSSOP8- und UFDFPN8-Package ) angeboten sodass er sogar ohne SMD-Werkzeug auf PCB eingelötet werden kann. Das Konkurrenzprodukt NTAG I2C (NT3H1101/NT3H1201
) von NXP wird im Gegensatz nur als XQFN8-Package (Body 1.6 x 1.6 x 0.6mm) angeboten.

Praxis

M24SR-Pin-Layout
Schliesst man an die AC0 und AC1 Pins des Baustein nur eine Antenne an (5 Windungen aus dünnem Kabel um 2 Finger gewickelt) kann er als einfacher NFC-Tag genutzt werden. Mit einem NFC Android Smartphone z.B. kann man den Tag auslesen, bzw mit einer App mit Text-,URI-, etc NDEF-Records beschrieben werden. Das Besondere an dem Chip ist allerdings die I2C-Schnittstelle. Schliesst man zusätzlich die Pins VSS alias GND (Pin4), VCC (Pin8), SCL (Pin6) und SDA (Pin5) an einen Mikrokontroller an können hierüber Daten an den M24SR gesendet werden und aus dem statischen NFC-Tag wird ein dynamischer (z.B. Temperatur als NDEF-Record oder URI mit One-Time-Password).

GPO (General Purpose Output) Pin

Verbindet man zusätzlich noch den GPO-Pin (Pin7) kann der angeschlossene Mikrokontroller Events empfangen, wenn z.B. die Daten im Speicher via RF-Interface geändert worden sind. Somit ist es möglich Daten aus dem M24SR auszulesen ohne die RF-Kommunikation zu unterbrechen.

App Kompatibilität

ST bietet im Google Play Store die ST M24SR Demo App an, um den Tag zu beschreiben/auszulesen. Da der Tag aber NFC-Forum Tag Type 4 kompatibel ist können auch andere Apps beispielweise die NXP TagWriter App benutzt werden.

Screenshot_M24SR_Demo_App   Screenshot_M24SR_Demo_App_NDEF_Editor

Am PC lässt sich der NFC-Tag wie eine kontaktlose (ISO14443-4) Smartcard auslesen:

screenshot_mysmartcardioshell_m24sr

 

Links und Info

ST M24SR64-Y Datenblatt http://www.st.com/web/en/resource/technical/document/datasheet/DM00067892.pdf
Evalboard M24SR-DISCOVERY 32EUR http://www.exp-tech.de/Shields/Wireless/RFID/M24SR-DISCOVERY-Dynamic-NFC-RFID-tag.html
Google Play – ST M24SR Demo App https://play.google.com/store/apps/details?id=com.nfc.m24srdemo
ST M24SR Demo App – Source Code  http://www.st.com/web/catalog/tools/FM147/SC1871/PF260169
Mouser: STMicroelectronics M24SR Dynamic NFC/RFID Tag ICs http://www.mouser.com/new/stmicroelectronics/stm-m24sr-nfc-rfid/?cm_mmc=PressRelease-PR-_-STMicro-_-M24SR_RFIDNFC-_-2014-04-02
NXP NTAG I2C (NT3H1101/NT3H1201) http://www.nxp.com/documents/short_data_sheet/NT3H1101_1201_SDS.pdf

Liste von Arduino-/ARM-/ATtiny-/Eval-Boards unter 15EUR

Hier einfach mal eine Liste von Arduino-, ATtiny-, ARM-, Eval-Boards, die unter 15EUR kosten – für Projekte, wo einfach nur ein günstiges, fertiges Board (bzw Kit) erforderlich ist und das Rad nicht erst neu erfunden werden muss bzw der PCB-Service bemüht werden muss. Am Interessantesten finde ich den DigiSpark in Stick Form, welcher direkt an den USB-Port angeschlossen werden kann. Allerdings hat das Boards auch die geringste Performance und kann wohl auch nur zum Betreiben einer LED oder als Eingabe-/Ausgabe-Leitungen (zB zur Ansteuerung, Einlesen von Sensor) genutzt werden. Die leistungsstärkeren ARM-Boards verfügen teils auch gleich über Peripherie On-board.

Freescale FRDM-KL05Z

Freescale_FRDM-KL05Z
Freescale ARM Cortex-M0+ MCU, 32 KB flash, 4 KB SRAM, 48 MHz
+ 3-axis digital accelerometer, capacitive touch slider, RGB LED
10.17EUR (+5.95EUR Versand) http://de.farnell.com/freescale-semiconductor/frdm-kl05z/eval-kinetis-l-freedom-cortex-m0/dp/2254491?Ntt=2254491

Freescale FRDM-KL25Z ARM Cortex-M0+ Development Board

Freescale FRDM-KL25Z
Freescale ARM Cortex-M0+ MCU, 128KB flash, 16KB SRAM, 8 MHz
+ USB
12,95 EUR (+3.50EUR DHL Paket) exp-tech.de
https://mbed.org/handbook/mbed-FRDM-KL25Z

LPC800/LPC812 MAX Board

LPC800_LPC812_MAX_Board
NXP LPC812 Cortex-M0+, 16 kB Flash, 4 kB RAM, 12 MHz
15EUR (+7.60 EUR First Class Mail) embeddedartists.com

LPC-P1114 Development prototype board for LPC1114 CORTEX M0 ARM microcontroller

LPC-P1114_Development_prototype_board
LPC1114 Cortex-M0, up to 50 Mhz, 32 kB Flash, 8kB SRAM
11.95 EUR (+5.50EUR Airmail Europe) olimex.com

STM32VL Discovery

STM32LV_Discovery
STM32F100RB ARM Cortex-M3 Microcontroller, 128 KB Flash, 8 KB RAM
12,14 EUR (+3.50EUR Versand) watterott.com

TI LM4F120 Stellaris LaunchPad

med_ek-lm4f120xl_stellarislaunchpad_tool
TI ARM Cortex-M4F, 256KB Flash, 32 kB SRAM
+ USB, RGB LED
12,35 EUR (+3.50EUR Versand) watterott.com

Adafruit Trinket

adafruit_products_trinket_clear_products_1500_ORIG
Atmel ATtiny85, 8K Flash, 512 Byte SRAM, 512 Byte EEPROM
7,39 EUR (+3.50EUR Versand) watterott.com

OLIMEXINO-85-ASM

OLIMEXINO-85-1
The smallest Olimex Arduino-inspired board
Atmel ATtiny85, 8K Flash, 512 Byte SRAM, 512 Byte EEPROM
6EUR (+5.50EUR Airmail Europe) olimex.com

OLIMEXINO-85-KIT

OLIMEXINO-85-KIT
Arduino OLIMEXINO-85 in DO-IT-YOURSELF (DYI)
Atmel ATtiny85, 8K Flash, 512 Byte SRAM, 512 Byte EEPROM
4EUR (+5.50EUR Airmail Europe) olimex.com

OLIMEXINO-85S
OLIMEXINO-85S-1

ATtiny85-SU microcontroller with pre-loaded „micronucleus tiny85“ bootloader, World’s smallest Arduino-compatible board
5EUR (+5.50EUR Airmail Europe) olimex.com

OLIMEXINO-85BC
OLIMEXINO-85BC

ATtiny85, Two LEDs – power and status, Reset button
7EUR (+5.50EUR Airmail Europe) olimex.com

DFRobot Cheapduino

DFRobot_Cheapduino
Atmel AVR ATmega8, 8Kbytes Flash, 1KB SRAM, 512K EEPROM
3,40EUR (+5EUR Versand) www.lipoly.de
Hersteller Wiki www.dfrobot.com

Digispark USB Development Board

Digispark_USB_Development_Board
Atmel ATtiny85, 8Kbytes Flash, 512 Byte SRAM, 512 Byte EEPROM
8.95EUR (+2,50EUR Versand) shop.cboden.de
Alternativer Anbieter ~12.50EUR ($8.95 + $8.00 Versand) www.tindie.com
Hersteller http://digistump.com/product.php?id=1

Wattuino pro mini adv 5V/16MHz

Wattuino_pro_mini
ATmega328P, 32 Kbytes Flash, 1 KB EEPROM, 2KB SRAM
– kein USB
10EUR (+3.50EUR Versand) www.watterott.com

Nano V3.0 AVR ATmega328

arduino_Nano_V3.0
Atmel ATmega328, 32 Kbytes Flash, 1 KB EEPROM, 2KB SRAM
USB Kabel inklusive
8.24EUR (kostenloser Versand) dx.com

Adafruit Gemma

Adafruit Gemma

7.57EUR (+3.50 EUR Versand) www.exp-tech.de
Hersteller www.adafruit.com

PicoDuino

PicoDuino
ATtiny85 Board mit RGB LED und Taster, Hardware-kompatibel zum Adafruit GEMMA / TRINKET Board
ab ~12EUR ($12.20 + $4.00 Versand) www.tindie.com

ITeaduino Tiny

ITeaduino_Tiny
Attiny85 Board mit Power und Test/Status LED
~9.50EUR ($9.00 + Registered Air Mail $3.90) imall.iteadstudio.com

weitere Microcontroller Boards bei Tindie

Bei Tindie, einem Marktplatz für unabhängige Entwickler gibt es auch einige interessante MSP430- und ATtiny85-Boards
www.tindie.com

Günstige Arduino Komponenten

Manchmal macht es einfach nur Spass bei eBay bzw bei einigen chinesischen Webshops im Arduino Umfeld zu stöbern. Oft stösst man dabei auf sehr günstige Komponenten, die man für das nächste Projekt einsetzen kann. Hier mal eine Liste mit Arduino Komponenten, die in keiner Arduino Bastelkiste fehlen sollten, teils zu unverschämt niedrigen Preisen:

4×4 Matrix Keypad

4x4-Keypad-1

Matrix mit 16 Tastern zum triggern von Events ab ~1.20EUR

4×4 Keypad Matrix mit LEDs

4x4-Keypad-LED

Ebenfalls eine Button Matrix, hier aber gleich mit LEDs inkl. Vorwiderstände ab ~2EUR

SD Card Module Slot

SD_Card_Module

Ethernet-Modul gekauft, aber evtl eins ohne SD-Karte erwischt? Oder soll der Arduino einfach nur sehr viele Logdaten aufnehmen? SD Card Module per SPI anbinden und Daten ab auf die SD-Karte ab ~1.10EUR

(ENC28J60) Ethernet LAN Network Modul

enc28j60-ethernet

Ebenfalls per SPI ansprechbar – das Ethernet LAN Modul. Es ist immer wieder faszinierend wenn man mit dem Arduino einen Webserver betreibt und Sensoren per Browser auslesen kann, ab ~3EUR

Nokia 5110 LCD

nokia5110-lcd

Wenn der serielle Port bereits belegt ist und man somit keine Debugmeldungen mehr anzeigen kann oder wenn der Arduino stand-alone betrieben wird eine Anzeige aber erforderlich ist, ab ~2.40EUR

Wireless Bluetooth Transceiver

hc-06-bluetooth

Arduino Bluetooth Shield zu teuer aber Bluetooth erforderlich, bzw einfach mal Arduino vom Smartphone aus ansteuern? Das Bluetooth Modul (HC-05, HC-06) gibt es in verschiedenen Varianten: nur Slave, Slave + Master, mit und ohne Baseboard (kann dann mit 3.3V bzw 5V betrieben werden), ab ~6EUR

Alle angegebene Preise (inkl Versand) sind mit dem Stand vom 15.08.2013 und können sich somit bereits verändert haben, bzw die Komponenten sind teils sogar bei anderen chinesischen Händlern günstiger zu beziehen. Am besten mal den ChinaPriceFinder anwerfen und vergleichen.

5Euro RFID/NFC Modul RC522 zum Auslesen von Mifare Tags

rfid-rc522-module

Das RFID-RC522 Modul stellt wohl den günstigsten Einstieg in die RFID/NFC-Welt dar. Ab ~5 EUR (inkl. Versand) kann man es bei verschiedenen (chinesischen) eBay Verkäufern erwerben. Herz der Platine ist der Reader-Chip MFRC522 von NXP zum Auslesen von ISO/IEC 14443 A/MIFARE Karten. Der Chip kann per I2C, SPI oder UART kommunizieren, das hier beschriebene Modul wird per SPI angesprochen.
Das Modul wird meisstens mit zwei Stiftleisten (gerade und gewinkelt), einem Mifare-Schlüsselanhänger und einer Mifare-Karte geliefert. Hat man eine der Stiftleisten eingelötet kann man es zB mit Dupont Kabelverbindern (male – female) mit einem Arduino verbinden. 7 Verbindungen (SDA an Pin10, SCK an Pin13, MOSI an Pin11, MISO an Pin12, IRQ n.v., GND an GND, RST an Pin5, 3.3V an 3V3) sind erforderlich:
rc522_mf522_arduino_spi

Gegenüber dem etwas teureren PN532 Arduino NFC Shield unterstützt dieses Modul allerdings kein Card-Emulation Mode, d.h. es kann keine NFC-Tags emulieren bzw es kann nicht mit einem NFC-Smartphone kommunizieren.

Source Code/Library

Source Code zum Ansprechen des Boards via Arduino findet man im Netz an verschiedenen Stellen:

Scheinbar basiert der Großteil des Codes auf den Sourcen von WWW.B2CQSHOP.COM / COOQRobot, teils in einer Klasse verpackt, teils einfach nur als C-Funktionen. So mal eben runterladen, Arduino Beispiel Sketch ausführen und Mifare Tag auslesen geht leider nicht auf Anhieb. Das einzige was man mit dem unveränderten Source Code (zB cardRead.ino) anzeigt kann ist die 4-Byte UID einiger Mifare Tags:
cardread_rc522_mifare_uid
Einige Teile des oben verlinkten Source Codes sind schlichtweg fehlerhaft implementiert, beispielweise kann angeblich die Größe des Mifare-Speichers ausgegeben werden („read card storage volume“). Ausserdem funktioniert die Bibliothek nur mit 4-Byte UID Karten; 7-Byte UID Karten können nicht ausgelesen werden, da das ISO14443 Antikollisionsverfahren nicht korrekt genutzt wird.

Mifare Classic Tags auslesen

Einen einfachen Mifare Classic Memory Dump kann aber relativ einfach codiert werden, wenn man weiss wie der Mifare Speicher unterteilt ist und wenn man die korrekten Keys benutzt:

mifare_dump_rc522

Zu Beginn werden die üblichen ISO14443 Parameter (ATQA, SAK, UID) angezeigt, danach erfolgt der Hex-Dump des Speicherinhaltes.

Den Source Code RC522DumpMifare.ino dazu gibt es in meinem Repository bei Github. Einige TODOs sind im Code noch zu implementieren, zB das Selektieren von Karten mit 7Byte-UID.

UPDATE 2013-08-08: 7-byte-UID Anzeige und RATS-Handling ansatzweise ergänzt

RC522-RFID-Modul am Raspberry Pi betreiben

Das RC522-Modul kann natürlich auch mit anderen Evalboards verbunden werden, zB mit dem Raspberry Pi. Dann kann man es sogar mit Python programmieren und muss nicht erst umständlich einen Microcontroller flashen.

Evtl werde ich das Board auch demnächst einmal am Raspberry Pi anschliessen und einen entsprechenden Artikel dazu schreiben.

Kompatibilität

Einige Mifare Karten liessen sich allerdings nicht dazu bewegen mit dem Modul zu sprechen (Karten wurden im Feld nicht einmal erkannt), zB:

  • Mifare Ultralight C (MF0ICU2), 7byte-UID
  • Mifare Classic 1K ‚MF1 IC S5009‘ alias Mifare Plus S (MF1SPLUS60)
  • Mifare DESFire EV1 (MF3ICD21) HW v1.0
  • Mifare DESFire (MF3ICD40) HW v0.2
  • Mifare DESFire EV1 (MF3ICD81) HW v1.0
  • Mifare Classic 1K (emulated)

Evtl ist das Modul nicht korrekt konfiguriert, die Hardware unterstützt die Karten (wieso auch immer) nicht oder die Antenne des Moduls ist nicht korrekt abgestimmt.

Bei folgenden Tags konnte zumindest die UID gelesen werden:

  • Mifare Classic
  • Mifare Classic (MF1S70)
  • NTAG203 (NT2H0301)
  • NTAG215 (NT2H1511) alias amiibo cards
  • NTAG216 (NT2H1611G0DUx)
  • Mifare Classic Futan FM11RF08
  • Mifare Classic Clonable China Card
  • Miafre Ultralight (MF0ICU1) alias GVB card
  • Infineon ??? Chip alias Geldkarte

Links/mehr Info

Am Ende – wie immer – zum Vertiefen ein paar Links bzw Webseiten von anderen Nutzern, die bereits mit dem RC522 herumgespielt haben und was nicht fehlen darf – der Link zum Datenblatt:

Liste aller NFC/RFID Evalboards / Arduino Shields

Hier mal der Versuch einen Überblick über die verfügbaren NFC Evalboards für embedded Controller, Arduino bzw einfach nur zum Ansteuern per PC zu bekommen. Begonnen hat das ganze mit dem Seeedstudio Arduino NFC Shield, das es mitlerweile in Version 2 gibt. Durch die immer größere Verbreitung von NFC durch Android nehmen viele chinesische Firmen die Boards in ihr Produktionsprogramm auf. Bei den Boards muß man zwischen zwei verschiedenen Reader Typen unterscheiden:

  • nur Reader-Funktionalität (zum Auslesen von kontaktlosen Smartcards, Mifare Tags)
  • Reader-Funktionalität mit Card-Emulation-Mode (kann zB mit NFC Smartphone ausgelesen werden)

Die verwendete Übertragungstechnik der Reader kann man in zwei unterschiedliche Frequenzbereich einteilen:

  • 125-kHz RFID
  • 13.56MHz NFC

Eingesetzte Chips sind

  • NXP PN532
  • NXP RDM630
  • NXP MFRC522
  • SonMicro SM125-IC
  • HY502

Adafruit PN532 NFC/RFID Controller Shield for Arduino
Adafruit_PN532_NFC_RFID_Controller_Shield_for_Arduino

Hersteller: http://www.adafruit.com/products/789
Bezugsquelle: watterott.com, exp-tech.de

Adafruit PN532 NFC/RFID controller breakout board – v1.3
Adafruit_PN532_NFC_RFID_controller_breakout_board

Hersteller: http://www.adafruit.com/products/364

DFRobot NFC Module for Arduino
DFRobot_NFC_Module_for_Arduino

Hersteller: http://www.dfrobot.com/wiki/index.php/NFC_Module_for_Arduino

Bezugsquelle: lipoly.de

ElecFreaks/manolins RFID/NFC Breakout Board (NFC Module V1.0/V1.1)
elecfreaks_NFC_Module_V1.1

Hersteller: http://www.elecfreaks.com/store/rfidnfc-breakout-board-p-519.html

Bezugsquelle: komputer.de, dx.com

ElecFreaks/manolins RFID / NFC Shield
ElecFreaks_RFID_NFC_Shield_Model manolins_nfc_shield

Hersteller: http://www.elecfreaks.com/store/rfidnfc-shield-p-479.html

Bezugsquelle: komputer.de, dx.com

elechouse PN532 NFC RFID Reader/Writer Module – Arduino Compatible (NFC Module V2.0)
elechouse_PN532_NFC_Module

Hersteller: http://www.elechouse.com/elechouse/index.php?main_page=product_info&cPath=90_93&products_id=2205

ITEAD PN532 NFC Module
ITEAD_PN532_NFC_Module

Hersteller: http://imall.iteadstudio.com/im130625002.html

libelium.com RFID 13.56 MHz / NFC module for Arduino
libelium_RFID_13.56_MHz_NFC_module_for_Arduino

Hersteller: http://www.cooking-hacks.com/index.php/rfid-13-56-mhz-nfc-module-for-arduino.html

UART 125Khz EM4100 RFID Card Key ID Reader Module RDM6300
UART_125Khz_EM4100_RFID_Card_Key_ID_Reader_Module_RDM6300

Bezugsquelle: ebay.de, dx.com

LinkSprite HY502 RFID Reader/Write Module (I2C, UART, SPI)
LinkSprite_RFID_Reader_Write_Module_HY502F_1

Hersteller: linkspirite.com

Parallax/Grand Idea Studio RFID Read/Write Module
Parallax_RFID_Read_Write_Module

Hersteller: http://www.parallax.com/StoreSearchResults/tabid/768/txtSearch/rfid/List/0/SortField/4/ProductID/688/Default.aspx

RFID-RC522

rfid_rc522
Bezugsquelle: dx.com, electrodragon.com, b2cqshop.com, rcubestation.com

Seeedstudio NFC Shield
seeedstudio_nfc_shield

Hersteller: http://www.seeedstudio.com/depot/nfc-shield-p-916.html
Bezugsquelle: lipoly.de

Seeedstudio NFC Shield V2
seeedstudio_nfc_shield_v2

Hersteller: http://www.seeedstudio.com/depot/nfc-shield-v20-p-1370.html

Bezugsquelle: exp-tech.de

Seeedstudio 125Khz RFID Empfänger Modul
seeedstudio_125kHz_RFID

Hersteller: http://www.seeedstudio.com/depot/electronic-brick-125khz-rfid-card-reader-p-702.html

Wer noch andere Boards kennt kann gerne einen Kommentar hinterlassen, ich werde dann versuchen die Liste zu aktualisieren.

libnfc mit Arduino NFC Shield nutzen

seeedstudio-arduino-nfc-shield

Auf dem Arduino NFC Shield von Seeedstudio ist der populäre PN532 NFC Chip von NXP verbaut, der auch in vielen kontaktlosen Smartcard Readern zum Einsatz kommt. In Verbindung mit libnfc kann auf eine Vielzahl von Funktionen zurückgegriffen werden, die seit einigen Jahren kontinuierlich ausgebaut werden. Genau für diesen Zweck gibt es das mfocuino Projekt bei Google Code.Im folgenden sind die Schritte zum bauen unter Ubuntu beschrieben:

# get and extract libnfc
$ cd ~
$ wget http://libnfc.googlecode.com/files/libnfc-1.7.0-rc1.tar.gz
$ tar -xvzf libnfc-1.7.0-rc1.tar.gz
$ cd libnfc-1.7.0-rc1

# get and apply patch
# fkt nicht weil haendische gepatched:
# wget https://mfocuino.googlecode.com/svn/trunk/nfcreader/libnfc.uart.patch
# besser
$ wget http://mfocuino.googlecode.com/svn-history/r29/trunk/nfcreader/libnfc.uart.patch
$ patch -p0 < libnfc.uart.patch

#configure libnfc for PN532/UART
$ ./configure --with-drivers=pn532_uart --sysconfdir=/etc --prefix=/usr --enable-debug

#compile
$ make clean
$ make
#evtl im system installieren
$ sudo make install

#configure libnf
$ sudo mkdir /etc/nfc
$ sudo mkdir -p /etc/nfc/devices.d

# create: /etc/nfc/libnfc.conf
allow_autoscan = true 
allow_intrusive_scan = false 
log_level = 3 
device.name = "microBuilder.eu" 
device.connstring = "pn532_uart:/dev/ttyUSB0:115200"

#download arduino sketch
$ cd ~/sketchbook
$ mkdir uartnfc
$ cd uartnfc
$ wget https://mfocuino.googlecode.com/svn/trunk/nfcreader/arduino/uartnfc.ino
$ wget http://mfocuino.googlecode.com/svn/trunk/nfcreader/arduino/libraries/PN532/PN532.cpp
$ wget http://mfocuino.googlecode.com/svn/trunk/nfcreader/arduino/libraries/PN532/PN532.h
#compile / upload arduino sketch
#test 
$ LIBNFC_LOG_LEVEL=3 nfc-list

Note: Leider funktionieren nicht alle examples und utils mit dem NFC Shield, zb emulate.
Links:
Anweisung wie man libnfc mit mfocuino baut http://code.google.com/p/mfocuino/wiki/buildingLibNfc
Using libnfc with the PN532 (Linux) http://www.microbuilder.eu/blog/11-02-19/Using_libnfc_with_the_PN532_Linux.aspx