Οι συσκευές IoT είναι κατασκευασμένες σε πολλά διαφορετικά λειτουργικά συστήματα ανάλογα με τις συγκεκριμένες εφαρμογές τελικής χρήσης.
Οι διανομές Linux, όπως το Yocto ή το Android Things, είναι πολύ δημοφιλείς στις έξυπνες οικιακές συσκευές. Τα Windows 10 IoT Core είναι τα πλέον κατάλληλα για συσκευές IoT edge σε επίπεδο διακομιστή (οποιοδήποτε υλικό που ελέγχει τη ροή δεδομένων στο όριο μεταξύ δύο δικτύων). Και φυσικά, το λειτουργικό σύστημα Raspbian συνιστάται για τακτική χρήση στο Raspberry Pi .
Εδώ, το άρθρο θα συζητήσει το TinyOS το οποίο, ουσιαστικά, είναι πολύ χρήσιμο για δίκτυα αισθητήρων χαμηλής κατανάλωσης.
Τι είναι το TinyOS;
Το TinyOS είναι ένα λειτουργικό σύστημα ανοιχτού κώδικα που βασίζεται σε BSD και χρησιμοποιεί τη γλώσσα προγραμματισμού nesC για τον έλεγχο και τη διαχείριση ασύρματων δικτύων αισθητήρων (WSN). Οι συσκευές αισθητήρων (που ονομάζονται motes) σε τέτοια δίκτυα χαρακτηρίζονται από χαμηλή ισχύ, περιορισμένη μνήμη και πολύ συμπαγή μορφή.
Το TinyOS γράφτηκε για πρώτη φορά από τον Jason Hill στο Πανεπιστήμιο του Μπέρκλεϋ το 2000. Είναι εντελώς δωρεάν και ανοιχτού κώδικα λογισμικό.

Λαμβάνοντας υπόψη την απόλυτη χρήση του, το TinyOS είναι ένα δημοφιλές λειτουργικό σύστημα για αισθητήρες χαμηλής κατανάλωσης που ελέγχουν το φως, την επιτάχυνση, τη θερμοκρασία, την πίεση και τα ακουστικά αντικείμενα. Το TinyOS χρησιμοποιείται συχνά σε εφαρμογές βιομηχανίας 4.0.
Γιατί το TinyOS είναι χρήσιμο για ασύρματα δίκτυα αισθητήρων;
Οι αισθητήρες χαμηλής ισχύος, λόγω των περιορισμών στην εμβέλειά τους, απαιτούν αποτελεσματική χρήση πόρων. Το TinyOS είναι βασικά χτισμένο σε μια αρχιτεκτονική βασισμένη σε στοιχεία, για μείωση του μεγέθους κώδικα σε περίπου 400 έως 500 byte και σχεδιασμό που βασίζεται σε συμβάντα, εξαλείφοντας την ανάγκη για ένα κέλυφος εντολών.
Η αρχιτεκτονική που βασίζεται σε στοιχεία χρησιμοποιεί τη neC, η οποία είναι μια γλώσσα προγραμματισμού C που έχει σχεδιαστεί για τη διασύνδεση ενσωματωμένων συστημάτων. Κάθε απόσπασμα κώδικα αποτελείται από απλές συναρτήσεις τοποθετημένες μέσα σε στοιχεία και σύνθετες συναρτήσεις που ενσωματώνουν όλα τα στοιχεία μαζί.
Το παρακάτω παράδειγμα αποσπάσματος κώδικα που βασίζεται σε στοιχεία NesC δείχνει την ενσωμάτωση διαφορετικών στοιχείων, όπως χρονόμετρα, ρολόγια και ανταλλαγή μηνυμάτων.

