background image

Σχεδιασμός και υλοποίηση συστήματος IoT ασύρματου ελέγχου και μέτρησης ενέργειας 

 

30 

 

2.2.6 Η βάση δεδομένων MongoDB 

 
 

Για  την  αποθήκευση  των  δεδομένων  του  συστήματος,  χρησιμοποιήθηκε  η  βάση 

δεδομένων MongoDB. Η MongoDB κρίθηκε κατάλληλη για λόγους οι οποίοι σχετίζονται 

με την επεκτασιμότητα και την απόδοση. 
 

Πιο  συγκεκριμένα,  η  βάση  δεδομένων  MongoDB  εκτός  από  κάθετη  επέκταση 

(vertical scaling), δηλαδή προσθήκη μνήμης και επεξεργαστικής ισχύος, υποστηρίζει και 

οριζόντια  επέκταση  (horizontal  scaling)  με  δύο  τρόπους.  Η  πρώτη  μέθοδος  είναι  ο 
τεμαχισμός  (sharding),  η  οποία  επιτρέπει  την  αξιοποίηση  πολλαπλών  κόμβων.  Έτσι 
αυξάνεται  ο  όγκος  δεδομένων  που  μπορεί  να  διεκπεραιωθεί,  ιδιαίτερα  σε  θέματα 

εγγραφής  (write).  Η  δεύτερη  μέθοδος  είναι  τα  σετ  αντιγράφων  (replica  sets).  Με  την 
επέκταση αυτού του τύπου, τα δεδομένα αντιγράφονται σε πολλαπλούς κόμβους, έχοντας 
ως αποτέλεσμα αυξημένη ασφάλεια και δυνατότητα γρηγορότερης εκτέλεσης ενεργειών 
ανάγνωσης (read) [25].  

 
2.3 Εργαλεία  

 

Σε αυτή την ενότητα, παρουσιάζονται τα εργαλεία που χρησιμοποιήθηκαν για την 

ανάπτυξη  του  κώδικα  της  κινητής  εφαρμογής,  της  εφαρμογής  διαχειριστή,  του 
εξυπηρετητή και της συσκευής. Όλα τα εργαλεία που αναφέρονται, παρέχονται δωρεάν. 
 

2.3.1 Visual Studio Code 

 
 

Το visual studio code [26], είναι ένας ανοιχτού κώδικα επεξεργαστής κειμένου που 

αναπτύχθηκε από την εταιρεία Microsoft για τα λειτουργικά συστήματα Windows, Linux 
και macOS.  

Το  βασικό  του  χαρακτηριστικό,  είναι  η  ποικιλία  από  πρόσθετα  που  είναι 

διαθέσιμα  προς  εγκατάσταση.  Έτσι,  μπορεί  κάποιος  να  προσθέσει  επιπλέον 
χαρακτηριστικά  και  λειτουργίες  όπως  για  παράδειγμα  υποστήριξη  πολλών 
διαφορετικών  γλωσσών  προγραμματισμού,  εργαλεία  αποσφαλμάτωσης  και  αυτόματη 
στοίχιση κώδικα. Το γεγονός αυτό, καθιστά το visual studio code εύκολα προσαρμόσιμο 

στις ανάγκες κάθε προγραμματιστή. 
 

2.3.2 Arduino IDE 

 
 

Το  Arduino  IDE  [27](Integrated  Development  Environment)  είναι  το  επίσημο 

ολοκληρωμένο περιβάλλον ανάπτυξης κώδικα για τους μικροελεγκτές Arduino. Διαθέτει 

τα  ελάχιστα  απαραίτητα  χαρακτηριστικά  για  την  συγγραφή  κώδικα,  ενώ  έχει 
ενσωματωμένο μεταγλωττιστή (compiler) και την δυνατότητα να ανεβάσει τον εκτελέσιμο 
κώδικα στον μικροελεγκτή. 

 

Εκτός  της  υποστήριξης  για  την  πλατφόρμα  του  Arduino,  με  εγκατάσταση  των 

κατάλληλων  εργαλείων  το  Arduino  IDE  μπορεί  να  υποστηρίξει  και  μικροελεγκτές 
διαφορετικών κατασκευαστών.