- 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.