Smart and Autonomous parking.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
5.4 KiB

5 years ago
= Smart & Autonomous Parking
5 years ago
5 years ago
*_Authors_*
|===
| Ουλής Ευάγγελος | cs151051@uniwa.gr
| Ουλής Νικόλαος | cs161079@uniwa.gr
| Κατσίμπρας Δρόσος| cs131110@uniwa.gr
|===
5 years ago
// Metadata:
5 years ago
:description: IoT Εφαρμογή Smart & Autonomous parking
:keywords: IoT, parking, smart-parking , autonomous parking
:data-uri:
:toc: right
:toc-title: Πίνακας Περιεχομένων
:toclevels: 4
:source-highlighter: highlight
:icons: font
:sectnums:
5 years ago
== Smart Parking
5 years ago
*Η υλοποίηση χωρίζεται σε 3 βασικά μέρη:*
5 years ago
5 years ago
* Το 1ο μέρος αποτελείται από τα αντικείμενα του parking (sensors) τα οποία είναι
5 years ago
ένας αισθητήρας μέτρησης απόστασης (distance measurement sensor) σε κάθε θέση του πάρκινγκ, έτσι ώστε να ανιχνεύει για
μία συγκεκριμένη θέση έαν υπάρχει κάποιο όχημα, καθώς και μία συσκευή Arduino Uno.
5 years ago
* Το 2ο μέρος αποτελείται από την συσκευή gateway σε Raspberry Pi1 η οποία διαβάζει στη σειριακή
5 years ago
της πληροφορία από το Arduino Uno, που κάνει sense την θέση, και στέλνει αυτή την πληροφορία
σε έναν web server με χρήση REST API.
5 years ago
* Το 3o μέρος αποτελείται από τον client ο οποίος μέσω μίας web σελίδας βλέπει την κατάσταση
5 years ago
του parking, δηλαδή πόσες και ποιές θέσεις μέσα στον χώρο είναι ελεύθερες.
=== Parking Sensor Node
==== Υλικά Κόμβου
* 1 x Bread-Board
* 1 x Arduino Uno
* 1 x Red led
* 1 x Blue led
* 8 x links
* 1 x Ultrasonic Sensor
==== Υλοποίηση του Parking Sensor
Σε κάθε θέση parking υπάρχει ένας κόμβος απότελούμενος από ένα Arduino και έναν αισθητήρα
απόστασης (ultrasonic) εγκατεστημένος πάνω στο Arduino. Η λειτουργία αυτού βασίζεται στη
μέτρηση της απόστασης από τον κόμβο μέχρι κάποιο αντικείμενο (αυτοκίνητο) που εμποδίζει τη θέση του parking
και την εξαγωγή της κατάσταασης της αυτής της θέσης στη σειριακή θύρα του Arduino.
[.float-group]
--
[.left]
.Ο κόμβος αντιλαμβάνεται παρουσία οχήματος στη θέση.
image::Photos/arduino1.jpg[300,200]
.Ο κόμβος αντιλαμβάνεται κενή θέση.
[.right]
image::Photos/arduino2.jpg[300,200]
--
Ο κόμβος διαθέτει επιπλέον δύο leds ένα κόκκινο και ένα μπλε, σαν έξοδο της κατάστασης
της θέσης του parking για το οποίο είναι υπεύθυνος. Με κόκκινο χαρακτηρίζεται η θέση που είναι
δεσμευμένη από ένα όχημα και με μπλε η ελεύθερη θέση, όπως φαίνεται στις παραπάνω εικόνες.
==== Λειτουργία του Parking Sensor
Κάθε κόμβος στέλνει στην σειριακή του τον κωδικό της θέσης, με τον οποίο έχει προγραμματιστεί το Arduino,
και την κατάσταση του parking, κωδικοποιημένα με τον διαχωριστή "#". Για την κατάσταση του parking ορίζουμε
με "1" ότι η θέση είναι ελεύθεση και με "0" ότι η θέση είναι δεσμευμένη. Ο έλεγχος του sensor γίνεται κάθε
500ms. Η έξοδος στη σειριακή γίνεται με την μορφή ενός string
==== Διασύνδεση Κόμβου
Ο κόμβος αυτός συνδέεται με ένας "Gateway" κόμβο (βασισμένος σε Raspberry Pi) ο οποίος είναι υπεύθυνος για την
μετάδοση της πληροφορίας που αφορά την διαθεσιμότητα της θέσης του parking στο διαδίκτυο. Η πληροφορία αυτή
λαμβάνεται και αποθηκεύεται στον "Gateway" κόμβο.
=== Gateway Node
==== Υλικά Κόμβου
* 1 x Raspberry Pi 1
* 1 x Serial Link (Connects to Arduino)
* 1 x Power Link (Micro Usb)
* 1 x micro SD (Loaded with Raspbian OS)
* 1 x Ethernet Link (Connects to nearest Network)
==== Υλοποίηση και Προγραμματισμός
5 years ago
Εγκατάσταση του Raspbian OS στο Raspberry και δημιουργία ενός proccess σε γλώσσα python το οποίο διαβάζει
από την σειριακή θύρα του την πληροφορία που στέλνει το Arduino με την μορφή μίας συμβολοσειράς. Ύστερα αποκωδικοποιεί αυτή την πληροφορία η οποία περιγράφει τον κωδικό της θέσης και την διαθεσιμότητα της και την αποστέλει μέσω ενός API με την μέθοδο POST.
5 years ago
== Autonomous Parking
.Reminder
[NOTE]
5 years ago
SLOW SUCCESS BUILDS CHARACTER, FAST SUCCESS BUILDS EGO.