Πίνακας περιεχομένων:
- Βήμα 1: Τι είναι μια βιβλιοθήκη;
- Βήμα 2: Δομή και αρχεία βιβλιοθήκης
- Βήμα 3: Το αρχείο κεφαλίδας
- Βήμα 4: Το αρχείο προέλευσης
- Βήμα 5: Παροχή παραδείγματος σκίτσων
- Βήμα 6: Δημοσίευση στον Διαχειριστή βιβλιοθήκης
- Βήμα 7: Επόμενα βήματα
Βίντεο: Δημιουργία βιβλιοθήκης Arduino για το YouTube Sight: 7 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Γεια σε όλους, Δημιούργησα πρόσφατα μια υπηρεσία που ονομάζεται YouTube Sight που μπορεί να εξαγάγει δεδομένα συνδρομητών από το API του YouTube Analytics και να σας δώσει ακριβέστερους αριθμούς συνδρομητών από τότε που το YouTube άρχισε να συγκεντρώνει τα αποτελέσματα. Με αυτό, έχω δημιουργήσει ένα παράδειγμα σκίτσου, αλλά ήθελα επίσης να φτιάξω μια βιβλιοθήκη Arduino, ώστε οι άνθρωποι να μπορούν να το χρησιμοποιήσουν πιο εύκολα.
Βήμα 1: Τι είναι μια βιβλιοθήκη;
Μια βιβλιοθήκη είναι ένα κομμάτι κώδικα που μπορεί να χειριστεί μια συγκεκριμένη λειτουργία, να επεξεργαστεί έναν τύπο δεδομένων ή μπορεί να γνωρίζει πώς να αλληλεπιδρά με ένα συγκεκριμένο στοιχείο υλικού. Μας επιτρέπουν να επεκτείνουμε εύκολα το περιβάλλον Arduino και υπάρχουν πολλά από αυτά που είναι προεγκατεστημένα με το Arduino IDE.
Σε περιπτώσεις όπως η δική μου, όπου θέλουμε να προσθέσουμε νέες δυνατότητες στο Arduino, μπορούμε να δημιουργήσουμε τις δικές μας βιβλιοθήκες για να τις χρησιμοποιούν άλλοι άνθρωποι. Όλες οι εγκατεστημένες βιβλιοθήκες ζουν σε έναν συγκεκριμένο φάκελο στον υπολογιστή μας. Στην περίπτωσή μου για υπολογιστή με Windows, οι βιβλιοθήκες βρίσκονται κάτω από το φάκελο Documents/Arduino. Η πλήρης διαδρομή θα είναι συγκεκριμένη για εσάς, με βάση το όνομα χρήστη σας.
Βήμα 2: Δομή και αρχεία βιβλιοθήκης
Για να ξεκινήσουμε τη δημιουργία της βιβλιοθήκης μας, πρέπει πρώτα να δημιουργήσουμε έναν φάκελο με το όνομά του, έτσι έχω δημιουργήσει ένα φάκελο που ονομάζεται YouTube Sight. Στην ελάχιστη ελάχιστη έκδοση της βιβλιοθήκης, πρέπει να έχουμε τουλάχιστον δύο αρχεία.
Το πρώτο είναι ένα λεγόμενο αρχείο "κεφαλίδας" που περιέχει όλους τους ορισμούς των μεθόδων και των ιδιοτήτων που παρέχει η βιβλιοθήκη μας και το δεύτερο είναι το αρχείο προέλευσης που θα περιέχει όλο τον πηγαίο κώδικα.
Τα αρχεία κεφαλίδας έχουν επέκταση ".h", ενώ το αρχείο προέλευσης έχει επέκταση ".cpp" και συνήθως έχουν το όνομα της βιβλιοθήκης ως όνομα αρχείου. Στην περίπτωσή μου, τα δύο αρχεία ονομάζονται "YouTubeSight.h" και "YouTubeSight.cpp".
Η διαδικασία γραφής του κώδικα της βιβλιοθήκης μπορεί να είναι λίγο κουραστική και απογοητευτική, ειδικά όταν γράφετε μια βιβλιοθήκη για πρώτη φορά, αλλά με πολλή δοκιμή και λάθος, μπορείτε να επιτύχετε τα επιθυμητά αποτελέσματα. Εξαιτίας αυτού, θα σας καθοδηγήσω στον τελικό κώδικα των δύο αρχείων και θα τον εξηγήσω.
Ο πλήρης κώδικας και η βιβλιοθήκη είναι διαθέσιμα για λήψη από το GitHub στον ακόλουθο σύνδεσμο:
Βήμα 3: Το αρχείο κεφαλίδας
Μέσα στο αρχείο κεφαλίδας, στην αρχή, ολόκληρο το αρχείο είναι τυλιγμένο μέσα σε μια δήλωση "ifndef" η οποία ελέγχει εάν η καθορισμένη μεταβλητή είναι καθορισμένη ή όχι. Αυτό θα αποτρέψει σφάλματα για οποιονδήποτε χρησιμοποιεί τη βιβλιοθήκη εάν την συμπεριλάβει δύο φορές στο ίδιο σκίτσο κατά λάθος.
Στη συνέχεια, πρέπει να συμπεριλάβουμε τη βασική βιβλιοθήκη Arduino και δεδομένου ότι θα συνεργαστούμε με κάποιον πελάτη HTTP για να στείλουμε το αίτημα στο YouTube Sight, θα συμπεριλάβουμε επίσης τη βασική βιβλιοθήκη Πελάτη.
Πριν ξεκινήσουμε να γράφουμε το περιεχόμενο της κύριας τάξης μας, πρέπει να ορίσουμε τυχόν στατικές μεταβλητές και ρυθμίσεις που δεν θέλουμε να τροποποιηθούν. Στην περίπτωσή μου, υπάρχουν δύο τέτοιες μεταβλητές. Το κύριο URL της υπηρεσίας YouTube Sight και η μεταβλητή χρονικού ορίου που θα χρησιμοποιήσουμε για να ελέγξουμε για πόσο χρονικό διάστημα διαβάζουμε μια τιμή.
Επίσης σε αυτήν την ενότητα, μπορούμε να ορίσουμε τυχόν προσαρμοσμένους τύπους που θέλουμε να χρησιμοποιήσουμε όπως αυτή η δομή στατιστικών στα οποία θα αποθηκεύσουμε τα αποτελέσματα.
Ο ορισμός της δομής της τάξης χωρίζεται σε δύο μέρη. Το πρώτο μέρος είναι ο ορισμός όλων των δημόσιων λειτουργιών και ιδιοτήτων και το δεύτερο είναι ο ορισμός όλων των ιδιωτικών λειτουργιών και ιδιοτήτων. Η διαφορά μεταξύ των δύο είναι ότι οι τελικοί χρήστες της βιβλιοθήκης μας δεν θα μπορούν να χρησιμοποιήσουν τίποτα από το ιδιωτικό τμήμα απευθείας, ενώ θα μπορούν να τροποποιήσουν και να χρησιμοποιήσουν άμεσα οποιαδήποτε από τις ιδιότητες και τις λειτουργίες του δημόσιου τμήματος.
Στη δημόσια ενότητα, ορίζουμε τον κατασκευαστή κλάσης, τη μεταβλητή channelStats όπου θα αποθηκεύσουμε τα αποτελέσματα, τη συνάρτηση που θα λάβει τα δεδομένα και μια ιδιότητα εντοπισμού σφαλμάτων που μπορούμε αργότερα να χρησιμοποιήσουμε για να ελέγξουμε για περιπτώσεις όπου ενδέχεται να μην έχουμε τα αναμενόμενα αποτελέσματα.
Για τις ιδιωτικές ιδιότητες, θα ορίσουμε ένα για την αποθήκευση του GUID του καναλιού, έναν δείκτη στο πρόγραμμα -πελάτη HTTP που θα χρησιμοποιήσουμε και μια συνάρτηση που θα χωρίσει την επιστρεφόμενη συμβολοσειρά από το YouTube Sight.
Βήμα 4: Το αρχείο προέλευσης
Τώρα ας δούμε την πραγματική εφαρμογή όλων αυτών μέσα στο αρχείο προέλευσης.
Το πρώτο βήμα για εμάς είναι να συμπεριλάβουμε το δικό μας αρχείο κεφαλίδας που μόλις δημιουργήσαμε και στη συνέχεια πρέπει να ορίσουμε τον κατασκευαστή της βιβλιοθήκης. Σε αυτό, περνάμε δύο μεταβλητές. Το GUID αποθηκεύεται στην ιδιωτική μεταβλητή που ορίσαμε νωρίτερα και ο Πελάτης μεταφέρεται με αναφορά, ώστε στη συνέχεια να καλέσουμε την ίδια παρουσία που λάβαμε.
Η κύρια συνάρτηση getData της βιβλιοθήκης ορίζεται στη συνέχεια καθορίζοντας πρώτα τον τύπο επιστροφής, ακολουθούμενο από το όνομα της βιβλιοθήκης και το όνομα της συνάρτησης. Δεν θα αναφερθώ λεπτομερώς στο τι κάνει κάθε γραμμή σε αυτήν τη λειτουργία, αλλά γενικά, η λειτουργία ανοίγει μια σύνδεση με τον διακομιστή YouTube Sight, στέλνει το αίτημα για να λάβει τα στατιστικά στοιχεία και στη συνέχεια αναλύει τα επιστρεφόμενα δεδομένα με τη βοήθεια η ιδιωτική λειτουργία getValue.
Τα αποτελέσματα που ανακτώνται στη συνέχεια ρυθμίζονται στη μεταβλητή channelStats και επιστρέφει ένας δείκτης εάν καταφέραμε να ανακτήσουμε τα αποτελέσματα ή όχι και με αυτό ο πυρήνας της βιβλιοθήκης μας είναι πλήρης.
Βήμα 5: Παροχή παραδείγματος σκίτσων
Συνήθως, κάθε βιβλιοθήκη παρέχει παραδείγματα που μπορείτε να φορτώσετε γρήγορα και να τα χρησιμοποιήσετε για να δείξετε τι μπορεί να κάνει η βιβλιοθήκη και πώς να το κάνετε. Για να παρέχουμε τέτοια παραδείγματα, πρέπει να τροποποιήσουμε τη δομή της βιβλιοθήκης όπου τώρα η κεφαλίδα και το αρχείο προέλευσης θα βρίσκονται σε ένα φάκελο "src" και ένας νέος φάκελος θα προστεθεί κάτω από τη ρίζα της βιβλιοθήκης που ονομάζεται "παραδείγματα".
Οποιοδήποτε σκίτσο Arduino που τοποθετείτε μέσα σε αυτόν το φάκελο θα προβάλλεται από το Arduino IDE ως παράδειγμα για τη βιβλιοθήκη σας και οι άνθρωποι μπορούν να το εξερευνήσουν γρήγορα και να μάθουν πώς λειτουργεί η βιβλιοθήκη.
Βήμα 6: Δημοσίευση στον Διαχειριστή βιβλιοθήκης
Για να χρησιμοποιήσουν τη βιβλιοθήκη, οι άνθρωποι θα πρέπει απλώς να συμπεριλάβουν το αρχείο κεφαλίδας της βιβλιοθήκης σας στο σκίτσο τους και το Arduino IDE θα το δημιουργήσει μαζί με αυτό. Αλλά για να το κάνουν αυτό, θα πρέπει πρώτα να το εγκαταστήσουν στα μηχανήματά τους.
Ένας κοινός τρόπος είναι να κατεβάσετε τη βιβλιοθήκη από το GitHub και να την εγκαταστήσετε μέσω του προγράμματος εγκατάστασης ZIP στο IDE ή απλώς να την τοποθετήσετε στο φάκελο βιβλιοθηκών όπως κάναμε όταν τη δημιουργούσαμε. Ωστόσο, το Arduino IDE περιλαμβάνει επίσης ένα εργαλείο, που ονομάζεται Διαχειριστής βιβλιοθήκης και σας επιτρέπει να αναζητήσετε μια βιβλιοθήκη απευθείας από το IDE.
Για να συμπεριλάβουμε τη βιβλιοθήκη σας σε αυτήν, πρέπει πρώτα να δημιουργήσουμε ένα πρόσθετο αρχείο στον ριζικό φάκελο που ονομάζεται "libra.properties" και σε αυτό, πρέπει να καθορίσουμε το όνομα της βιβλιοθήκης, την τρέχουσα έκδοση και μερικές πρόσθετες πληροφορίες που θα βοηθήσουν τον διαχειριστή της βιβλιοθήκης για να εμφανιστούν καλύτερες πληροφορίες σχετικά με αυτό.
Με το αρχείο στη θέση του, πρέπει να δημιουργηθεί ένα θέμα στη σελίδα Arduino GitHub που ζητά απλώς τη βιβλιοθήκη σας να συμπεριληφθεί στο ευρετήριο με τον σύνδεσμο προς αυτήν και μόλις εγκριθεί και προστεθεί από το προσωπικό του Arduino, ο διαχειριστής της βιβλιοθήκης ξεκινήστε να προσφέρετε τη βιβλιοθήκη σας στα αποτελέσματα. Επιπλέον, ο διαχειριστής θα αναζητήσει τυχόν ετικέτες έκδοσης στο repo του GitHub και θα προσφέρει μια ενημέρωση στα άτομα που το χρησιμοποιούν μόλις υπάρξουν αλλαγές.
Βήμα 7: Επόμενα βήματα
Ελπίζω ότι μετά από αυτό το Instructable, έχετε καλύτερη κατανόηση για το πώς λειτουργούν οι βιβλιοθήκες Arduino, πώς μπορείτε να δημιουργήσετε μία και το σημαντικότερο, ελπίζω να εμπνευστείτε για να ξεκινήσετε να εργάζεστε για την επόμενη μεγάλη ιδέα σας.
Για τυχόν πρόσθετες ερωτήσεις ή προτάσεις μη διστάσετε να γράψετε στα σχόλια, εγγραφείτε στο κανάλι μου στο YouTube και ακολουθήστε με εδώ στο Instructables.
Συνιστάται:
Ο γρήγορος οδηγός για τη δημιουργία βίντεο με το iPhone σας και τη μεταφόρτωσή του στο Facebook ή στο YouTube: 9 βήματα
Ο γρήγορος οδηγός για τη δημιουργία βίντεο με το iPhone σας και τη μεταφόρτωσή του στο Facebook ή στο YouTube: Χρησιμοποιήστε αυτήν την απλή διαδικασία 5 βημάτων (το Instructables το κάνει να μοιάζει με περισσότερα βήματα από ό, τι είναι στην πραγματικότητα) για να δημιουργήσετε και να ανεβάσετε το πρώτο σας βίντεο YouTube ή Facebook - χρησιμοποιώντας μόνο το iPhone σας
UpCyled Ηχεία βιβλιοθήκης: 9 βήματα (με εικόνες)
UpCyled Ηχεία βιβλιοθήκης: Αυτά τα ηχεία βασίζονταν σε ένα πολύ παλιομοδίτικο σετ μεταλλικών ηχείων που ακούγονταν αρκετά φτωχά, αλλά στην πραγματικότητα είχαν προγράμματα οδήγησης καλής ποιότητας στο εσωτερικό, έτσι αποφάσισα να τα αναβαθμίσω! Για να δω περισσότερα παραδείγματα από αυτά που φτιάχνω. δείτε το Instagram μου ή
DIY Ηχεία βιβλιοθήκης: 4 βήματα
DIY Βιβλιοθήκη Ηχεία: Η ιδέα ήταν να φτιάξω ένα μικρό, χαμηλού κόστους ηχεία για καθημερινή ακρόαση, τοποθετημένα σε ένα ράφι βιβλίων ή στα πλαϊνά του υπολογιστή μου. Χωρίς εξοπλισμό μέτρησης ήχου για να επαληθεύσω το αποτέλεσμα, δεν μου άφησε άλλη επιλογή παρά να το κάνω όσο το δυνατόν πιο απλό
Συνδέστε το Headless Pi σας σε δίκτυο WiFi βιβλιοθήκης: 7 βήματα
Συνδέστε το Headless Pi σας σε ένα δίκτυο WiFi βιβλιοθήκης: Πόσες φορές θέλετε να εργαστείτε στα ακέφαλα έργα Raspberry Pi στην τοπική βιβλιοθήκη, μόνο για να βρεθείτε κολλημένοι επειδή το ανοιχτό δίκτυο WiFi χρειάζεται να χρησιμοποιήσετε πρόγραμμα περιήγησης; Μην ανησυχείτε πια, αυτό το Instructable είναι εδώ για να σας βοηθήσει! Θα
Οδηγίες για τη δημιουργία συνημμένου σύνδεσης τεσσάρων ράβδων για υποπόδιο στο κέντρο: 9 βήματα (με εικόνες)
Οδηγίες για την κατασκευή συνημμένου σύνδεσης τεσσάρων ράβδων για υποπόδιο στο κέντρο: Οι ηλεκτρικές καρέκλες μεσαίας κίνησης (PWC) έχουν γίνει πιο δημοφιλείς τα τελευταία χρόνια. Ωστόσο, λόγω της τοποθέτησης των μπροστινών τροχών, τα παραδοσιακά πλαϊνά στηρίγματα ποδιών έχουν αντικατασταθεί από ένα ενιαίο κεντρικό υποπόδιο. Δυστυχώς, το κέντρο-mou