background image

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

 

89 

 

προβλέπει την πιθανή ενεργειακή κατανάλωση του χρήστη για κάθε μήνα ή ακόμα και να 
του προτείνει αλλαγές, οι οποίες μπορούν να του εξοικονομήσουν χρήματα, βασισμένες 
σε  δεδομένα  τα  οποία  μπορούν  να  συλλεχθούν  από  τους  υπόλοιπους  χρήστες  του 

συστήματος.  
 

Τέλος,  στο  θέμα  της  γρηγορότερης  αποθήκευσης  και  ανάκτησης  των  δεδομένων 

που παράγουν οι συσκευές, θα μπορούσαν να χρησιμοποιηθούν στην βάση δεδομένων 
MondoDB, οι τεχνικές Sharding και Replica Sets που αναφέρθηκαν στο δεύτερο κεφάλαιο. 

 
 

6.6 Προβλήματα που αντιμετωπίστηκαν 

 
 

Κατά την ανάπτυξη του συστήματος, προέκυψαν αρκετά προβλήματα, κάποια από 

τα οποία αντιμετωπίστηκαν, ενώ κάποια άλλα δεν υπήρξε η δυνατότητα και ο χρόνος να 
επιλυθούν στα πλαίσια αυτής της διπλωματικής.   
 

Ένα από τα βασικά προβλήματα που αντιμετωπίστηκαν, είναι η διαχείριση τόσο 

μεγάλου όγκου δεδομένων. Συγκεκριμένα, ο αριθμός των καταγραφών έγινε πολύ γρήγορα 

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

δεδομένων για κάθε συσκευή. Επιπλέον, χρησιμοποιήθηκε μια τεχνική ομαδοποίησης των 
καταγραφών (data bucketing), στην οποία τα δεδομένα οργανώνονται σε ομάδες της μίας 
ώρας. Έτσι, κατά την αναζήτηση μιας μέτρησης αρκεί να βρεθεί το χρονικό «παράθυρο» 

στο οποίο αυτή βρίσκεται. Με τον τρόπο αυτό, ο χρόνος αναζήτησης της κατανάλωσης 
για  ένα  χρονικό  εύρος  μειώνεται  σημαντικά.  Ένα  διάγραμμα  για  την  κατανόηση  της 
τεχνικής αυτής παρουσιάζεται στην Εικόνα 80.  

 

 

Εικόνα 80 : Οπτικοποίηση της τεχνικής αποθήκευσης δεδομένων Bucketing 

 
 

Άλλη μια δυσκολία που προέκυψε ήταν η έλλειψη ποικιλίας και υποστήριξης στις 

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

 

Τέλος, το αρχικό πλάνο ήταν να χρησιμοποιηθεί για την μέτρηση της κατανάλωσης 

ο  αισθητήρας  ACS712  του  οποίου  το  κόστος  είναι  εξαιρετικά  χαμηλό.  Ωστόσο,  μέσω