<h4id="_υλοποίηση_και_προγραμματισμός">1.2.2. Υλοποίηση και Προγραμματισμός</h4>
<h4id="_υλοποίηση_και_προγραμματισμός">1.2.2. Υλοποίηση και Προγραμματισμός</h4>
<divclass="paragraph">
<divclass="paragraph">
<p>Η υλοποίηση αποτελείται από την εγκατάσταση του Raspbian OS στο Raspberry και τη δημιουργία ενός proccess
<p>Η υλοποίηση αποτελείται από την εγκατάσταση του Raspbian OS στο Raspberry και τη δημιουργία ενός proccess
σε γλώσσα python το οποίο διαβάζει από την σειριακή θύρα του την πληροφορία που λαμβάνει από το Arduino με
σε γλώσσα Python. Το process αυτό διαβάζει από την σειριακή θύρα του την πληροφορία που λαμβάνει από το αντίστοιχο Arduino Uno με
την μορφή <κωδικός θέσης>#<διαθεσιμότητα 0 ή 1>. Ύστερα αποκωδικοποιεί αυτή την πληροφορία η οποία περιγράφει τον κωδικό της θέσης
την μορφή <κωδικός θέσης>#<διαθεσιμότητα 0 ή 1>. Ύστερα αποκωδικοποιεί αυτή την πληροφορία η οποία περιγράφει τον κωδικό της θέσης
και την διαθεσιμότητα της και την αποστέλει μέσω ενός REST API με την μέθοδο POST σε έναν WEB Server.</p>
και την διαθεσιμότητα της και την αποστέλει μέσω ενός REST API με την μέθοδο POST σε έναν WEB Server. Τα δεδομέμα μας σε αυτήν
την επικοινωνία παίρνουν μία μορφή JSON (JavaScript Object Notation).</p>
</div>
</div>
</div>
</div>
<divclass="sect3">
<divclass="sect3">
<h4id="_διασύνδεηση_στο_διαδίκτυο">1.2.3. Διασύνδεηση στο Διαδίκτυο</h4>
<h4id="_διασύνδεηση_στο_διαδίκτυο">1.2.3. Διασύνδεηση στο Διαδίκτυο</h4>
<divclass="paragraph">
<divclass="paragraph">
<p>Ο κόμβος Gateway έχει διασύνδεση με το διαδίκτυο μέσω ενός καλωδίου Ethernet (UTP) έτσι ώστε να μπορέσει
<p>Ο κόμβος Gateway έχει διασύνδεση με το διαδίκτυο μέσω ενός καλωδίου Ethernet (UTP) έτσι ώστε να μπορέσει
να στείλει την πληροφορία</p>
να στείλει την πληροφορία στο διαδίκτυο.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<divclass="sect1">
<divclass="sect1">
<h2id="_server_node_κεντρικός_server_όπου_κρατά_την_κατάσταση_της_κάθε_θέσης_του_parking">2. Server Node (Κεντρικός Server όπου κρατά την κατάσταση της κάθε θέσης του Parking)</h2>
<h2id="_server_node_3ο_μέρος_κεντρικός_server_όπου_κρατά_την_κατάσταση_της_κάθε_θέσης_του_parking">2. Server Node (3<sub>ο</sub> μέρος - Κεντρικός Server όπου κρατά την κατάσταση της κάθε θέσης του Parking)</h2>
<divclass="sectionbody">
<divclass="sectionbody">
<divclass="paragraph">
<divclass="paragraph">
<p>Ο κόμβος αυτός υλοποιεί ένα process γραμμένο σε γλώσσα προγραμματισμού Python 3.</p>
<p>Ο κόμβος αυτός υλοποιεί ένα process γραμμένο σε γλώσσα προγραμματισμού Python 3. Αυτό το process εκτελεί ένα
REST API έτσι ώστε να μπορούν να επικοινωνούν εύκολα πολλοί Gateway κόμβοι. Στην είσοδό του και στην έξοδό του
τα δεδομένα μας έχουν την μορφή JSON.</p>
</div>
<divclass="paragraph">
<p>Ο server αποθηκεύει όλα τα απαραίτητα δεδομένα σε μία Βάση δεδομένων MySQL, η οποία διαθέτει ένα πίνακα.
Ο πίνακας κρατά όλα τα απαραίτητα πεδία που είναι:</p>
</div>
<divclass="ulist">
<ul>
<li>
<p>Τον κωδικό της θέσης parking</p>
</li>
<li>
<p>Την διαθεσιμότητά της αντίστοιχης θέση (0 ή 1)</p>
</li>
</ul>
</div>
</div>
<divclass="sect2">
<divclass="sect2">
<h3id="_εκτέλεση_του_process_στο_cloud">2.1. Εκτέλεση του Process στο Cloud</h3>
<h3id="_εκτέλεση_του_process_στο_cloud">2.1. Εκτέλεση του Process στο Cloud</h3>
<divclass="paragraph">
<divclass="paragraph">
<p>Για την εκτέλεση του process χρησιμοποιούμε την πλατφόρμα IAAS (Infrastructure as a Service)
<p>Για την εκτέλεση του process χρησιμοποιούμε μία πλατφόρμα IAAS (Infrastructure as a Service) ονόματι
<ahref="https://www.heroku.com/platform">Heroku</a>, για την οποιά μπορούμε να βρούμε περεταίρω πληροφορίες στον σύνδεσμο
<ahref="https://www.heroku.com/platform">Heroku</a>, για την οποιά μπορούμε να βρούμε περεταίρω πληροφορίες στον σύνδεσμο