From 11a10149bed4b8d8757183fdd54c078a1a0db31b Mon Sep 17 00:00:00 2001
From: Evangelos Oulis
Date: Fri, 3 Jan 2020 12:17:44 +0200
Subject: [PATCH] Update v1.2
---
.README.md.swp | Bin 0 -> 12288 bytes
README.md | 2 +-
project.adoc | 45 +++++++++++++++++++++++++++------------------
project.html | 49 +++++++++++++++++++++++++++++++------------------
4 files changed, 59 insertions(+), 37 deletions(-)
create mode 100644 .README.md.swp
diff --git a/.README.md.swp b/.README.md.swp
new file mode 100644
index 0000000000000000000000000000000000000000..068c8d1d2e8bcae9f4080a1be61d036a77897ae0
GIT binary patch
literal 12288
zcmeI2y>1gh5XU!k6bTWuK^llem9rBNQlPW23j=m6CxHTiH1X}(E8p#$cJ~~)f#-k{
zTIhHIo`pBy37GWAWH>R{t3D|gpqa{j0gTA8*#^Gy&{mn6(itrUaBP4xNL2w9GPob;w)6mwjZF#=rHWVIeO
zKB^0iioKnG3;+l5Og^+GXoor{zq6R=nla@V$Imdt5;}fenvOhqUVj)**2BFRXYsNv
HtFC?mw;K@i
literal 0
HcmV?d00001
diff --git a/README.md b/README.md
index 9db2ef6..316a5ed 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
- At folder sensorNode/ there is the Arduino code that sense the parking position sta--tus
and send it via serial port the information if there is a car or no.
-- At folder iNode/ there is the application that runs on Raspberry Pi, get
+- At folder gatewayNode/ there is the application that runs on Raspberry Pi, get
the information from Arduino and post it to REST-API as JSON.
- At folder webInterface/ there is an html page that provide the parking status simply get
diff --git a/project.adoc b/project.adoc
index 78f3aa9..eb7e486 100644
--- a/project.adoc
+++ b/project.adoc
@@ -14,7 +14,7 @@
// Metadata:
:description: IoT Εφαρμογή Smart & Autonomous parking
-:keywords: IoT, parking, smart-parking , autonomous parking
+:keywords: IoT, parking, smart-parking, autonomous parking
:data-uri:
:toc: right
:toc-title: Πίνακας Περιεχομένων
@@ -24,18 +24,25 @@
:sectnums:
== Smart Parking
+Το "Smart Parking" Έξυπνο πάρκινγκ βασίζεται στη διαδικασία όπου η κατάσταση του πάρκινγκ κοινοποιείται
+μέσω ενός συνόλου hardware και software στο διαδίκτυο και έτσι πετυχαίνουμε η κατάσταση του να είναι διαθέσιμη
+"accesable" από το διαδίκτυο. Αυτό το χαρακτηριστικό κάνει αυτό το αντικειμένο μέρος του διαδικτύου και του κόσμου IoT.
-*Η υλοποίηση χωρίζεται σε 3 βασικά μέρη:*
+*Η υλοποίηση του Smart Parking χωρίζεται σε 3 βασικά μέρη:*
-* Το 1ο μέρος αποτελείται από τα αντικείμενα του parking (sensors) τα οποία είναι
-ένας αισθητήρας μέτρησης απόστασης (distance measurement sensor) σε κάθε θέση του πάρκινγκ, έτσι ώστε να ανιχνεύει για
-μία συγκεκριμένη θέση έαν υπάρχει κάποιο όχημα, καθώς και μία συσκευή Arduino Uno.
+* Το 1~ο~ μέρος αποτελείται από ένα σύνολο αισθητήρων που εγκαθιστούντε σε κάθε θέση parking (sensor), τα οποία αποτελούνται
+από έναν αισθητήρα μέτρησης απόστασης (ultrasonic) και έναν μικροελεγκτή (Arduino Uno), έτσι ώστε να ανιχνεύει και να κωδικοποιεί
+για μία συγκεκριμένη θέση έαν υπάρχει κάποιο όχημα ή όχι.
-* Το 2ο μέρος αποτελείται από την συσκευή gateway σε Raspberry Pi1 η οποία διαβάζει στη σειριακή
-της πληροφορία από το Arduino Uno, που κάνει sense την θέση, και στέλνει αυτή την πληροφορία
+* Το 2~ο~ μέρος αποτελείται από την συσκευή gateway σε Raspberry Pi1, η οποία διαβάζει στη σειριακή του
+τη πληροφορία από το Arduino Uno, που κάνει sense μία θέση parking, και στέλνει αυτή την πληροφορία
σε έναν web server με χρήση REST API.
-* Το 3o μέρος αποτελείται από τον client ο οποίος μέσω μίας web σελίδας βλέπει την κατάσταση
+* To 3~o~ μέρος αποτελείται από τον WEB Server ο οποίος αποτελείται από ένα process γραμμένο σε python που υλοποιεί
+ένα REST API έτσι ώστε να μπορεί να αποθηκεύει την κατάσταση κάθε θέσης parking σε μία δομή λίστας με χαρακτηριστικό
+κλειδί τον κωδικό κάθε θέσης parking.
+
+* Το 4~o~ μέρος αποτελείται από την διεπαφή (Interface), με την οποία μέσω web σελίδας βλέπει κανείς την κατάσταση
του parking, δηλαδή πόσες και ποιές θέσεις μέσα στον χώρο είναι ελεύθερες.
=== Parking Sensor Node
@@ -66,19 +73,21 @@ image::Photos/arduino2.jpg[300,200]
--
Ο κόμβος διαθέτει επιπλέον δύο leds ένα κόκκινο και ένα μπλε, σαν έξοδο της κατάστασης
-της θέσης του parking για το οποίο είναι υπεύθυνος. Με κόκκινο χαρακτηρίζεται η θέση που είναι
+της θέσης του parking για τον οποίο είναι υπεύθυνος. Με κόκκινο χαρακτηρίζεται η θέση που είναι
δεσμευμένη από ένα όχημα και με μπλε η ελεύθερη θέση, όπως φαίνεται στις παραπάνω εικόνες.
==== Λειτουργία του Parking Sensor
Κάθε κόμβος στέλνει στην σειριακή του τον κωδικό της θέσης, με τον οποίο έχει προγραμματιστεί το Arduino,
και την κατάσταση του parking, κωδικοποιημένα με τον διαχωριστή "#". Για την κατάσταση του parking ορίζουμε
με "1" ότι η θέση είναι ελεύθεση και με "0" ότι η θέση είναι δεσμευμένη. Ο έλεγχος του sensor γίνεται κάθε
-500ms. Η έξοδος στη σειριακή γίνεται με την μορφή ενός string
+500ms. Η έξοδος στη σειριακή γίνεται με την μορφή ενός string.
+
+<κωδικός θέσης>#<διαθεσιμότητα 0 ή 1>
==== Διασύνδεση Κόμβου
Ο κόμβος αυτός συνδέεται με ένας "Gateway" κόμβο (βασισμένος σε Raspberry Pi) ο οποίος είναι υπεύθυνος για την
μετάδοση της πληροφορίας που αφορά την διαθεσιμότητα της θέσης του parking στο διαδίκτυο. Η πληροφορία αυτή
-λαμβάνεται και αποθηκεύεται στον "Gateway" κόμβο.
+λαμβάνεται στον "Gateway" κόμβο οποίος στη συνέχεια την αποκωδικοποιεί και την αποστέλει στον WEB server μέσω του διαδικτύου.
=== Gateway Node
@@ -90,10 +99,10 @@ image::Photos/arduino2.jpg[300,200]
* 1 x Ethernet Link (Connects to nearest Network)
==== Υλοποίηση και Προγραμματισμός
-Η υλοποίηση αποτελείται από την εγκατάσταση του Raspbian OS στο Raspberry και δημιουργία ενός proccess
-σε γλώσσα python το οποίο διαβάζει από την σειριακή θύρα του την πληροφορία που στέλνει το Arduino με
-την μορφή μίας συμβολοσειράς. Ύστερα αποκωδικοποιεί αυτή την πληροφορία η οποία περιγράφει τον κωδικό της θέσης
-και την διαθεσιμότητα της και την αποστέλει μέσω ενός API με την μέθοδο POST σε έναν WEB Server.
+Η υλοποίηση αποτελείται από την εγκατάσταση του Raspbian OS στο Raspberry και τη δημιουργία ενός proccess
+σε γλώσσα python το οποίο διαβάζει από την σειριακή θύρα του την πληροφορία που λαμβάνει από το Arduino με
+την μορφή <κωδικός θέσης>#<διαθεσιμότητα 0 ή 1>. Ύστερα αποκωδικοποιεί αυτή την πληροφορία η οποία περιγράφει τον κωδικό της θέσης
+και την διαθεσιμότητα της και την αποστέλει μέσω ενός REST API με την μέθοδο POST σε έναν WEB Server.
==== Διασύνδεηση στο Διαδίκτυο
Ο κόμβος Gateway έχει διασύνδεση με το διαδίκτυο μέσω ενός καλωδίου Ethernet (UTP) έτσι ώστε να μπορέσει
@@ -105,12 +114,12 @@ image::Photos/arduino2.jpg[300,200]
να μάθει μέσω του διαδικτύου το "Status" του parking και να παρκάρει στην 1η διαθέσιμη θέση εφ' όσων
υπάρχει μία τουλάχιστων διαθέσιμη θέση στον χώρο στάθμευσης.
-*Η υλοποίηση χωρίζεται σε δύο βασικά μέρη.*
+*Η υλοποίηση του αυτόνομου parking χωρίζεται σε δύο βασικά μέρη.*
-* Το 1ο μέρος αποτελείται από τον μικροελεγκτή για τον έλεγχο των αισθητήρων και των κινητήρων του οχήματος και
+* Το 1~ο~ μέρος αποτελείται από τον μικροελεγκτή για τον έλεγχο των αισθητήρων και των κινητήρων του οχήματος και
εκτελώντας τα απαραίτητα βήματα, να μπορέσει να παρκάρει το όχημα.
-* Το 2ο μέρος αποτείται από τον κόμβο ο οποίος θα έχει πρόσβαση στο διαδίκτυο, ο οποίος αφού ελέγξει αν υπάρχει
+* Το 2~ο~ μέρος αποτείται από τον κόμβο ο οποίος θα έχει πρόσβαση στο διαδίκτυο, όπου αφού ελέγξει αν υπάρχει
διαθέσιμη θέση και γνωρίζει ποια είναι η πρώτη ελεύθερη θέση, να δώσει εντολή στον μικροελεγκτή να παρκάρει σε αυτή.
=== Microcotroller and Car
diff --git a/project.html b/project.html
index 3b9c34c..6f64f4f 100644
--- a/project.html
+++ b/project.html
@@ -472,22 +472,32 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
1. Smart Parking
-
Η υλοποίηση χωρίζεται σε 3 βασικά μέρη:
+
Το "Smart Parking" Έξυπνο πάρκινγκ βασίζεται στη διαδικασία όπου η κατάσταση του πάρκινγκ κοινοποιείται
+μέσω ενός συνόλου hardware και software στο διαδίκτυο και έτσι πετυχαίνουμε η κατάσταση του να είναι διαθέσιμη
+"accesable" από το διαδίκτυο. Αυτό το χαρακτηριστικό κάνει αυτό το αντικειμένο μέρος του διαδικτύου και του κόσμου IoT.
+
+
+
Η υλοποίηση του Smart Parking χωρίζεται σε 3 βασικά μέρη:
-
-
Το 1ο μέρος αποτελείται από τα αντικείμενα του parking (sensors) τα οποία είναι
-ένας αισθητήρας μέτρησης απόστασης (distance measurement sensor) σε κάθε θέση του πάρκινγκ, έτσι ώστε να ανιχνεύει για
-μία συγκεκριμένη θέση έαν υπάρχει κάποιο όχημα, καθώς και μία συσκευή Arduino Uno.
+Το 1ο μέρος αποτελείται από ένα σύνολο αισθητήρων που εγκαθιστούντε σε κάθε θέση parking (sensor), τα οποία αποτελούνται
+από έναν αισθητήρα μέτρησης απόστασης (ultrasonic) και έναν μικροελεγκτή (Arduino Uno), έτσι ώστε να ανιχνεύει και να κωδικοποιεί
+για μία συγκεκριμένη θέση έαν υπάρχει κάποιο όχημα ή όχι.
-
-
Το 2ο μέρος αποτελείται από την συσκευή gateway σε Raspberry Pi1 η οποία διαβάζει στη σειριακή
-της πληροφορία από το Arduino Uno, που κάνει sense την θέση, και στέλνει αυτή την πληροφορία
+
Το 2ο μέρος αποτελείται από την συσκευή gateway σε Raspberry Pi1, η οποία διαβάζει στη σειριακή του
+τη πληροφορία από το Arduino Uno, που κάνει sense μία θέση parking, και στέλνει αυτή την πληροφορία
σε έναν web server με χρήση REST API.
-
-
Το 3o μέρος αποτελείται από τον client ο οποίος μέσω μίας web σελίδας βλέπει την κατάσταση
+
To 3o μέρος αποτελείται από τον WEB Server ο οποίος αποτελείται από ένα process γραμμένο σε python που υλοποιεί
+ένα REST API έτσι ώστε να μπορεί να αποθηκεύει την κατάσταση κάθε θέσης parking σε μία δομή λίστας με χαρακτηριστικό
+κλειδί τον κωδικό κάθε θέσης parking.
+
+-
+
Το 4o μέρος αποτελείται από την διεπαφή (Interface), με την οποία μέσω web σελίδας βλέπει κανείς την κατάσταση
του parking, δηλαδή πόσες και ποιές θέσεις μέσα στον χώρο είναι ελεύθερες.
@@ -545,7 +555,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
Ο κόμβος διαθέτει επιπλέον δύο leds ένα κόκκινο και ένα μπλε, σαν έξοδο της κατάστασης
-της θέσης του parking για το οποίο είναι υπεύθυνος. Με κόκκινο χαρακτηρίζεται η θέση που είναι
+της θέσης του parking για τον οποίο είναι υπεύθυνος. Με κόκκινο χαρακτηρίζεται η θέση που είναι
δεσμευμένη από ένα όχημα και με μπλε η ελεύθερη θέση, όπως φαίνεται στις παραπάνω εικόνες.
@@ -555,7 +565,10 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
Κάθε κόμβος στέλνει στην σειριακή του τον κωδικό της θέσης, με τον οποίο έχει προγραμματιστεί το Arduino,
και την κατάσταση του parking, κωδικοποιημένα με τον διαχωριστή "#". Για την κατάσταση του parking ορίζουμε
με "1" ότι η θέση είναι ελεύθεση και με "0" ότι η θέση είναι δεσμευμένη. Ο έλεγχος του sensor γίνεται κάθε
-500ms. Η έξοδος στη σειριακή γίνεται με την μορφή ενός string
+500ms. Η έξοδος στη σειριακή γίνεται με την μορφή ενός string.
+
+
+
<κωδικός θέσης>#<διαθεσιμότητα 0 ή 1>
@@ -563,7 +576,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
Ο κόμβος αυτός συνδέεται με ένας "Gateway" κόμβο (βασισμένος σε Raspberry Pi) ο οποίος είναι υπεύθυνος για την
μετάδοση της πληροφορίας που αφορά την διαθεσιμότητα της θέσης του parking στο διαδίκτυο. Η πληροφορία αυτή
-λαμβάνεται και αποθηκεύεται στον "Gateway" κόμβο.
+λαμβάνεται στον "Gateway" κόμβο οποίος στη συνέχεια την αποκωδικοποιεί και την αποστέλει στον WEB server μέσω του διαδικτύου.
@@ -594,10 +607,10 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
1.2.2. Υλοποίηση και Προγραμματισμός
-
Η υλοποίηση αποτελείται από την εγκατάσταση του Raspbian OS στο Raspberry και δημιουργία ενός proccess
-σε γλώσσα python το οποίο διαβάζει από την σειριακή θύρα του την πληροφορία που στέλνει το Arduino με
-την μορφή μίας συμβολοσειράς. Ύστερα αποκωδικοποιεί αυτή την πληροφορία η οποία περιγράφει τον κωδικό της θέσης
-και την διαθεσιμότητα της και την αποστέλει μέσω ενός API με την μέθοδο POST σε έναν WEB Server.
+
Η υλοποίηση αποτελείται από την εγκατάσταση του Raspbian OS στο Raspberry και τη δημιουργία ενός proccess
+σε γλώσσα python το οποίο διαβάζει από την σειριακή θύρα του την πληροφορία που λαμβάνει από το Arduino με
+την μορφή <κωδικός θέσης>#<διαθεσιμότητα 0 ή 1>. Ύστερα αποκωδικοποιεί αυτή την πληροφορία η οποία περιγράφει τον κωδικό της θέσης
+και την διαθεσιμότητα της και την αποστέλει μέσω ενός REST API με την μέθοδο POST σε έναν WEB Server.
@@ -620,16 +633,16 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
υπάρχει μία τουλάχιστων διαθέσιμη θέση στον χώρο στάθμευσης.
-
Η υλοποίηση χωρίζεται σε δύο βασικά μέρη.
+
Η υλοποίηση του αυτόνομου parking χωρίζεται σε δύο βασικά μέρη.
-
-
Το 1ο μέρος αποτελείται από τον μικροελεγκτή για τον έλεγχο των αισθητήρων και των κινητήρων του οχήματος και
+
Το 1ο μέρος αποτελείται από τον μικροελεγκτή για τον έλεγχο των αισθητήρων και των κινητήρων του οχήματος και
εκτελώντας τα απαραίτητα βήματα, να μπορέσει να παρκάρει το όχημα.
-
-
Το 2ο μέρος αποτείται από τον κόμβο ο οποίος θα έχει πρόσβαση στο διαδίκτυο, ο οποίος αφού ελέγξει αν υπάρχει
+
Το 2ο μέρος αποτείται από τον κόμβο ο οποίος θα έχει πρόσβαση στο διαδίκτυο, όπου αφού ελέγξει αν υπάρχει
διαθέσιμη θέση και γνωρίζει ποια είναι η πρώτη ελεύθερη θέση, να δώσει εντολή στον μικροελεγκτή να παρκάρει σε αυτή.
@@ -710,7 +723,7 @@ SLOW SUCCESS BUILDS CHARACTER, FAST SUCCESS BUILDS EGO.