Unique ID system for cashless catering + more, need some guidance.

Hi,

So I have little to no knowledge of Arduinos or programming, but have taken this on as a school project. I am looking to create a unique ID system for use within a school or office. The idea is the Arduino would read the ID, you would scan your product, and then purchase it from money on your account.

I've looked into RFID tags and that would ideally be the framework for the system, however I'm not sure if I can write data, like the account balance, to the tag. So whenever someone buys something, the Arduino would ID the person, then subtract the total from the account balance, which is stored on the tag, and then write the new balance back on the tag. Even if it is possible, it seems to me that this might not be the best way of doing things, but because of my limited programming knowledge I don't know of any other way, so some help on that would be great.

Thanks for any replies!

Tom

I'm not sure if it is practical to do all that you describe with an Arduino.

I know very little about RFID but my limited understanding is that the tags just provide an ID and don't have data storage capacity.

If the amount of data you need to store is not too large you may be able to save it in a file on an SD Card attached to the Arduino. But if you need to do any complex processing or store a lot of data you probably need a PC running in the background with the Arduino just providing the card reader interface. With money involved you also probably need the easy backup and security that a PC offers.

...R

"Data Blocks as "Value Blocks"
An alternative to storing random data in the 16 byte-wide blocks is to configure them as "Value Blocks". Value blocks allow performing electronic purse functions (valid commands are: read, write, increment, decrement, restore, transfer)."

Just found this, which I think is what I want to do, but don't really understand the code they use.

Those cards look as if they should be suitable.

They seem to have a code library for using their card reader. I imagine that will give you an insight into how they are programmed.

...R

Is your system going to make it possible for people to spend real-world money?

Given you limited experience i would not suggest you try.
Concentrate on methods that use the uid of the card.

There is an awful lot of complicates "stuff" you need to understand before you can start with e wallets.
The app notes and data for the pn532 reader chip is several hundred pages.
This is probably the most common chip.

The libraries help , if you wish to t go that route i would suggest googling github for dons ndef library.
I find it one of the easier ones to use, also ndef tags can be read and written to by readily available android apps on some smartphones.

You may find cheap readers for £3 or so, they normally use the pn522 which can only read the uid.

http://forum.arduino.cc/index.php?topic=239225.0

PeterH:
Is your system going to make it possible for people to spend real-world money?

Well not really, the system wouldn't be put in practice if thats what you mean. As long as I can show a way to put money on an account (even if thats manually entering it in).

Yes I'm out of my depth, thats kinda the point. This is not a quick weekend project, this is a course that requires a large amount of independent research, keeping logs of my process. I'm aiming to have the build done be september, and I'm learning to code in C at the same time. Even after a few tutorials its making some example code easier to read.

What I really need now is some advice on which arduino to get, ( with the premise that I want to expand in the future). As of now I'd need to connect the RFID shield, barcode scanner, lcd screen (theoretically, although I'll probably just display it on my laptop through serial (I think??)), and some other bits like led's and a buzzer, not completely sure yet.

Thanks for your advice!

Tom

dathtom:
Well not really, the system wouldn't be put in practice if thats what you mean.

That's exactly what I mean. Doing this to create a mock-up is fine. If you were going to have paying customers having real money at stake that would be a much more alarming prospect.

PeterH:
...

Do you think I'll need to get the mega over the uno for a project like this, especially if I want to expand it?

dathtom:
Do you think I'll need to get the mega over the uno for a project like this, especially if I want to expand it?

You'll need to get into specific details of the RFID scanner and display devices you plan to use to work that out. At the moment I'm not sure why you're considering Arduino at all - wouldn't it be easier to use a USB RFID reader and implement your project entirely on a PC, where you have access to databases, windows based user interfaces, secure comms and so on?

PeterH:
You'll need to get into specific details of the RFID scanner and display devices you plan to use to work that out. At the moment I'm not sure why you're considering Arduino at all - wouldn't it be easier to use a USB RFID reader and implement your project entirely on a PC, where you have access to databases, windows based user interfaces, secure comms and so on?

Yes I imagine it would be, but the purpose of the project is for me to gain experience in electronics (and related programming). It's not really about the end product, its more about the learning process and this is much better for my degree aspirations.

I'm looking at using this reader (just because it seems to have the most information about it and example code) - http://proto-pic.co.uk/adafruit-pn532-nfc-rfid-controller-shield-for-arduino-extras/

I was thinking that I'd leave a screen out and just output it to my computer (really a cost thing), but I'd be looking at using a barcode scanner and maybe someway to connect to the internet. (But this could change, I'm not 100% sure yet)