lets start with your budget. How much do you want to spend for your gate controller? For about $400, you could put together a low end linux pc. For less, you could use a small sbc running linux. I'd use either a serial, usb or ethernet connection. Reading the tag reader is a piece of cake. Atmel has a really cheap little card based on the avr32 which has uClinux already installed - ngw100. I think it's like $75. You could build a PIC based system for less but I like the using linux since all the file system, communications, and so on is done. all you have to do is the application.
The gate manager is pretty simple, it just sits in a loop waiting for fob input. Use a simple flat file for the members fob data. An entry would look something like this
Code:
char member_name[64];
uchar permissions;
int fob_num;
When you get a valid fob number on the reader, scan the file for a match. If permissions says "ok", do your thing, what ever it is. I would log all attempted accesses. Don't put the fob numbers into the source code. that's the worst way to do it. Your basic program looks like this in C
Code:
while(TRUE){
fob_num = get_fob_data(); // wait for data from reader
if(valid_fob(fob_num)) {
open_gate();
log_fob(fob_num, VALID);
} else
log_fob(fob_num, INVALID);
}
You should be able to write down (or capture) all the fob numbers so recalls aren't necessary. In fact, your PC database should have the fob number and who it is assigned to. Then to update the member file in the controller, print a special report form that is exactly the flat file format. Then just upload it to the controller.
If you have networking available, then a lot of cool new features become possible.