Tο Διαδίκτυο των πραγμάτων ή Ίντερνετ των πραγμάτων (αγγλικά: Internet of things) αποτελεί το δίκτυο επικοινωνίας πληθώρας συσκευών, οικιακών συσκευών, αυτοκινήτων καθώς και κάθε αντικειμένου που ενσωματώνει ηλεκτρονικά μέσα, λογισμικό, αισθητήρες και συνδεσιμότητα σε δίκτυο ώστε να επιτρέπεται η σύνδεση και η ανταλλαγή δεδομένων.
Απλούστερα, η φιλοσοφία του IoT είναι η σύνδεση όλων των ηλεκτρονικών συσκευών μεταξύ τους (τοπικό δίκτυο) ή με δυνατότητα σύνδεσης στο διαδίκτυο (παγκόσμιο ιστό).
Η έννοια “Things” (πράγματα) δεν είναι αυστηρά συνδεδεμένη με ορισμένα προϊόντα. Αναφέρεται σε μία ευρεία ποικιλία συσκευών εντελώς διαφορετικά μεταξύ τους, όπως για παράδειγμα αυτοκίνητα με ενσωματωμένους αισθητήρες, κάμερες, κλιματιστικά, φώτα, συστήματα ασφαλείας, smartwatches ακόμα και αυτοκίνητα των οποίων οι περίπλοκοι αισθητήρες εντοπίζουν αντικείμενα στην πορεία τους. Είναι μερικά από τα πολλά προϊόντα τεχνολογίας. Βασικό χαρακτηριστικό όλων είναι η σύνδεση μεταξύ τους με απώτερο σκοπό την δυνατότητα του χρήστη να τα ελέγχει από έναν υπολογιστή ή κινητό. Ο όρος Internet of Things αποδόθηκε την δεκαετία του 1990 από τον Kevin Ashton.
Το Ίντερνετ των πραγμάτων (Internet of Things) είναι μία από τις τρεις κορυφαίες τεχνολογικές εξελίξεις της επόμενης δεκαετίας (μαζί με το mobile Internet και την αυτοματοποίηση του knowledgework) και αποτελεί το επόμενο μεγάλο βήμα στον χώρο της τεχνολογίας. Ο όρος Internet of Things επινοήθηκε στα τέλη της δεκαετίας του 1990 από τον επιχειρηματία Kevin Ashton. Ο Ashton, ο οποίος είναι ένας από τους ιδρυτές του Auto-ID cEnter στο MIT, ήταν μέρος μιας ομάδας που ανακάλυψε τον τρόπο να συνδέσει τα αντικείμενα με το Διαδίκτυο μέσω μιας ετικέτας RFID.
Οι χρήσεις της Ρομποτικής Επιστήμης και του Internet of Things – IoT είναι απεριόριστες, όπως φαίνεται και από τα παρακάτω παραδείγματα.
- Οι εταιρείες παροχής ρεύματος και νερού μπορούν να τοποθετούν ειδικούς μετρητές κατανάλωσης ρεύματος σε κάθε κατοικία ώστε να καταγράφεται η κατανάλωση. Οι μετρητές αυτοί αποτελούνται από κατάλληλους αισθητήρες και ένα μικροϋπολογιστή ο οποίος αναλαμβάνει την επεξεργασία των δεδομένων που διαβάζει από τους αισθητήρες, και στέλνει μέσω διαδικτύου τις πληροφορίες για την κατανάλωση στους αντίστοιχους παρόχους.
- Ένα άλλο παράδειγμα είναι ο έξυπνος φωτισμός στις πόλεις ο οποίος εκτός από τη δυνατότητα εξοικονόμησης ενέργειας όπου είναι εφικτό -χαμηλώνοντας το φωτισμό όταν δεν περνάει κάποιος πεζός-, θα μπορεί με ενσωματωμένους αισθητήρες να συλλέγει πληροφορίες όπως για τη κίνηση των οχημάτων στους δρόμους και θα λαμβάνει αποφάσεις όπως για παράδειγμα για την αλλαγή των χρονοδοτούμενου προγράμματος των φαναριών κυκλοφορίας με στόχο την καλύτερη δυνατή ροή της κυκλοφορίας. Μπορούμε να πούμε ότι θα λειτουργεί ώς «δικτυακός τροχονόμος».
- Άλλο παράδειγμα είναι τα «αυτόνομα αυτοκίνητα». Ήδη κάποιες εταιρείες έχουν κάνει έρευνες σε αυτόν το τομέα όπου με χρήση πολύπλοκων αισθητήρων αλλά και του διαδικτύου μπορεί το αυτοκίνητο να κινηθεί αυτόνομα στο προορισμό που έχει επιλέξει ο οδηγός. Ταυτόχρονα ανταλλάσσει πληροφορίες με άλλα αυτοκίνητα ή ακόμη με τους στύλους του φωτισμού που αναφέραμε νωρίτερα ώστε να επιλέξει την βέλτιστη πορεία προς το προορισμό, αποφεύγοντας τυχόν εμπόδια για τα οποία θα έχει ενημερωθεί εγκαίρως.
- Χρήση του Διαδικτύου των Πραγμάτων γίνεται επίσης σε μεγάλα εργοστάσια. Εκεί κάθε υποσύστημα της αλυσίδας παραγωγής με χρήση μικροελεγκτών και αισθητήρων, είναι συνδεδεμένο με ένα κεντρικό σύστημα το οποίο παρακολουθεί την παραγωγή αλλά και τυχόν βλάβες που μπορεί να προκύψουν και ενημερώνει εγκαίρως τον τεχνικό υπεύθυνο.
- Μια ακόμη χρήση του Internet of Things είναι η «παρακολούθηση στόλου». Για παράδειγμα, μία εταιρεία ταξί χρησιμοποιώντας τις κατάλληλες συσκευές μπορεί να βλέπει ακριβώς σε ποια θέση είναι τα οχήματά της ώστε όταν ο πελάτης καλέσει ταξί, να ειδοποιηθεί αυτόματα ο πλησιέστερος οδηγός.
- Αλλά και στην Ιατρική υπάρχουν πολλές εφαρμογές. Για παράδειγμα υπάρχουν ήδη βηματοδότες που είναι συνδεδεμένοι στο διαδίκτυο. Αυτό δίνει την δυνατότητα να ενημερώνεται ο υπεύθυνος γιατρός του ασθενούς στην περίπτωση που κάτι πάει στραβά.
Μια έξυπνη συσκευή είναι αυτή που μπορεί να λαμβάνει ερεθίσματα από το περιβάλλον της και να αυτοματοποιεί τις λειτουργίες της. Μια από τις πρώτες έξυπνες συσκευές ήταν μια μηχανή πώλησης αναψυκτικών που βρισκόταν σε ένα πανεπιστήμιο της Αμερικής. Σε αυτό το πανεπιστήμιο το 1982 μια μικρή ομάδα φοιτητών πληροφορικής αποφάσισε να προσαρμόσει ένα μικροϋπολογιστή και διακόπτες ώστε να μπορούν να ελέγχουν πόσα αναψυκτικά είχε η κάθε μια από τις 6 στήλες που διέθετε η μηχανή, όπως και αν ήταν κρύα. Αυτή η συσκευή μπορούσε να στείλει τα δεδομένα σε ένα πρόγονο του Internet, το ARPANET. Έτσι οι διψασμένοι χρήστες είχαν την δυνατότητα να στέλνουν μια εντολή από τον υπολογιστή τους στον ψύκτη και να μαθαίνουν πριν τον επισκεφτούν, αν το αγαπημένο τους αναψυκτικό ήταν διαθέσιμο και στην κατάλληλη θερμοκρασία.
Στις μέρες μας υπάρχουν από έξυπνα αυτοκίνητα μέχρι έξυπνες λάμπες ή κατσαβίδια. Πλέον είναι εφικτό και με χαμηλό κόστος να φτιάξουμε το δικό μας έξυπνο σπίτι με χρήση έτοιμων έξυπνων “πραγμάτων”, όπως θερμοστάτες, κάμερες, ανιχνευτές κίνησης, πρίζες, φώτα και πολλά άλλα που μπορούν να συνδεθούν και μεταξύ τους, αλλά και στο διαδίκτυο. Τελευταία γνωστές εταιρείες έχουν μπει πολύ ενεργά στον κόσμο του Διαδικτύου των πραγμάτων έχοντας κατασκευάσει μικροσυσκευές με ενσωματωμένους αισθητήρες ή διακόπτες, οι οποίες συνήθως επικοινωνούν ασύρματα με ένα κόμβο που έχει το ρόλο της σύνδεσης με το διαδίκτυο. Αυτές οι συσκευές είναι διαθέσιμες στην αγορά. Στην παρούσα εργασία, δε θα χρησιμοποιήσουμε έτοιμες έξυπνες συσκευές, αλλά θα μπούμε στη θέση του προγραμματιστή χρησιμοποιώντας μία από τις ειδικές πλατφόρμες ανάπτυξης εφαρμογών που ταυτόχρονα είναι κατάλληλες για το διαδίκτυο των πραγμάτων.
Για να θεωρηθεί μια συσκευή κατάλληλη για εφαρμογές Ρομποτικής στο Internet of Things πρέπει:
- Να έχει τη δυνατότητα να αναγνωρίζει το περιβάλλον κάνοντας χρήση αισθητήρων. (πχ θερμοκρασίας, κίνησης, ακόμα και ένας διακόπτης μπορεί να θεωρηθεί ως συσκευή εισόδου από το περιβάλλον)
- Να μπορεί να συνδεθεί με το διαδίκτυο είτε η ίδια η συσκευή είτε χρησιμοποιώντας μια ειδική κομβική συσκευή που θα παρέχει αυτή τη δυνατότητα.
- Είναι προτιμότερο να είναι μικρή σε μέγεθος ώστε να μπορεί να τοποθετηθεί εύκολα σε ποικίλα σημεία και να έχει χαμηλή κατανάλωση.
- Να έχουμε τον τρόπο να προστατευτούμε από τους κινδύνους του διαδικτύου επιτρέποντας έστω την χρήση κάποιου κωδικού για την σύνδεσή της στο δίκτυο.
Arduino και Raspberry Pi
Η λίστα των διαθέσιμων συσκευών για ανάπτυξη πρωτότυπων εφαρμογών είναι μεγάλη. Εμείς θα επικεντρωθούμε στις 2 πιο διαδεδομένες πλατφόρμες, το Arduino (Uno και τις απομιμήσεις αυτού) και το Raspberry Pi, ενώ στη συνέχεια θα επιλέξουμε το πιο κατάλληλο από τα 2.
Για να δούμε τις διαφορές αυτών των συσκευών:
- Η πιο μεγάλη διαφορά μεταξύ των συσκευών είναι ότι το Raspberry Pi είναι ένας μικρός υπολογιστής ενώ το Arduino είναι ένας μικροελεγκτής. Αυτό πρακτικά σημαίνει ότι το Raspberry Pi μπορούμε να το χρησιμοποιήσουμε ως προσωπικό υπολογιστή και να σερφάρουμε στο διαδίκτυο συνδέοντας πάνω του μια οθόνη, πληκτρολόγιο και ποντίκι. Αυτό δεν μπορούμε να το κάνουμε με το Arduino. Για να μπορέσουμε να το προγραμματίσουμε, θα πρέπει πρώτα να φτιάξουμε την εφαρμογή στον υπολογιστή μας και μετά να την μεταφέρουμε στο Arduino. Ένα πολύ διαδεδομένο μηχάνημα που συνήθως ελέγχεται από Arduino είναι ο εκτυπωτής 3d.
- Σύμφωνα με αυτά που είπαμε, θα πρέπει να εγκαταστήσουμε Λειτουργικό Σύστημα στο Raspberry Pi. Το πιο διαδεδομένο Λειτουργικό Σύστημα για το Raspberry Pi ονομάζεται Raspberry Pi OS και βασίζεται σε Debian Linux. Εκτός από αυτό έχουμε την δυνατότητα να εγκαταστήσουμε άλλα λειτουργικά συστήματα όπως Ubuntu MATE, RISC OS, Windows 10 IoT Core κ.α.
Το Arduino Uno από την άλλη μεριά δεν έχει Λειτουργικό Σύστημα αλλά διαθέτει εφαρμογή για τους προσωπικούς μας υπολογιστές, όπου μπορούμε να το προγραμματίσουμε σε μια γλώσσα προγραμματισμού που μοιάζει με την c. Στο Raspberry Pi μιας που είναι μικρός υπολογιστής μπορούμε να προγραμματίσουμε σε οποιαδήποτε γλώσσα προγραμματισμού, αλλά εμείς εδώ θα χρησιμοποιήσουμε την Python ή οποία είναι η πιο κατάλληλη γλώσσα για αυτή τη συσκευή. - Αν εστιάσουμε στα τεχνικά χαρακτηριστικά μπορούμε να δούμε ότι το Raspberry Pi έχει ένα γρήγορο επεξεργαστή τύπου ARM όπως αυτό που διαθέτει το έξυπνο κινητό μας, και αρκετή μνήμη RAM που μπορεί να φτάσει τα 8GB στο τελευταίο μοντέλο του. Επίσης διαθέτει κύκλωμα επεξεργασίας εικόνας και ήχου, ενσωματωμένο ενσύρματο δίκτυο αλλά και ασύρματο όπως και Bluetooth. Όμως όλα αυτά απαιτούν περισσότερη ενέργεια, και έτσι το Raspberry Pi χρειάζεται 5 έως 10 Watt για την λειτουργία του. Το Arduino από την άλλη μεριά το πολύ να χρειαστεί μισό βατ όσο λειτουργεί μιας που στην βασική του έκδοση, δηλαδή το Uno, διαθέτει ένα αργό μικροελεγκτή, με ελάχιστη μνήμη της τάξεως των 2ΚΒ και δεν διαθέτει συνδέσεις δικτύου ούτε σύνθετα κυκλώματα γραφικών.
- Τόσο στο Raspberry Pi όσο και στο Arduino μπορούμε να συνδέσουμε αισθητήρες αλλά ακόμη και ολοκληρωμένα κυκλώματα. Για παράδειγμα μπορούμε να κουμπώσουμε μια κάρτα ασύρματου δικτύου στο Arduino. Αυτές οι κάρτες που κυκλοφορούν και για τις 2 συσκευές ονομάζονται shields, δηλαδή ασπίδες. Ίσως παρατηρήσουμε ότι κάποιοι αισθητήρες που προορίζονται για το Arduino είναι οικονομικότεροι από τους αντίστοιχους για το Raspberry Pi και αυτό γιατί το Raspberry Pi δεν διαθέτει αναλογικές εισόδους και έτσι ένας απλός αισθητήρας πχ μια φωτοαντίσταση θα χρειαστεί και κάποιο κύκλωμα ώστε να μετατρέπει την αναλογική κατά τα άλλα μέτρηση σε ψηφιακή προκειμένου να την καταλάβει το Raspberry Pi.
Συνοψίζοντας, και οι 2 συσκευές είναι κατάλληλες για εφαρμογές Internet of Τhings, και μάλιστα δεν είναι απίθανο σε μια εφαρμογή να χρησιμοποιήσουμε και τις 2. Όπως για παράδειγμα μια εφαρμογή ανοικτού κώδικα με την επωνυμία Open Energy Monitor, η οποία μας βοηθά να μετράμε τις καταναλώσεις της κατοικίας μας. Αυτή η εφαρμογή χρησιμοποιεί ως εξυπηρετητή ένα Raspberry Pi ενώ ταυτόχρονα κάνει χρήση ενός ή και περισσότερων Arduino που είναι συνδεδεμένα με τους ανιχνευτές ρεύματος και μπορούν να βρίσκονται σε κάθε γωνιά του σπιτιού μας. Πχ στον κεντρικό πίνακα ρεύματος ή ακόμη και κοντά σε συσκευές όπως ο θερμοσίφωνας.
Γενιές του Raspberry Pi
Εμείς θα χρησιμοποιήσουμε την πλατφόρμα Raspberry Pi. Το Raspberry Pi είναι ένας μικρός υπολογιστής του ομώνυμου ιδρύματος που αναπτύχθηκε στην Αγγλία, κατασκευασμένος γύρω από έναν επεξεργαστή αρχιτεκτονικής ARM -Σαν τους επεξεργαστές δηλαδή που συναντάμε σε smartphones. Οι δυο πιο βασικοί λόγοι για την επιλογή αυτού του τύπου επεξεργαστή είναι η χαμηλότερη κατανάλωση, και το χαμηλότερο κόστος παραγωγής. Μάλιστα λόγω της χαμηλής κατανάλωσης στο ρεύμα δεν έχει ιδιαίτερες απαιτήσεις στην ψύξη του επεξεργαστή και έτσι δεν είναι απαραίτητο να ψύχεται με χρήση ενεργής ψύξης όπως για παράδειγμα ανεμιστήρες.
Αν και στο Raspberry Pi 4 έχουν αυξηθεί οι επιδόσεις του και έτσι αν κάνουμε βαριά χρήση, τότε θα διαπιστώσουμε ότι η θερμοκρασία του επεξεργαστή μπορεί να φτάσει και τους 80 βαθμούς κελσίου. Όταν φτάσει σε αυτά τα επίπεδα, για την προστασία του επεξεργαστή και της συσκευής γενικότερα, έχει ένα σύστημα που λέγεται throttling το οποίο ρίχνει την ταχύτητα του επεξεργαστή ώστε να επανέλθει η θερμοκρασία του σε κανονικά επίπεδα.
Οι κατασκευαστές του είχαν εμπνευστεί από ένα άλλο βρετανικό υπολογιστή τον BBC Micro o οποίος κυκλοφόρησε στην Αγγλία στις αρχές του 1980 και είχε σχεδιαστεί με στόχο τη χρήση του στην εκπαίδευση… και τα κατάφερε… Τα περισσότερα σχολεία δευτεροβάθμιας και πρωτοβάθμιας εκπαίδευσης προμηθευτήκαν τους BBC Micro υπολογιστές και τους ενέταξαν στην εκπαίδευση. Μάλιστα το BBC ή αλλιώς British Broadcasting Television μιας που είναι δημόσιος φορέας ραδιοτηλεόρασης στην Βρετανία, είχε γυρίσει και μία τηλεοπτική σειρά, εξηγώντας τις δυνατότητες του μικρού υπολογιστή, στους κατόχους του. Το BBC Micro κυκλοφορούσε σε 3 βασικές εκδόσεις με κωδικές ονομασίες ξεκινώντας από το MODEL A, MODEL B και MODEL B+, με το τελευταίο να αποτελεί το ισχυρότερο μοντέλο.
Το Raspberry Pi ξεκίνησε ως μια ιδέα για ένα μικρό και ταυτόχρονα οικονομικό υπολογιστή από μια ομάδα ανθρώπων των επιστημών πληροφορικής που έβλεπαν ότι υπήρχε μια πτώση στις αιτήσεις αλλά και στις δεξιότητες των νέον φοιτητών που έκαναν αίτηση στις σχολές πληροφορικής. Τα περισσότερα μέλη των ιδρυτών του Raspberry Pi εργάζονται ακόμη στο υπολογιστικό εργαστήριο του Πανεπιστημίου Cambridge ενώ ένας από τους ιδρυτές είχε αναπτύξει το 1984 ένα παιχνίδι για το BBC Micro. Έτσι το πρώτο Raspberry Pi MODEL B αναπτύχθηκε το 2011 και η πρώτη εμφάνιση του στην αγορά ήταν το Φεβρουάριο του 2012. Είχε πολύ μεγάλη επιτυχία μιας που στα 2 πρώτα χρόνια πουλήθηκαν πάνω από 2 εκατομμύρια συσκευές. Τον επόμενο χρόνο διατέθηκε στην αγορά και μια πιο απλή και φθηνότερη εκδοχή το MODEL A. Η ονομασία των εκδόσεων ήρθε από τα αντίστοιχα μοντέλα του BBC Micro, με εξαίρεση ένα αρκετά μικρότερο σε μέγεθος Raspberry Pi, το λεγόμενο Zero.