Time to plug the modules together: apart from the MicroRWD module (and the mbed), nothing fancy is used and the design remains pretty simple.
So basically the BOM is:
- An mbed
- A MicroRWD Mifare module + custom antenna or devkit
- An Ethernet socket
- An SD card socket (optional) if you want to log data locally as well
- A BC337 (or any equivalent NPN transistor), a 10K resistor, a button and a standard 8 Ohms speaker
- A bunch of Mifare or ISO14443A-3 compliant cards
Schematics
.png)
The Design

Configuring the program
The program to import is http://mbed.org/users/donatien/programs/RSEDP_DPDemo/.
You can find some parameters to configure in the Config_Common.h and Config_Impl.h files.
You will have to setup your SQL server parameters here, whether you want to use the SD card logging as well, and the location ID for this board.
Trying it out
Compile the program, plug your RJ45 cable into the socket and can give it a go.
You should be able to see some debug output through the mbed virtual serial port interface (at 115200bps).
The network connection is configured through DHCP so you must have a DHCP server running on your network (which is usually the case even if you don't know it...).
At the start, the mbed will get the current time from a NTP server and updates the RTC accordingly.
When it's up and running get a card close to the reader. Upon the read you should hear a beep from the speaker, and a second one shortly afterwards indicating that this event has been logged successfully to the MySQL server.
Meanwhile, you can access the database and see the updates.
To close everything nicely, just press the button.
Database update

Other posts in this series:
1. Introduction
2. Using an RWD module to read Mifare cards IDs
3. Logging data on a MySQL server
4. Putting it all together