Hi everyone. I am thinking to do a basic parking system for one car and I’d be grateful if somebody could confirm that it can be done with Arduino Uno + shields, and help me choose the right tools before I purchase them. It’ll work like this:
1) Check if a car is parked in the parking space. I suppose this can be checked with an SR04 Ultrasonic Sensor.
2) The driver should confirm that he/she is eligible to park there by two means:
a) Using an Android smartphone via Bluetooth to let Arduino know that he/she can indeed park there. I’m thinking an HM-10 module for this.
b) Have an ibeacon in the car. Arduino will scan for the ibeacon and if the right one is detected it will accept the parking. Again I’m thinking to use an HM-10 module for this (do I need an extra one for this or can one HM-10 module do step a and b in the same time?). Will http://accent-systems.com/product/ibks-105/ ibeacon work with the above?
3) If driver is not eligible to park there, a LCD monitor will let him/her know that.
4) If the driver does not remove the car after lets say 5 minutes, Arduino will send a message via Wi-Fi (it will be connected to a wireless network) to an Android smartphone connected to the same wireless network. From what I read ESP8266 seems a good choice for this.
5) Receive some information (a short sentence from the cloud, a database?) about traffic news and display them on the LCD). Can this be done with ESP8266?
6) Display temperature, current time and humidity on the LCD.
Is Arduino capable of doing all these? Do you have any suggestion about the modules I’m thinking to use? Something else I'll need (breadboards, solder iron...)? Should I look elsewhere? Thank you very much for your help.
yes you can do all that.
just get the pieces and start getting them talking.
once you have some of them working together, more questions will come up, but some answers will reveal themselves.
The LCD you mentioned is in the car or fixed near the parking lot, so a random (unauthorized) driver could read it's messages?
Which raises another question, does (s)he likes to enter the parking spot with the front or with the back?
Thanks for your replies. The LCD will be fixed near the parking lot (and the Arduino), and I don't think it's a problem if a random driver can read it, actually part of the plan is the LCD to let the unauthorized driver know that he/she cannot park there, at the same time letting know an authorized driver that he can do so. Security issues (stealing it etc) won't be a problem either. Regarding the position of the car, mostly it'll be with the front. But now that you mention it, maybe I should put some sound alert based on the situation.
So you think I should go ahead and buy the exact modules I listed above? Reading around I haven't been able to confirm that all this will work with commercial ibeacons, some people refer success with an ibeacon based on the HM-10 module, but no one with commercial ones (like the one I mention above). Another issue I'm not sure about is if the Android smartphone will needed to be paired beforehand via bluetooth with Arduino or it can work without doing so? Thank you for any input on my project, I'm new to all these, I'm searching around, but sometimes things are not clear to me, especially since I don't own an Arduino atm.
From usability point of view it makes more sense to just identify driver's phone via a bluetooth or wifi than to install anything on a car.
But that depends on what you actually want to authorize - certain drivers with any car or certain cars with any driver? Or a (messy) mixture of both?
I want the driver to have two choices to confirm that (s)he is authorized (there is a possibility that I'm thinking the wrong way about this, please bear with me). Either to have a simple app on Android through witch to let Arduino know that (s)he is authorized or to have an ibeacon inside the car witch will do the same, without the driver doing anything. Either way is fine with me, no need to use both of them, but I'll like the driver to have the choices.
Identifying the drivers phone can be a problem because I suppose I'll need information about the phone, and beside privacy I may not have access to that information. There may be other more simple ways to do all these, I'm open to any suggestions. Thanks.
Another issue I'm not sure about is if the Android smartphone will needed to be paired beforehand via bluetooth with Arduino or it can work without doing so?
Well.. yes and no. It can scan for available nearby devices and get their factory-set 48 bit IDs. If you have a list of allowed IDs they don't need to be paired, it can just see an allowed ID from a restricted list is in proximity and consider is a valid car. But it still requires a (hopefully) simple procedure to find what bluetooth id has a phone and save it in the list.
But that will assume the driver's phone has bluetooth enabled. The LCD screen (that I understand is a big LCD monitor or TV, not a 2inch arduino-attached screen) should tell driver to either leave or activate bluetooth for identification.
Wonder how frustrating an empty phone battery would be 
If you want some kind of lease of the parking lot and is acceptable for driver to download a small app, there is no other privacy issue than the app requiring a time-limited password then pairing with parking lot's bluetooth whenever it can.
Bluetooth ID codes are not private,these are advertised for the purpose to make possible connecting. Passwords - different for each device are private.
You don't mention anything about how to stop the unauthorized user from parking anyway.
But, Are you possibly overthinking the 'problem' (assuming that this is not a school assignment with specifications)? why not just issue the 'authorized user' a NF RFID token and read that at attempted entry?
Cheaper, simpler, and leaves more room to code your additional items (traffic, weather, date & time???).
But for me, trying to avoid installing an app on the phone is desirable. Mabe because some users prefer Iphone, then.. bleah.
If you want them to have a physical token, let's say IBeacon based I would worry about battery life. You now if people using RFID tokens to unlock a door would have to charge them, it would become quite cumbersome. Even plugging the token in the cigarette lighter sounds cumbersome.
It depends a lot of what the bigger puzzle where this app fits in.
From what I know, it can be a city or country-wide parking lot expensive leasing service where people could buy parking space on any of company's available lots. In this case having tokens delivered by DHL is cumbersome.
If it's a single company's management of it's own parking lots, then is a different case.
If it's just you annoyed of finding your expensive lot so often occupied is another different case.
123Splat:
You don't mention anything about how to stop the unauthorized user from parking anyway.
He mentioned an alert being sent, that could easily notify security personel. Since he doesnt worry about the LCD monitor being stolen, I bet there is some enforced security.
But, Are you possibly overthinking the 'problem' (assuming that this is not a school assignment with specifications)?
why not just issue the 'authorized user' a NF RFID token and read that at attempted entry?
Cheaper, simpler, and leaves more room to code your additional items (traffic, weather, date & time???).
That is a good question, it seems there-s a restricted entry. If it's a generic application however, to be deployable on any restricted and/or payed parking lots, then having to deal with each possible access method could be a problem.
Sorry guys I didn't mentioned earlier but indeed this is for a uni project. The specifications are not set in stone but I need to do something that will work in a live demonstration and under different scenarios.
The driver will agree to install the app, so it'll be best if the android app would scan for Arduino and upon finding it will let it know that it's authorized (is this possible?). Using ibeacons would be nice also for the scope of the topic I'm working at.
I don't know how NF RFID token works, will search around to see if they would do what I need.