I want to ask for opinions on the following case:
Current:
A dance instructor sells cards to the participants of his class. A card allows you to attend 10 classes. Before every class the participants show their card and the instructor ticks off one square meaning they have 1 class less they can attend.
There's also 1 year subscriptions available.
Future:
Participants buy a token/card with which they check in before a class. An access control system checks their badge/token for validity. The system calls a web service to check if the participant is allowed to attend the class or if he needs an extension. If he needs an extension, the user pays the instructor who in turn extends the participiant's subscription.
Requirements:
- Portable system: The instructor is holding his courses at different locations
- Automatic check-in: Using some kind of tag/token/card/nfc/etc
- Internet connection: To validate the users token and to report that a user entered the class
- Visual feedback:
Participant enters. - Token ok -> leds light green and a beep
- Token not ok -> leds light red and a beep
- Only a few entries left -> leds light orange and a beep
- It should also show somehow the numbers of entries left
[/li]
-
Portable system*
I saw this on ebay. A box for an UNO plus one shield. Could be powered through Arduino's power plug. -
Automatic check-in*
I like the RFID approach and thought of buying this RFID reader and these tags. -
Internet connection*
-
Wifi shield or LAN shield is not feasible as it is not sure if there is Wifi or LAN available at all the course locations.
-
GSM shield. Googled around but thought it was quite complicated. Not sure how easy it would be to program a web client using the GSM shield.
-
Connect the UNO to a laptop via USB and do a serial connection to the laptop: Don't like the idea of bringing a laptop to the places just for an internet connection. Also the laptop might be unattended for a while (and close to the entrance/exit) which could be tempting to be stolen.
-
Use bluetooth. As mentioned before a laptop is out the question. The other option would be creating an Android app which would talk to the Arduino.
-
Visual feedback*
-
Another thing I don't like about the GSM shield would be the lack of feedback provided to the user. Lots of complex logic on the Arduino. And what happens if Arduino can't make a connection via GSM?
-
Using an Android app that talks to Arduino via bluetooth. Arduino would only read the tokens (RFID) and send this data to Android where the more complex logic lies. Arduino would get a feedback and notify the user via LEDs and beeps. (And maybe via LCD or some other tiny display.) The instructor could also extend participants' membership via app.
As you can see, the Android approach is my favourite. Also because it can provide an additional GUI to just LEDs and beeps.
What gives me a headache though is that the phone needs to be in range with the box (around 10m/30feet). So these two easy moveable pieces would be next to the entrance/exit and unattended at most times.
I thought I could add a sensor to the box that triggers an alarm if it gets moved. The alarm would get activated/deactivated through the android app.
Or I could add a kensington lock style cable to the box and attach it to a table.
Any thoughts on an anti theft system?
What do you guys think about the bluetooth <-> Android <-> Internet connection? Any other way to get an internet connection?
What about the RFID reader/tags? Do you think that's a good idea?
Any feedback appreciated!