Hi everyone!
I'm new to the forum, as well as the world of Arduinos and programming (though I have some very limited experience with the latter).
I'm from Hungary, and recently, there has been a scandal in the media about how the government public transport company spent tens of millions of forints to research the feasibility of an RFID pass system, as well as developing the systemwith no results after a year, despite the funds being poured into the project.
Since I have read about the variety of tasks an Arduino can perform, I was just a bit pissed off at them having come up with nothing in a year and so much money. So I thought: why not give them a run for their money, and come up with something myself.
What I thought about was something like the following.
The system needs at least one Arduino with at least two shields plugged into it. As far as I know, there are 'shield splitters', which can be used to achieve this. One of the shields would be an RFID shield, to read a serial number off the RFID passes (very simple cards, with only a serial number as their payload).
These would be transmitted along a network connection, either via a CAT5 or WLAN shield, to a server at each subway station. These forward the serials to a central server, storing all the serial numbers, and a record of the balances associated, in a database. The server then looks up the sent serial, and charges the card by deducting the appropriate amount from the balance. If the remainder is positive, it sends back a TRUE response, if not, a FALSE.
The computer at each station parses these responses, and send, say, a 1 if the response was TRUE, a 0 if the response was FALSE. If the Arduinos can handle THREE shields, the thrid would be a servo, which, upon the chip receiving a 1, would turn the turnstiles, letting the passanger through. On receiving a 0, the chip would sound some sort of alarm (possibly a klaxon via a different motor on the shield), alerting the conductors. If not, the motors could probably be controlled by a second Arduino, on the same principle.
Without knowing the probable extra costs, I would say a system like this could be implemented with a far smaller cost, then whatever convoluted (and essentially flawed) system our developers come up with, as their objective seems to be driving up costs and prolonging development time, rather than delivering a functional system. At least experience shows that...
Now, this is just my novice idea, and my question would be whether this can be made to work, or if you have any thoughts/suggestions on this matter, I would be glad to hear them.
Thank you in advance!