Maker Pro
Maker Pro

Key Dispenser Project

Krakkon

Aug 26, 2014
3
Joined
Aug 26, 2014
Messages
3
Hello there,

I am writing in this forum is because i want to see if the ideas i have for this project can be done and if it is possible, also i want to get help on where i can get the resources to do it.

As the topic says its a Key Dispenser, its main function is to manage the car keys distribution on a shop.

Here are the ideas:

1. Is it possible to input a table to the micro-controller using USB and the data is in form of a Excel Spreadsheet. "Data Base"

2. Is it possible to connect an android phone to a micro-controller, in which the serial number of the phone can be detected by the micro-controller and compared with another code in the data base, via USB port.

3. if the 2nd idea is it possible, is it possible to have multiple phones connected to the same micro-controller, in which the same operation can be done "the comparing", up to 10 phones

i totally understand that that i am not sharing the whole project with you and i am only sharing the ideas, but i believe from the ideas you can tell how the device works ^^

please feel free to ask as i really need help, please and thank you.

PS: please post your sources for your answer so i can use it as a reference.
 

Gryd3

Jun 25, 2014
4,098
Joined
Jun 25, 2014
Messages
4,098
1. Yes, but you will need to write custom software on the micro controller to parse a spreadsheet file format. (preferably a plain text based file like .csv)
You can also write custom host software on the PC to export a custom file to the micro-controller.

2. Yes, you could identify the MAC address from the phone via Bluetooth or Wifi. A phone has many unique identifiers, so if you will access the system from multiple methods, you need a way to tie in the the devices unique ID from it's various access methods together so you know it's the same phone. You can also build a custom app for the android device to assist in this.

3. Yes, but this is heavily dependant on the program you have running on the micro controller.


Microcontrollers can deal with plain text data and can be supplied via bluetooth or wifi transceivers. These devices will deal with the nitty-gritty part and simply talk to the micro using serial data.
Look for Android ID. There are many sources available to determine the unique ID for an Android device. Some methods can be easier to spoof (fake) than others, so if it is very security intensive, multiple methods may need to be employed.
 

Krakkon

Aug 26, 2014
3
Joined
Aug 26, 2014
Messages
3
Hey Gryd3,

Thanks for the reply, can you recommend a book or 2, or few that cover the 3 ideas.

cheers
 

Gryd3

Jun 25, 2014
4,098
Joined
Jun 25, 2014
Messages
4,098
unfortunately, I cannot.
The information I have has been gathered from a very wide range of sources over the years.

If you plan to build a finished product yourself, you have a lot of reading ahead of you, otherwise if you going to build a prototype, it may be worth cutting some corners.
Instead of using a PIC, AVR, or other microcontroller, you could possibly cut down on development time by using a RaspberryPi or Beaglebone. They run Linux and as such will be pretty easy to program for numbers 1,2,3.

You could build a web-based app using PHP, javascript, whatever really. You could then prompt for a username/password or rely on the MAC address of the phone accessing it. This would allow iPhones and other devices to use the dispenser.


How much experience do you have with microcontrollers, programming and with electronics?
Do you plan to build this or pitch the idea?
 

Krakkon

Aug 26, 2014
3
Joined
Aug 26, 2014
Messages
3
i do not have a lot of experience as i am a recent graduate for a college, i have some experience on the 3 areas and i believe with some reading and researching i can get to build it.

i am in the process of pitching the idea 1st to my boss's boss's boss, or lets just say the big boss

but eventually i want to be in the process of building it.

any ideas will be much appreciated ^^

cheers
 

Gryd3

Jun 25, 2014
4,098
Joined
Jun 25, 2014
Messages
4,098
Well..

You have a wide variety of items to use. Depending on the device in question you can use;
A small computer and use Windows/Linux/whatever,
An SoC (System on a chip... like the raspberryPi or similar product. You are limited on pre-made software, but they are incredibly small and low-powered and can usually be easily connected to sensors, motors, etc.)
A Microcontroller like a PIC, AVR, etc. A micro controller will be even more restricting on pre-made software. Creating a program on a microcontroller to allow Excel documents or other spreadsheet formats will be a bit of a chore in itself. I would only suggest this option if you had another device to manage user credentials and such and used the microcontroller for the actual control for dispensing the key.

As you move down the list, the devices become more basic, which will grant more control over exactly how they operate... but will require exponentially more work to do simple tasks with complex date that the devices higher on the list are already built for or already have software for.

You are not limited to one solution either. You can mix and match and have multiple 'brains' working in parallel to get your task done.
You could have a central database for all of the users if multiple 'dispensers' will be used in more than one branch for example.

Once you have picked a brain, you will need to figure out a front-end or communication method with your desired user base.
It seems as though you already have your mind set on using a smart phone, you could also employ the use of RFID tags or stickers. (Same thing used in car immobilizers)
You need a way to ID the user though.
You can use the MAC address for a phone accessing the device via WiFi or Bluetooth. (Possible to spoof this)
There is alternative ID available on the device IF you make a custom app for Android or iPhone to pass it to your dispenser.
You could use a Username/Password combo.
You could use any and all combinations.
You could set this up for white-list or black-list use. White-list use would REQUIRE that any device must be registered first prior to using the dispenser. The user must re-register if they change their device

You can decide what devices are allowed to use the dispenser... do you want to limit it to iPhones and Android?
You need software next...
You can make device specific software, but will require that you build and maintain the software for every and all devices you wish to allow access to the dispenser.
You can make a generic all device friendly web-page that is hosted by the dispenser (This can be available on the internet, or only available on the shop's WiFi)

The next step is mixing the brain and software parts together. Careful consideration should be made... I only have a vague idea of your project so cannot provide specifics... but if you plan to use a phone for ID and spit out a key or allow the user to select a key... I would probably use a microcontroller to select the key and dispense it, but I would use a linux based device like an SoC or small computer (space permitting) to handle authenticating users.
I would most likely use WiFi in the shop to provide private access to the webpage that the dispenser is hosting and require a username/password combo. I would restrict access to the dispenser with a white-list of MAC addresses for phones/laptops/tablets that are trusted. I could also just protect the shop WiFi with a strong WPA2 password and forget about MAC filtering. The webpage should use secure http, do make things slightly harder to spy on. Once logged in, the webpage would allow the user to select a key. The SoC or computer would send a signal to the microcontroller (if it couldn't do it by itself) to move the mechanical components to select and dispense the key.


This is a big project, and will need to be worked on piece by piece, and remember that no wireless communication methods are safe. You can make it more difficult to get into by using multiple security methods, but they can all be faked, hacked, guessed and bypassed. You can only make it more difficult to get into, and if it does not seem worth the effort, it will be left alone.
 
Top