Οι αισθητήρες εγγύτητας μπορούν να περιγραφούν ως μοναδικοί διακόπτες που ανιχνεύουν ένα κοντινό αντικείμενο με τη βοήθεια φωτός, ηλεκτρομαγνητικού πεδίου ή ήχου. Συνήθως, αυτοί οι τύποι συσκευών έχουν σχεδιαστεί για την ανίχνευση κοντινών θεμάτων και συχνά είναι η πρακτική εφαρμογή στην οποία θα χρησιμοποιηθούν οι περισσότεροι από αυτούς τους αισθητήρες. Αλλά υπάρχουν περιστάσεις όπου το θέμα απέχει πολύ από τον αισθητήρα ή το θέμα αποκλείεται από ένα εμπόδιο, σε αυτούς τους τύπους καταστάσεων, μπορούμε να χρησιμοποιήσουμε συσκευές BLE (Bluetooth Low Energy) για τον εντοπισμό και την αίσθηση της εγγύτητας του αντικειμένου. Ο πίνακας ανάπτυξης ESP32 διαθέτει ενσωματωμένο BLE, το οποίο έχουμε χρησιμοποιήσει σε πολλά άλλα έργα. Εάν είστε εντελώς νέοι στο BLE, ελέγξτε τα έργα του προγράμματος-πελάτη ESP32 BLE και του διακομιστή ESP32 BLE που έχουμε δημιουργήσει νωρίτερα. Έχουμε επίσης δημιουργήσει ένα Bluetooth iBeacon χρησιμοποιώντας το ESP32 στο παρελθόν.
Σε αυτό το άρθρο, θα σας δείξω πώς να φτιάξετε έναν απλό ανιχνευτή παρουσίας BLE με τη βοήθεια ενός ESP32 και του Arduino, και στο τέλος, θα δοκιμάσουμε αυτές τις συσκευές χρησιμοποιώντας το BLE στο smartphone και σε ένα έξυπνο ρολόι.
Τι είναι το Bluetooth Low Energy (BLE);
Το BLE σημαίνει Bluetooth Low Energy και ήρθε στην καθημερινή μας ζωή το 2011, επειδή εκείνη την εποχή του έτους κάθε μεγάλος κατασκευαστής άρχισε να ενσωματώνει την τεχνολογία BLE στις συσκευές τους. Το BLE είναι μια τεχνολογία ασύρματης επικοινωνίας χαμηλής ισχύος που αναπτύχθηκε για εφαρμογές ισχύος μπαταρίας, η οποία μπορεί να χρησιμοποιηθεί για επικοινωνία μεταξύ συσκευών σε μικρή απόσταση. Ορισμένες από τις συσκευές που χρησιμοποιείτε κάθε μέρα διαθέτουν ενσωματωμένο Bluetooth όπως το smartphone, το έξυπνο ρολόι σας, τα ασύρματα ακουστικά, τα ασύρματα ηχεία, οι έξυπνες οικιακές συσκευέςκαι περισσότερο ενσωματωμένο Bluetooth για επικοινωνία ή λήψη δεδομένων τοποθεσίας.
Το BLE είναι μια σχετικά νέα τεχνολογία και το πρωτόκολλο BLE αναπτύχθηκε από την Bluetooth Special Interest Group (SIG) με πρωταρχικό στόχο την πραγματοποίηση των συσκευών χαμηλής ισχύος. Αν και το όνομα του νέου πρωτοκόλλου παρέμεινε το ίδιο, το νέο πρωτόκολλο BLE δεν ήταν συμβατό προς τα πίσω, πράγμα που σημαίνει ότι οι συσκευές Bluetooth Classic δεν μπορούν να μιλήσουν με τις συσκευές BLE, παρά το μειονέκτημα αυτής της τεχνολογίας, επέτρεψε στους προγραμματιστές να παράγουν ενέργεια πολύ χαμηλής ισχύος - αποδοτικές συσκευές που μπορούν να διαρκέσουν για μήνες ακόμη και χρόνια με μια μικρή μπαταρία νομισμάτων.
Πώς λειτουργεί η επικοινωνία BLE;
Το BLE χρησιμοποιεί μια ιεραρχική δομή δεδομένων για την αποστολή και τη λήψη πληροφοριών. Μια συσκευή BLE που λειτουργεί ως διακομιστής θα διαφημίζει υπηρεσίες και χαρακτηριστικά που μπορούν να εντοπιστούν από έναν πελάτη και όταν η ανταλλαγή πληροφοριών είναι επιτυχής, οι συσκευές BLE μπορούν να επικοινωνούν μεταξύ τους ταυτόχρονα. Σε τεχνικούς όρους, αυτή η στοίβα πληροφοριών είναι γνωστή ως χαρακτηριστικό μιας συσκευής BLE. Και ορίζεται και υλοποιείται χρησιμοποιώντας το προφίλ GATT (Γενικά χαρακτηριστικά). Σε αυτά τα προφίλ, έχουμε υπηρεσία, χαρακτηριστικά και τιμές με ιεραρχική σειρά. Οι υπηρεσίες περιέχουν χαρακτηριστικά και το χαρακτηριστικό περιέχει την τιμή, διαβάζοντας το χαρακτηριστικό, μπορούμε να διαβάσουμε τις τιμές και τις αλλαγές των τιμών με την πάροδο του χρόνου.
Τα χαρακτηριστικά μπορούν να επεξεργαστούν ώστε να περιλαμβάνουν πληροφορίες ανάγνωσης ή εγγραφής. Οι συσκευές που περιέχουν στοιχεία ανάγνωσης μπορούν να δημοσιεύουν πληροφορίες και οι συσκευές που περιέχουν χαρακτηριστικά εγγραφής μπορούν να λαμβάνουν δεδομένα από έναν πελάτη.
Το προφίλ GATT βάσει του οποίου ορίζονται οι υπηρεσίες και τα χαρακτηριστικά είναι γνωστό ως Universally Unique Identifier (UUID). Υπάρχουν ορισμένες τυπικές υπηρεσίες και χαρακτηριστικά που ορίζονται και διατηρούνται από την εταιρεία SIG εάν διαβάσουμε το UUID μιας συσκευής BLE, μπορούμε αμέσως να πούμε τι είδους συσκευή είναι.