background image

 

 

 

- 108 -

 

4.4.2 Ανάλυση βιβλιοθηκών και συναρτήσεων 

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

οποίες απλοποιούν τη διαδικασία αυτή. Κάποιες είναι επίσημες βιβλιοθήκες του Arduino, ενώ 
κάποιες αναπτύχθηκαν για τις ανάγκες αυτής της διπλωματικής εργασίας. Πιο συγκεκριμένα οι 
βιβλιοθήκες που χρησιμοποιούνται είναι οι SPI.h, Ethernet.h και Nokia5110.h. 

Η βιβλιοθήκη SPI.h επιτρέπει στο Arduino να συνδεθεί με άλλες πλακέτες επέκτασης και 

πιο συγκεκριμένα του Ethernet Shield, μέσω της διεπαφής SPI [49]. Η ανάλυση της διεπαφής SPI 
και  οι  δυνατότητές  της  αναφέρθηκαν  παραπάνω.  Είναι  απαραίτητη  για  τη  λειτουργία  της 
βιβλιοθήκης Ethernet.h μιας και το Ethernet Shield βασίζεται στη διεπαφή SPI. 

Η βιβλιοθήκη Ethernet.h επιτρέπει στο Arduino Uno να επικοινωνεί με το Ethernet Shield 

[50]. Προσφέρει ένα πλήθος συναρτήσεων που απλοποιούν τον τρόπο σύνδεσης του Arduino 
Uno  χρησιμοποιώντας  τα  πρωτόκολλα  TCP  και  UDP.  Πιο  συγκεκριμένα  χρησιμοποιήθηκαν  οι 
εξής συναρτήσεις: 

 

Ethernet::begin():  η  συνάρτηση  αυτή,  που  κληρονομείται  από  τη  βιβλιοθήκη 

SPI.h,  ενεργοποιεί  και  αρχικοποιεί  το  Ethernet  Shield.  Στην  περίπτωσή  μας 
χρησιμοποιείται  μόνο  με  την  παράμετρο  mac,  που  υποδηλώνει  τη  χρήση  του 
πρωτοκόλλου  DHCP  (Dynamic  Host  Configuration  Protocol,  Πρωτόκολλο  Δυναμικής 
Παραμετροποίησης Εξυπηρετητή) με το οποίο εκχωρείται αυτόματα μία διεύθυνση  IP 
στο  Ethernet  Shield  από  τον  δρομολογητή  του  δικτύου  [51].  Εάν  το  Arduino  Uno 
συνδεθεί επιτυχώς και πάρει διεύθυνση IP επιστρέφει την τιμή 1, αλλιώς την τιμή 0. 

 

Ethernet::localIP(): η συνάρτηση αυτή εκτυπώνει την τοπική διεύθυνση  IP που 

έχει εκχωρηθεί στο Arduino Uno [52]. 

 

Ethernet::subnetMask():  η  συνάρτηση  αυτή  εκτυπώνει  τη  μάσκα  υποδικτύου 

που έχει εκχωρηθεί στο Arduino Uno. 

 

Ethernet::gatewayIP(): η συνάρτηση αυτή εκτυπώνει τη διεύθυνση IP της πύλης 

δικτύου που έχει εκχωρηθεί στο Arduino Uno. 

 

Ethernet::dnsServerIP():  η  συνάρτηση  αυτή  εκτυπώνει  τη  διεύθυνση  IP  του 

εξυπηρετητή ονομάτων τομέα που έχει εκχωρηθεί στο Arduino Uno. 

 

Client::connect():  η  συνάρτηση  αυτή  υποχρεώνει  το  Arduino  Uno  να  συνδεθεί 

στον εξυπηρετητή και τη θύρα επικοινωνίας τις οποίες δέχεται ως παραμέτρους [53]. Αν 
η σύνδεση είναι επιτυχής επιστρέφει την τιμή 1, αλλιώς την τιμή 0.