- Τι είναι το BLE και το Bluetooth Beacon;
- Πώς λειτουργεί και χρησιμοποιείται η τεχνολογία BLE με τους Beacons;
- Τι είναι το Eddystone Beacon;
- Απαιτήσεις
- Ρύθμιση Raspberry Pi για Eddystone Beacon
- Βελτιστοποιήστε την ισχύ σήματος μετάδοσης με βαθμονόμηση της ισχύος Tx
- Εφαρμογές του Eddystone Bluetooth Beacon
Το Bluetooth είναι μια από τις επαναστατικές τεχνολογίες για τη ασύρματη μεταφορά δεδομένων, τον έλεγχο άλλων συσκευών, την κατασκευή συστημάτων οικιακού αυτοματισμού κ.λπ. Ταμείο κ.λπ. Υπάρχει ένα πρωτόκολλο που αναπτύχθηκε από την Google για την εκτέλεση της εργασίας του, το οποίο μπορεί να αναπτυχθεί εύκολα στο Raspberry Pi για να το μεταδώσει ως Bluetooth Beacon.
Σε αυτό το σεμινάριο θα μάθουμε για το BLE (Bluetooth Low Energy) και το Bluetooth beacon και θα εγκαταστήσουμε το Eddystone Bluetooth Beacon στο Raspberry Pi για να μεταδώσουμε ένα URL. Είναι πολύ εύκολο να μετατρέψετε το Raspberry Pi σε Bluetooth Beacon, καθώς διαθέτει ενσωματωμένο Bluetooth.
Τι είναι το BLE και το Bluetooth Beacon;
Το Bluetooth Low Energy, όπως υποδηλώνει το όνομα καταναλώνει λιγότερη ισχύ από το κλασικό Bluetooth. Επιτυγχάνεται με την αποστολή δεδομένων όταν απαιτείται με προκαθορισμένες περιοδικές ενημερώσεις. Αλλά σε αντίθεση με το κλασικό Bluetooth, δεν χρησιμοποιείται για τη μεταφορά αρχείων ή μουσικής. Μια συσκευή BLE λειτουργεί με Bluetooth V4.0 και μπορεί να λειτουργήσει με χαμηλή ισχύ ως διακομιστής ή ως πελάτης, γεγονός που καθιστά το BLE ιδανική επιλογή για φάρους, έξυπνα ρολόγια, ζώνες γυμναστικής κ.λπ. Το κλασικό Bluetooth από την άλλη πλευρά είναι απλά το απλό παλιό Πρωτόκολλο Bluetooth που χρησιμοποιούμε για τη μεταφορά αρχείων και άλλων δεδομένων. Σχεδόν όλες οι συσκευές BLE σχετίζονται με τη λειτουργικότητα Classic Bluetooth. Εξηγήσαμε προηγουμένως λεπτομερώς το BLE με το ESP32.
Bluetooth Beacons:
Τα Beacons είναι οι συσκευές υλικού που μεταδίδουν ορισμένα μηνύματα σε κοντινές ηλεκτρονικές συσκευές και συμπεριφέρονται ως Broadcastaster. Αυτή η τεχνολογία επιτρέπει στις φορητές συσκευές να εκτελούν ορισμένες ενέργειες όταν βρίσκονται πολύ κοντά στη συσκευή φάρων. Τώρα, τα beacons μπορούν να εφαρμοστούν χρησιμοποιώντας BLE και κλασικό Bluetooth. Επειδή, τα περισσότερα smartphone και άλλες ηλεκτρονικές συσκευές είναι συμβατά με το BLE και μπορούν να χρησιμοποιηθούν ως δέκτης Beacon, οπότε η εφαρμογή του beacon BLE είναι πιο αποτελεσματική σε σύγκριση με το κλασικό σήμα Bluetooth για τη μείωση της κατανάλωσης ενέργειας.
Κατά μέσο όρο, ένας φάρος Bluetooth χαμηλής ενέργειας μπορεί να μεταδώσει σήματα BLE στα 80 μέτρα.
Πώς λειτουργεί και χρησιμοποιείται η τεχνολογία BLE με τους Beacons;
Το BLE είναι τεχνολογία χαμηλής κατανάλωσης ενέργειας που έχει σχεδιαστεί για επικοινωνία μικρής εμβέλειας και προτιμάται όταν η διάρκεια ζωής της μπαταρίας είναι πιο σημαντικός παράγοντας από τον υψηλό ρυθμό δεδομένων. Η μεταφορά δεδομένων σε αυτήν την επικοινωνία είναι μονόδρομη. Το BLE beacon μεταδίδει μικρά πακέτα δεδομένων σε τακτά χρονικά διαστήματα. Αυτά τα πακέτα δεδομένων λαμβάνονται και αποκωδικοποιούνται από την εφαρμογή σαρωτή beacon που είναι εγκατεστημένη σε smartphone. Αυτά τα δεδομένα που λαμβάνονται ενεργοποιούν ενέργειες όπως προώθηση προϊόντος ή προώθηση μηνύματος.
Στο φάρο Bluetooth ένας αριθμός ταυτότητας μεταδίδεται 10 φορές κάθε δευτερόλεπτο μέσω αυτού μέσω καναλιών BLE. Στη συνέχεια, αυτός ο αριθμός αναγνώρισης λαμβάνεται από τη συσκευή με δυνατότητα Bluetooth και αναγνωρίζεται από την εφαρμογή σαρωτή beacon, τη συνδέει με μια ενέργεια, όπως η λήψη μιας εφαρμογής ή ενός περιεχομένου που είναι αποθηκευμένο στο cloud και τον εμφανίζει στο smartphone.
Τι είναι το Eddystone Beacon;
Το Eddystone είναι ένα πρωτόκολλο που αναπτύχθηκε από την Google και επιτρέπει τη μετάδοση μονόδρομων μηνυμάτων σε συσκευές BLE. Το πλαίσιο Eddystone-URL αποτελεί τη ραχοκοκαλιά του Φυσικού Ιστού, το οποίο βοηθά στην ανακάλυψη περιεχομένου ιστού στη γύρω περιοχή. Το Beacon μπορεί να μεταδώσει τέσσερις τύπους δεδομένων χρησιμοποιώντας το πρωτόκολλο Eddystone. Έχουν ως εξής:
- Eddystone-URL για τη μετάδοση διευθύνσεων URL
- Eddystone-UID για τη μετάδοση αναγνωριστικών φάρων
- Eddystone-TLM για μετάδοση τηλεμετρίας φάρων όπως θερμοκρασία συσκευής, ισχύς μπαταρίας κ.λπ.
- Eddystone-EID για ασφάλεια.
Υπάρχουν επίσης άλλοι τύποι φάρων όπως το iBeacon που προορίζεται για συσκευές που υποστηρίζονται από iOS, αλλά το Eddystone προορίζεται μόνο για συσκευές Android. Σημειώστε επίσης ότι η Google έχει διακόψει τις Ειδοποιήσεις σε κοντινή απόσταση, τώρα ο χρήστης θα πρέπει να εγκαταστήσει ειδική εφαρμογή σαρωτή beacon που θα εμφανίζει το μεταδομένο περιεχόμενο.
Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε το Raspberry Pi ως Eddystone Beacon και θα επικεντρωθούμε στη μετάδοση διεύθυνσης URL χρησιμοποιώντας το Eddystone URL, έτσι ώστε οποιοσδήποτε να μπορεί να έχει εύκολη πρόσβαση στις μεταδιδόμενες πληροφορίες με τη βοήθεια των συσκευών του Android.
Απαιτήσεις
Εδώ απαιτείται μόνο το Raspberry Pi για την κατασκευή αυτού του Bluetooth Beacon. Θα πρέπει να είναι Raspberry Pi 2 ή νεότερο με Raspbian Jessie ή νεότερο OD εγκατεστημένο σε αυτό.
Εδώ, θα χρησιμοποιήσουμε το SSH για πρόσβαση στο Raspberry Pi στον φορητό υπολογιστή. Μπορείτε να χρησιμοποιήσετε σύνδεση VNC ή απομακρυσμένης επιφάνειας εργασίας στον φορητό υπολογιστή ή να συνδέσετε το Raspberry pi με οθόνη. Μάθετε περισσότερα σχετικά με τη ρύθμιση του Raspberry Pi χωρίς ακρόαση εδώ χωρίς οθόνη.
Ρύθμιση Raspberry Pi για Eddystone Beacon
Είναι πολύ εύκολο να εγκαταστήσετε τον Eddystone Broadcaster στο Raspberry Pi. Περιλαμβάνει μόνο 3 εντολές.
Αυτό μπορεί να γίνει διαμορφώνοντας το HCI (Host Controller Interface) που μπορεί να έχει πρόσβαση χρησιμοποιώντας το hciconfig commad. Για να ελέγξετε τι μπορεί να γίνει χρησιμοποιώντας αυτήν την εντολή, εισαγάγετε την παρακάτω εντολή στο τερματικό.
hciconfig -h
1. Πρώτον, πρέπει να Ενεργοποιήσουμε τη συσκευή Bluetooth στο Raspberry Pi χρησιμοποιώντας την παρακάτω εντολή.
sudo hciconfig hci0 επάνω
2. Τώρα, πρέπει να ρυθμίσουμε το Bluetooth να «διαφημίζει και δεν μπορεί να συνδεθεί» με την παρακάτω εντολή
sudo hciconfig hci0 leadv 3
3. Οι παραπάνω εντολές κάνουν τη συσκευή να εκτελεί υπηρεσία ραδιοτηλεοπτικής μετάδοσης, τώρα απλώς εισάγετε δεδομένα beacon στην επόμενη εντολή που περιέχει διαφορετικές πληροφορίες πλαισίου και διεύθυνση URL σε δεκαεξαδική μορφή. Εκτελέστε την παρακάτω εντολή για να ξεκινήσετε την εκπομπή beacon.
sudo hcitool -i hci0 cmd 0x08 0x0008 1c 02 01 06 03 03 aa fe 14 16 aa fe 10 00 02 63 69 72 63 75 69 74 64 69 67 65 73 74 07 00 00 00
Αυτή η εντολή θα μεταδώσει τη διεύθυνση URL
Για να ελέγξετε το μεταδιδόμενο μήνυμα στο έξυπνο τηλέφωνό σας, πραγματοποιήστε λήψη της εφαρμογής Physical Web App ή του σαρωτή Beacon στο smartphone Android και ξεκινήστε τη σάρωση. Θα δείτε τον μεταδιδόμενο σύνδεσμο στην εφαρμογή όπως φαίνεται παρακάτω. Κάντε κλικ στο σύνδεσμο για να επισκεφθείτε και να ανοίξετε τον ιστότοπο στο πρόγραμμα περιήγησης.
Τώρα ας κατανοήσουμε τη δεκαεξαδική κωδικοποίηση του μηνύματος. Στον παρακάτω πίνακα έχουμε δώσει εξηγήσεις για κάθε τιμή που υπάρχει στον κώδικα:
αξία |
Περιγραφή |
---|---|
0x08 |
#OGF = Πεδίο ομάδας λειτουργίας = Ομάδα εντολών Bluetooth = 0x08 |
0x0008 |
#OCF = Πεδίο εντολών λειτουργίας = HCI_LE_Set_Advertising_Data = 0x0008 |
1γ |
Μήκος. Το δεκαεξαδικό 1c μετατρέπεται σε 23 δεκαδικά ψηφία που είναι ο αριθμός των byte που ακολουθούν. |
02 |
Μήκος |
01 |
Επισημαίνει την τιμή τύπου δεδομένων |
06 |
Επισήμανση δεδομένων |
03 |
Μήκος |
03 |
Πλήρης λίστα με την τιμή τύπου δεδομένων UUIDs 16 bit υπηρεσίας |
αα |
UDID 16-bit Eddystone |
Φε |
UDID 16-bit Eddystone |
14 |
Μήκος. Το δεκαεξαδικό 14 μετατρέπεται σε 15 δεκαδικά που είναι ο αριθμός των byte που ακολουθούν |
16 |
Τιμή τύπου δεδομένων δεδομένων υπηρεσίας |
αα |
UDID 16-bit Eddystone |
Φε |
UDID 16-bit Eddystone |
10 |
Τύπος πλαισίου = URL |
00 |
TX Power (αυτό πρέπει να βαθμονομείται) |
02 |
Σχέδιο διεύθυνσης URL (http: // = 0x02) |
63 |
«c» σε δεκαεξαδικό |
69 |
«i» σε δεκαεξαδικό |
72 |
«r» σε δεκαεξαδικό |
63 |
«c» σε δεκαεξαδικό |
75 |
"u" σε δεκαεξαδικό |
69 |
«i» σε δεκαεξαδικό |
74 |
«t» σε δεκαεξαδικό |
64 |
«d» σε δεκαεξαδικό |
69 |
«i» σε δεκαεξαδικό |
67 |
«g» σε δεκαεξαδικό |
65 |
«e» σε δεκαεξαδικό |
73 |
's' σε δεκαεξαδικό |
74 |
«t» σε δεκαεξαδικό |
07 |
.com (.com = 0x07) |
00 |
|
00 |
|
00 |
Για να μεταδώσετε οποιαδήποτε προσαρμοσμένη διεύθυνση URL χρησιμοποιώντας το Raspberry Pi Bluetooth Beacon, απλώς μετατρέψτε τους χαρακτήρες URL σε δεκαεξαδικό χρησιμοποιώντας οποιοδήποτε ηλεκτρονικό εργαλείο και τοποθετήστε το στην παραπάνω εντολή. Οι μέγιστοι χαρακτήρες που μπορούν να μεταδοθούν είναι 16, εάν η διεύθυνση URL είναι πολύ μεγάλη, συντομεύστε τη χρησιμοποιώντας οποιεσδήποτε υπηρεσίες συντομεύσεων διευθύνσεων URL όπως το bitly.com και στη συνέχεια χωρέστε τα δεδομένα στον παραπάνω πίνακα.
Είναι πολύ δύσκολο και χρονοβόρο για τη μετατροπή κάθε χαρακτήρα σε δεκαεξαδικό ισοδύναμο. Για να διευκολύνετε τη δουλειά σας, υπάρχει μια αριθμομηχανή εντολών διεύθυνσης URL Eddystone όπου απλώς πρέπει να εισαγάγετε τη διεύθυνση URL που θέλετε να μεταδοθεί και θα ετοιμάσετε την εντολή σας έτσι.
Το Bluetooth beacon μεταδίδει τώρα τη διεύθυνση URL και λειτουργεί καλά, αλλά υπάρχει ένα ακόμη πράγμα που πρέπει να βαθμονομηθεί είναι η ισχύς Tx, η οποία είναι μία από τις τιμές στην παραπάνω εντολή για να πάρει την ακριβή απόσταση από το φάρο Bluetooth.
Βελτιστοποιήστε την ισχύ σήματος μετάδοσης με βαθμονόμηση της ισχύος Tx
Στο πλαίσιο του Eddystone υπάρχουν λίγα στοιχεία που μεταδίδονται και η ισχύς Tx είναι ένα από αυτά που λέει την ισχύ του σήματος. Αποκωδικοποιώντας την ισχύ του σήματος, ο δέκτης βρίσκει την απόσταση από τον τηλεοπτικό σταθμό Beacon. Η τιμή της ισχύος Tx μπορεί να κυμαίνεται από -12 έως 10. Πρέπει να βρούμε την τιμή με τη μέθοδο επίσκεψης και δοκιμής για να έχουμε την ακριβή απόσταση. Για αυτό, προσαρμόστε την τιμή της ισχύος Tx στην εντολή μηνυμάτων Eddystone και τοποθετήστε το smartphone σας σε απόσταση 1 m με ανοιχτή την εφαρμογή σαρωτή Beacon. Τώρα ξεκινήστε να βάλετε τις τιμές της ισχύος Tx στην εντολή από 0 σε αρνητικές τιμές. Θυμηθείτε να μετατρέψετε τις δεκαδικές τιμές σε δεκαεξαδική μορφή, για αυτό χρησιμοποιήστε τα διαδικτυακά εργαλεία μετατροπής τιμών για εύκολη αποκωδικοποίηση και λάβετε τα δύο τελευταία ψηφία της μετατροπής. Στην περίπτωσή μου η τιμή hexa είναι f4. Ελέγξτε την απόσταση στην εφαρμογή σαρωτή, προσαρμόστε τις τιμές έως ότου εμφανιστεί περίπου 1m και μετά από αυτό πρέπει να χρησιμοποιήσετε τον ραδιοτηλεοπτικό σταθμό Eddystone URL με ακριβή απόσταση.
Εφαρμογές του Eddystone Bluetooth Beacon
Ακολουθούν μερικές από τις περιπτώσεις χρήσης του BLE beacon:
- Λιανικό εμπόριο με δυνατότητα BLE: Αυτή η τεχνολογία μπορεί να χρησιμοποιηθεί για να προσελκύσει πελάτες κοντά στα καταστήματα διαφημίζοντας τις συναρπαστικές προσφορές και πωλήσεις.
- Εκδηλώσεις με δυνατότητα BLE beacon: Μπορεί να χρησιμοποιηθεί για την εύκολη εγγραφή στις εκδηλώσεις και σε γήπεδα με εύκολη πληρωμή.
- BLE beacons στο Real Estate: Μπορείτε να λάβετε όλες τις λεπτομέρειες των διαθέσιμων ακινήτων κοντά σας και να κάνετε κράτηση με ένα πάτημα.
Υπάρχουν πολλές άλλες εφαρμογές που μπορείτε να σκεφτείτε και να εφαρμόσετε σύμφωνα με τις απαιτήσεις.
Έτσι, πώς το Raspberry Pi μπορεί να χρησιμοποιηθεί για τη μετάδοση οποιουδήποτε μηνύματος ή διεύθυνσης URL, μετατρέποντάς το σε Bluetooth Beacon χρησιμοποιώντας το Eddystone. Δείτε το βίντεο επίδειξης παρακάτω.
/>