Το TinyOS χρησιμοποιεί επίσης μια σχεδίαση που βασίζεται σε συμβάντα, στόχος της οποίας είναι να θέσει τη CPU σε κατάσταση ηρεμίας όταν δεν υπάρχουν εκκρεμείς εργασίες. Ένα συμβάν θα μπορούσε να είναι κάτι σαν την ενεργοποίηση συναγερμού όταν η θερμοκρασία ενός θερμοστάτη αυξάνεται ή μειώνεται πάνω από μια συγκεκριμένη τιμή. Μόλις τελειώσει το συμβάν, οι κινήσεις του αισθητήρα μπορούν να μεταβούν σε κατάσταση "νάρκης".
Η ανάγκη για ένα σχέδιο όπως το TinyOS είναι επιτακτική σε εφαρμογές όπως οι έξυπνες μεταφορές και τα έξυπνα εργοστάσια. Επειδή υπάρχουν χιλιάδες αισθητήρες, είναι σημαντικό να έχετε πολύ μικρό αποτύπωμα μνήμης για να μειώσετε τις απαιτήσεις ισχύος.
Πού χρησιμοποιείται το TinyOS;
Επί του παρόντος, το TinyOS έχει περισσότερες από 35.000 λήψεις. Οι κύριες εφαρμογές του βρίσκονται σε όλους τους τύπους συσκευών που χρησιμοποιούν ασύρματα δίκτυα αισθητήρων.
- Περιβαλλοντική παρακολούθηση : Καθώς κάθε σύστημα TinyOS μπορεί να ενσωματωθεί σε έναν μικρό αισθητήρα, είναι χρήσιμο για την παρακολούθηση της ατμοσφαιρικής ρύπανσης, των δασικών πυρκαγιών και της πρόληψης φυσικών καταστροφών.
- Έξυπνα οχήματα : Τα έξυπνα οχήματα είναι αυτόνομα και μπορούν να θεωρηθούν ως ένα δίκτυο αισθητήρων. Αυτοί οι αισθητήρες επικοινωνούν μέσω ασύρματων δικτύων χαμηλής κατανάλωσης (LPWAN) κάνοντας το TinyOS τέλειο.
- Έξυπνες πόλεις : Το TinyOS είναι μια βιώσιμη λύση για απαιτήσεις ανίχνευσης χαμηλής ισχύος για επιχειρήσεις κοινής ωφέλειας, δίκτυα ηλεκτρικής ενέργειας, υποδομές Διαδικτύου και πολλές άλλες εφαρμογές έξυπνων πόλεων.

- Παρακολούθηση υγείας μηχανής : Οι εφαρμογές μηχανής με μηχανή (M2M) έχουν πολλαπλές διεπαφές αισθητήρων. Δεν είναι δυνατό να καθοριστεί ένα πλήρες υπολογιστικό περιβάλλον για κάθε αισθητήρα. Το TinyOS μπορεί να εκτελέσει ασφάλεια, διαχείριση ενέργειας και εντοπισμό σφαλμάτων αισθητήρων.
Πού να μάθετε για το TinyOS;
Όλες οι πληροφορίες λήψης στο TinyOS είναι προσβάσιμες από την επίσημη σελίδα του στο GitHub (δείτε: https://github.com/tinyos/tinyos-main ). Εκτός από το BSD, το TinyOS υποστηρίζει επίσης Mac OS X.
Η μεγαλύτερη ολοκληρωμένη πηγή πληροφοριών για το TinyOS είναι διαθέσιμη στο wiki του Πανεπιστημίου του Στάνφορντ (δείτε: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page ). Αυτή η πηγή περιέχει πληροφορίες σχετικά με την εγκατάσταση του προγράμματος, εκτενείς οδηγίες και ένα μεγάλο ευρετήριο κώδικα που συνεισφέρουν πολλοί άλλοι.
Το TinyOS είναι ένα παράδειγμα λειτουργικού συστήματος σχεδιασμένου για χαμηλού κόστους ασύρματα δίκτυα αισθητήρων χαμηλής κατανάλωσης. Αλλά δεν είναι η μόνη επιλογή. Άλλα παραδείγματα παρόμοιων λειτουργικών συστημάτων περιλαμβάνουν τα Contiki, OpenWSN, FreeRTOS και RIOT.