תוכן עניינים:

הכנת ספריית ארדואינו למראה YouTube: 7 שלבים
הכנת ספריית ארדואינו למראה YouTube: 7 שלבים

וִידֵאוֹ: הכנת ספריית ארדואינו למראה YouTube: 7 שלבים

וִידֵאוֹ: הכנת ספריית ארדואינו למראה YouTube: 7 שלבים
וִידֵאוֹ: Using HT1621 6 Digits Seven Segment LCD Display | Lesson 103: Arduino Step By Step Course 2024, נוֹבֶמבֶּר
Anonim
Image
Image
מהי ספרייה?
מהי ספרייה?

שלום כולם, בניתי לאחרונה שירות בשם YouTube Sight שיכול לחלץ נתוני מנויים מ- API של YouTube Analytics ולתת לך ספירות מנויים מדויקות יותר מאז שהחלה YouTube לצבור את התוצאות. בעזרתו בניתי סקיצה לדוגמא אבל רציתי גם ליצור ספריית ארדואינו כדי שאנשים יוכלו להשתמש בה ביתר קלות.

שלב 1: מהי ספרייה?

מהי ספרייה?
מהי ספרייה?

ספרייה היא פיסת קוד שיכולה להתמודד עם פעולה מסוימת, לעבד סוג של נתונים או יכולה לדעת כיצד לתקשר עם אלמנט חומרה ספציפי. הם מאפשרים לנו להרחיב את סביבת Arduino בקלות ויש הרבה מהם שמותקנים מראש עם ה- Arduino IDE.

במקרים כמו שלי, שבהם אנו רוצים להוסיף אפשרויות חדשות לארדואינו, אנו יכולים ליצור ספריות משלנו לאנשים אחרים להשתמש בהן. כל הספריות המותקנות נמצאות בתיקייה ספציפית במחשב שלנו. במקרה שלי עבור מחשב Windows, הספריות חיות תחת התיקייה Documents/Arduino. הנתיב המלא יהיה ספציפי עבורך, בהתבסס על שם המשתמש שלך.

שלב 2: מבנה הספרייה והקבצים

מבנה הספרייה והקבצים
מבנה הספרייה והקבצים

כדי להתחיל לבנות את הספרייה שלנו, תחילה עלינו ליצור כאן תיקיה עם השם שלה כך שיצרתי תיקיה בשם YouTube Sight. בגרסה המינימלית של הספרייה, עלינו להכיל לפחות שני קבצים.

הראשון הוא קובץ "כותרת" המכיל את כל ההגדרות של השיטות והמאפיינים שהספרייה שלנו מספקת, והשני הוא קובץ המקור שיכיל את כל קוד המקור.

לקובצי הכותרת יש סיומת של ".h" בעוד שלקובץ המקור יש סיומת של ".cpp" ולרוב יש להם את שם הספרייה כשם הקובץ. במקרה שלי שני הקבצים נקראים "YouTubeSight.h" ו- "YouTubeSight.cpp".

תהליך כתיבת קוד הספרייה יכול להיות מעט מייגע ומתסכל, במיוחד כאשר אתה כותב ספרייה בפעם הראשונה, אך עם הרבה ניסוי וטעייה, תוכל להשיג את התוצאות הרצויות. בגלל זה אני אדריך אותך את הקוד המוגמר של שני הקבצים ואסביר אותו.

הקוד המלא והספרייה זמינים להורדה מ- GitHub בקישור הבא:

שלב 3: קובץ הכותרת

קובץ הכותרת
קובץ הכותרת
קובץ הכותרת
קובץ הכותרת
קובץ הכותרת
קובץ הכותרת

בתוך קובץ הכותרת, בהתחלה, הקובץ כולו עטוף בתוך משפט "ifndef" הבודק אם המשתנה שצוין מוגדר או לא. זה ימנע טעויות לכל מי שמשתמש בספרייה אם יכלול אותה פעמיים באותה מערכון בטעות.

לאחר מכן, עלינו לכלול את ספריית ה- Arduino הבסיסית ומכיוון שנעבוד עם לקוח HTTP כלשהו כדי לשלוח את הבקשה ל- YouTube Sight נכלול גם את ספריית הלקוחות הבסיסית.

לפני שנתחיל לכתוב את תוכן המחלקה הראשית שלנו, עלינו להגדיר כל משתנה והגדרה סטטיים שאיננו רוצים לשנותם. במקרה שלי, ישנם שני משתנים כאלה. כתובת האתר העיקרית של שירות 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.

כדי לכלול בו את הספרייה שלך, תחילה עלינו ליצור קובץ נוסף בתיקיית השורש בשם "library.properties" ובתוכו עלינו לציין את שם הספרייה, את הגירסה הנוכחית וכמה מידע נוסף שיעזור למנהל הספרייה. כדי להציג מידע טוב יותר אודותיו.

כשהקובץ נמצא במקום, יש ליצור בעיה בדף GduHub של Arduino שפשוט מבקש שהספרייה שלך תיכלל באינדקס עם הקישור אליו וברגע שהוא יאושר ויוסיף על ידי צוות Arduino, מנהל הספרייה התחל להציע את הספרייה שלך בתוצאות. בנוסף, המנהל יחפש בעתיד כל תגי גירסה במאגר GitHub ויציע עדכון לאנשים המשתמשים בו ברגע שיהיו שינויים.

שלב 7: השלבים הבאים

אני מקווה שאחרי ההוראה הזו תוכל להבין טוב יותר כיצד פועלות ספריות ארדואינו, כיצד תוכל ליצור אחת מהן והכי חשוב, אני מקווה שתקבל השראה להתחיל לעבוד על הרעיון הגדול הבא שלך.

לשאלות או הצעות נוספות אתה מוזמן לרשום בתגובות, הירשם לערוץ היוטיוב שלי ועקוב אחריי כאן ב- Instructables.

מוּמלָץ: