Το Bluetooth LE doc-a-thon στο ITP Camp - 💡 Fix My Ideas

Το Bluetooth LE doc-a-thon στο ITP Camp

Το Bluetooth LE doc-a-thon στο ITP Camp


Συγγραφέας: Ethan Holmes, 2019

Το Bluetooth LE doc-a-thon στο ITP Camp

Είμαι επί του παρόντος στη Νέα Υόρκη για το φετινό ITP Camp, μια παιδική χαρά 4 εβδομάδων χωρίς συνεννόηση και τεχνολογία για τους πολυάσχολους ανθρώπους. Που πραγματοποιείται κάθε Ιούνιο στο ITP συγκεντρώνει μια διαφορετική ομάδα παραγωγών, καλλιτεχνών, μουσικών και δημιουργικών όλων των ειδών - να κάνει πράγματα, να ακούει ομιλητές στην πρωτοπορία της τεχνολογίας και της τέχνης και να συνεργάζεται με ανθρώπους που απλά δεν θα συναντούσαν κανονικά .

Είναι επίσης ένα μέρος για να κάνεις πράγματα που δεν καταφέρνεις να βρεις χρόνο και πιθανότατα δεν θα ήταν διαφορετικά και γι 'αυτό την περασμένη εβδομάδα καθίσαμε μαζί με τον Tom Igoe, τον Don Coleman, τον Sandeep Mistry, τον Guan Yang, τον JB Kim και άλλους - για ένα Bluetooth LE doc-a-thon δύο ημερών.

Όλοι μας εργαζόμαστε με συσκευές Bluetooth LE - μαζί με τον Don and Sandeep γράφω ένα βιβλίο για το Make: στο Bluetooth LE, τα κινητά τηλέφωνα και τους αισθητήρες, ενώ οι Guan και JB διαθέτουν συσκευές Bluetooth LE - αλλά όλοι συμφωνήσαμε ότι ξεκίνησε η χρήση του Bluetooth LE ήταν πολύ πιο δύσκολο από ό, τι έπρεπε, και ότι πολλοί σπουδαίοι εργαζόμενοι έκαναν να πέφτουν στο πάτωμα (ή χειρότερα ακόμα να γίνουν και πάλι) επειδή οι άνθρωποι δεν ήξεραν ότι υπήρχε. Αποφασίσαμε να καθίσουμε και να κάνουμε κάτι για αυτό.

Έτσι, ως μέρος του doc-a-thon, συγκεντρώσαμε μαζί τεκμηρίωση, βίντεο και παραδείγματα κώδικα που ελπίζαμε ότι θα κάνουν ακριβώς αυτό.

Πώς είναι διαφορετικό το Bluetooth LE;

Bluetooth LE είναι πολύ διαφορετικό από το κλασικό Bluetooth, στην πραγματικότητα λίγο πολύ το μόνο πράγμα που είναι το ίδιο είναι το όνομα.

Ο Tom Igoe και ο Don Coleman δίνουν μια γενική εικόνα της χαμηλής ενέργειας Bluetooth.

Μάλλον συνηθίζετε να σκέφτεστε για τα ραδιόφωνα σαν κάτι σαν μια σειριακή σύνδεση που λειτουργεί παρόμοια με ένα τηλεφώνημα μεταξύ δύο τηλεφώνων - μόλις δημιουργήσετε μια σύνδεση, κάθε άτομο μιλάει όπως το άλλο ακούει και το αντίστροφο. Παραμένουν συνδεδεμένοι, ακόμη και αν δεν λέει τίποτα, μέχρι να κρεμάσει κανείς και να κλείσει η κλήση.

Σε συστήματα όπως αυτά, τα δεδομένα μεταφέρονται χρησιμοποιώντας μια ουρά, και όταν τα δεδομένα διαβάζονται από τον δέκτη, διαγράφονται από την ουρά, όπως μόλις οι λέξεις φτάσουν στα αυτιά σας μέσω του τηλεφώνου, είναι εκτός του καναλιού επικοινωνιών. Αποτελεσματικά αυτό λειτουργεί το "Κλασικό" Bluetooth.

Το Bluetooth LE είναι πολύ διαφορετικό. Αντί να επικοινωνεί μέσω μιας σύνδεσης από σημείο σε σημείο όπως ένα τηλέφωνο, ένα ραδιόφωνο Bluetooth LE λειτουργεί σαν πίνακας ανακοινώσεων της κοινότητας, με κάθε ραδιόφωνο να λειτουργεί σαν πίνακας ή ως αναγνώστης του διοικητικού συμβουλίου.

Εάν το ραδιόφωνό σας είναι ένα δελτίο τύπου-που ονομάζεται περιφερειακή συσκευή στο Bluetooth LE-parlance-δημοσιεύει δεδομένα στο διοικητικό συμβούλιο του για να διαβάσει ο καθένας στην κοινότητα. Εάν το ραδιόφωνό σας είναι ένας αναγνώστης που ονομάζεται κεντρική συσκευή με όρους Bluetooth LE, μπορεί να διαβάσει από οποιαδήποτε από τις πλακέτες (τις περιφερειακές συσκευές) που έχουν πληροφορίες που τους ενδιαφέρει.

Αν δεν σας αρέσει αυτή η αναλογία, μπορείτε επίσης να σκεφτείτε τις περιφερειακές συσκευές ως διακομιστές σε μια συναλλαγή πελάτη-διακομιστή. Ομοίως, οι κεντρικές συσκευές είναι οι πελάτες του κόσμου Bluetooth LE επειδή διαβάζουν πληροφορίες από τις περιφερειακές συσκευές.

Αλλά μου αρέσουν σειριακές συνδέσεις;

Οι περισσότεροι (ίσως όλοι;) από τις κάρτες ξεμπλοκαρίσματος Bluetooth LE που διατίθενται στους κατασκευαστές αυτή τη στιγμή - το RedBearLab BLE mini και το Adafruit Bluefruit LE για παράδειγμα - προσποιούνται ότι μοιάζουν με σειριακές συσκευές για λόγους απλότητας και παρουσιάζουν μια υπηρεσία UART στο χρήστη. Αποτελεσματικά αυτά τα ραδιόφωνα είναι "παραπλανητικά" παλαιού τύπου σειριακή επικοινωνία πάνω από το υποκείμενο πρότυπο πίνακα ανακοινώσεων. Είναι ένα hack, και στην πραγματικότητα δεν είναι καλό hack.

Ενώ απλοποιεί τα πράγματα από την πλευρά Arduino των πραγμάτων, χρησιμοποιώντας το ραδιόφωνο με αυτόν τον τρόπο ακυρώνετε το τμήμα "χαμηλής ενέργειας" του Bluetooth LE. Τα ραδιόφωνα θα είναι συνεχώς όλο το χρόνο και εάν το σχέδιό σας βασίζεται σε μπαταρίες, αυτό είναι ένα μεγάλο πρόβλημα.

Ο Tom Igoe και ο Don Coleman μιλούν για τις υπηρεσίες και το Bluetooth LE.

Φανταστείτε ένα παράδειγμα όπου θέλετε να ελέγξετε μια LED που είναι συνδεδεμένη με μια κάρτα Arduino από το τηλέφωνό μας μέσω Bluetooth LE. Εάν χρησιμοποιήσουμε μια σειριακή σύνδεση, η σύνδεση θα ανοίξει συνεχώς, αλλά θα χρησιμοποιηθεί μόνο περιοδικά - όταν στέλνουμε 1 ή 0 μέσω του αέρα στον πίνακα Arduino για να ενεργοποιήσουμε ή να σβήσουμε τη λυχνία LED.

Ως εναλλακτική λύση, μπορείτε να μειώσετε σημαντικά την κατανάλωση ρεύματος του έργου σας χρησιμοποιώντας το Bluetooth LE, όπως θα έπρεπε να χρησιμοποιηθεί και την εφαρμογή μιας προσαρμοσμένης υπηρεσίας για το ραδιόφωνο που συνδέεται με το Arduino για να διαφημίσει την ικανότητά του να ανάβει ή να σβήνει τη λυχνία LED.

Επιστρέφοντας στο παράδειγμα πίνακα ανακοινώσεων δημιουργούμε ένα πίνακα (υπηρεσία) που έχει μια συνημμένη σημείωση (γνωστή ως χαρακτηριστικό στη γλώσσα Bluetooth LE) την οποία μπορούμε να διαβάσουμε και να μας ενημερώσετε αν η λυχνία LED είναι ενεργοποιημένη ή απενεργοποιημένη , ή γράψτε σε-επιτρέποντάς μας να ελέγξουμε το LED.

Δημιουργία προσαρμοσμένης υπηρεσίας

Δυστυχώς μέχρι πρόσφατα την κατασκευή προσαρμοσμένων υπηρεσιών για το Bluetooth LE ήταν πραγματικά αρκετά περίπλοκο και όχι για τα αδύναμα καρδιά. Ωστόσο, γίνεται όλο και πιο απλό, καθώς υπάρχουν αρκετά καλά εργαλεία για να κάνετε το μεγαλύτερο μέρος της βαριάς ανύψωσης για εσάς.

Υπό το πρίσμα αυτό αποφασίσαμε να εξετάσουμε μια πλατφόρμα - το ραδιόφωνο Nordic Semiconductor nRF8001 - και να καταλάβουμε μια πλήρη σειρά εργαλείων που θα σας επιτρέψει να δημιουργήσετε μια προσαρμοσμένη υπηρεσία για το ραδιόφωνο και να χρησιμοποιήσετε αυτή την υπηρεσία από ένα έργο Arduino. Επιλέξαμε αυτό το συγκεκριμένο ραδιόφωνο επειδή είναι άμεσα διαθέσιμο και υπάρχει καλή υποστήριξη βιβλιοθήκης.

Το πρώτο πράγμα που πρέπει να κάνετε όταν ασχολείστε με το nRF8001 είναι να εγκαταστήσετε το nRFGo Studio της Nordic και ενώ το nRFGo είναι μια εφαρμογή του MS Window, τρέχει πολύ καλά στο Mac στο OS X χρησιμοποιώντας το Wine. Αυτή η εφαρμογή είναι το εργαλείο που χρειάζεστε για να δημιουργήσετε το αρχείο ρυθμίσεων για τις υπηρεσίες Bluetooth LE που θα διαφημίσει το ραδιόφωνο και, ως προϊόν, δημιουργεί επίσης ένα αρχείο header services.h που θα χρειαστείτε στο πλαίσιο του έργου Arduino.

Ο "έξυπνος διακόπτης φωτισμού"

Συνδέστε το έξυπνο παράδειγμα διακόπτη φωτισμού.

Θέλαμε να οικοδομήσουμε κάτι με πολλαπλές υπηρεσίες, γι 'αυτό αποφασίσαμε να δημιουργήσουμε ένα "έξυπνο" διακόπτη φωτισμού όπου δεν θα μπορούσατε να ανάψετε ή απενεργοποιήσετε το φως μέσω του Bluetooth LE, αλλά να πάρετε την τρέχουσα κατάσταση του διακόπτη φωτισμού ελέγξτε το φως) και λάβετε ειδοποίηση όταν ο διακόπτης ήταν ενεργοποιημένος.

Έλεγχος φωτός μέσω Bluetooth LE.

Το ωραίο πράγμα για αυτό το παράδειγμα είναι πόσο απλό είναι, πέρα ​​από το board Arduino και το ραδιόφωνο nRF8001 - αποφασίσαμε να χρησιμοποιήσουμε το board breakout Adafruit Bluefruit LE - χρειάζεστε πραγματικά μόνο μερικά καλώδια, αντιστάσεις και άλλα κοινά διαθέσιμα εξαρτήματα.

Η δημιουργία του αρχείου ρυθμίσεων services.h χρησιμοποιώντας το nRFGo Studio είναι ίσως το πιο δύσκολο κομμάτι της ολόκληρης σειράς εργαλείων και περάσαμε πολύ χρόνο για να βρούμε τον ευκολότερο τρόπο για να συμπεριλάβετε το παραγόμενο αρχείο services.h στο έργο Arduino αντί του πρέπει να το συμπεριλάβει στη βιβλιοθήκη Arduino του nRF8001.

Ενώ αυτό σήμαινε ένα αίτημα έλξης για τον συντηρητή της βιβλιοθήκης και μερικές χειροκίνητες τροποποιήσεις στο αρχείο services.h, τελικά το πήραμε να δουλέψει και αυτό σημαίνει ότι εργάζεστε εξ ολοκλήρου εντός του IDE Arduino μόλις δημιουργήσετε τη διαμόρφωση των υπηρεσιών σας .

Περισσότερες λεπτομέρειες και όλος ο πηγαίος κώδικας για τα παραδείγματα έργων είναι διαθέσιμα στο Github ως μέρος των παραδειγμάτων τεκμηρίωσης και κώδικα που παρουσιάσαμε κατά τη διάρκεια του doc-a-thon.

συμπέρασμα

Υπάρχει τώρα ένας τεράστιος αριθμός συσκευών Bluetooth LE εκτός σειράς, που κυμαίνονται από φορητές συσκευές μέχρι κλειδαριές, από drones έως lightbulbs - και φυσικά υπάρχει πάντα το πανταχού παρόν iBeacon - αλλά υπάρχει επίσης ένας αυξανόμενος αριθμός συμβούλων προγραμματιστών που σημαίνουν τη χρήση Αυτές οι συσκευές που βρίσκονται εκτός ορίων από το έργο Arduino (ή να γίνουν ένα) είναι επίσης πιο απλές. Ας ελπίσουμε ότι ο doc-a-thon θα αποδειχθεί χρήσιμος για να επιταχύνει αυτή τη διαδικασία και, όπως είναι όλα τα πράγματα, οι συνεισφορές του Github είναι φυσικά πολύ ευπρόσδεκτες.



Μπορεί Να Σας Ενδιαφέρει

Ponytrope: Αναδημιουργία του Classic Horse Galloping με 3D εκτύπωση

Ponytrope: Αναδημιουργία του Classic Horse Galloping με 3D εκτύπωση


Οι μεγαλύτερες επιτυχίες του Maker Faires, Έκδοση 2014

Οι μεγαλύτερες επιτυχίες του Maker Faires, Έκδοση 2014


Συγγραφείς δημιουργών, Maker Faire

Συγγραφείς δημιουργών, Maker Faire


Ο Dean Kamen να μιλήσει στο World Faire Faire

Ο Dean Kamen να μιλήσει στο World Faire Faire