2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
זהו הערך שלי בתחרות "אודיו" - אם אתה מעוניין בכך, אנא זרוק לי הצבעה
פוסט זה ינסה ליצור גרסה "ידידותית לגלילה" של סרטון ההדרכה הכלול בראש הפוסט
הסרטון מפרט לפרטי פרטים על זרימת הבקרה ובאיזו תוכנה אני משתמש. תסתכל על זה אם אתה רוצה ללמוד עוד.
הזרימה היא כדלקמן:
פעולה רגילה - קריאת כרטיסים והפעלת Spotify להפעלת שירים:
1) תג RFID נקרא על ידי קורא כרטיסים תואם
2) קורא כרטיסים פולט נתונים סדרתיים לכל כרטיס לארדואינו
3) Arduino "מדפיס סדרתי" את הנתונים שהוא מקבל לפאי פטל
4) פי מקבל מזהה כרטיס מארדואינו. פי מחפש את מזהה הכרטיס בטבלה כדי למצוא את ה- URI המקביל של Spotify
5) Pi קורא ל- Spotify API לשחק URI שנבחר
שלב ההתקנה: שיוך תג RFID עם URI של Spotify
1) עד 3) מלמעלה
4) Pi מצפה לקו שורת פקודה עם ה- URI הספציפי של Spotify שברצונך לשייך לכרטיס
5) Pi יוצר ערך חדש (או מבטל אם מזהה כרטיס כבר נמצא בטבלה) עבור כרטיס ה-ID, זוג SpotifyURI
אז אתה לא "מתכנת" את התגים האלה. לתגים אלה יש מיקרו-בקר מובנה משלהם המווסת את השדה המגיע מסליל הקורא לצליל המזהה הספציפי שלו. כל מה שאתה עושה הוא ליצור מילון של צמדי מפתח וערכים שה- pi יכול לקרוא מהם.
לדוגמה, נניח שיש לי כרטיס עם מזהה "2_54_57_53_23_33_3". אני לא יודע בתחילה מה זה המזהה, אבל כשאני קורא את הפלט מהארדואינו לאחר שסרקתי אותו, זה מה שיוצא.
נניח שאני רוצה לגרום לכרטיס הזה לנגן את אלבום הלהיטים הגדול ביותר של אל גרין כאשר הוא נסרק. כדי להשיג זאת, הייתי הולך לספוטיפיי ומעתיק את ה- URI של האלבום, ומקבל "spotify: album: 6W0V8B0fJItvOwC8v114rZ". כעת, כפי שניתן לראות בסרטון, אני מספק את ה- URI הזה לתוכנית פייתון כדי לשייך את מזהה הכרטיס של "2_54_57_53_23_33_3" עם ה- URI של spotify של "spotify: album: 6W0V8B0fJItvOwC8v114rZ" בטבלה. "המפתח" הוא מזהה הכרטיס, וה"ערך "הוא ה- URI.
כעת, כשאני פורס את התוכנית הראשית, וה- pi שלי יקבל מזהה כרטיס של "2_54_57_53_23_33_3", הוא יחפש אותו בטבלה, יאסוף את ה- URI המשויך אליו ויספק את ה- URI כארגומנט ל- API של Spotify.
אספקה
מחשב ייעודי (פטל פאי הוא הטוב ביותר עבור הדרכה זו)
מודול קורא כרטיסי RFID לחיבור למחשב הייעודי
כרטיסי RFID תואמים לקורא שלך
אופציונלי אך מומלץ: ארדואינו חילוף כאיש ביניים בין הקורא למחשב כדי לחסוך זמן פיתוח
שלב 1: סקירת קוד
צילומי המסך המצורפים מציגים את מבנה הקוד הבסיסי לממשק עם Serial on Arduino ו- pi. היתרון בשימוש בארדואינו כאיש אמצע הוא שאני יכול לחבר אותו ישירות ליציאת ה- USB של הפי ככניסה טורית. זה חסך לי המון כאב ראש מכיוון שעכשיו אני לא צריך לדעת כיצד להגדיר את סיכות ה- GPIO ככניסה טורית.
שילוב הכרטיסים/הקוראים המסוים שלי נותן לי את התוצאה יוצאת הדופן שכל הקלפים מתחילים ב -2 ומסתיימים ב -3. זה נתן לי דרך מהירה ומלוכלכת לדעת מתי שידור מתחיל או מסתיים. בהתאם לכרטיסים/לקוראים שיש לך, הקוד שלך יצטרך להשתנות.
שלב 2: שילוב Spotify
עכשיו לחלק הקשה - התממשקות עם ספוטיפיי. הסתמכתי מאוד על 3 משאבים כאן:
1) פרויקט Spotifyd, המאפשר למכשיר שלך להופיע כרמקול נוסף לחשבון Spotify שלך.
2) פרויקט Diskplayer, שבו מישהו בחור אקראי כתב סקריפטים משלו להתממשקות עם ה- API של Spotify
3) האיש היפה הזה שעובר את OAUTH עם Spotify. בלעדיו הייתי מבזבזת עוד כל כך הרבה שעות.
התקן תחילה את Spotifyd ובדוק אותו כדי לוודא שה- pi מופיע כרמקול בחשבונך.
ואז, ברגע שזה עובד, השתמשתי ב- Diskplayer כדי לבדוק את ה- API של spotify. כאן הוא יבקש ממך לספק אסימון API של Spotify. אם אתה מפעיל התקנה נטולת ראש כמוני, לא תוכל לפתוח אותה בדפדפן ב- pi. מסיבה זו, יהיה עליך לבצע את השלבים המפורטים בסרטון למעלה בשלב 3). הפרויקט הזה לא היה קורה בלי האיש בסרטון הזה!
שלב 3: לגרום לזה להראות יותר נחמד
ברגע שהכל יעבוד, תישאר לך בלגן של חוטים שמשחק כל מה שאתה רוצה מ- Spotify. כדי לנקות אותו, הכניסו הכל למארז והדפיסו כמה תוויות לכרטיסים שלכם! השתמשתי בתוויות Avery 22822 (המגיעות עם תבנית ריקה של פוטושופ להדפסה בבית). הצלחתי למשוך תמונות מגוגל ולחבוט אותן בתבנית הפוטושופ לפי הצורך. לאחר כמה שעות של לימוד פוטושופ, הדפסתי והדבקתי את התוויות על תגי ה- RFID הריקים שלי.
היה לי מאוד כיף עם הפרויקט הזה ואשתמש בו בעתיד לארח אנשים בדירה שלי. אני / הודע לי אם בסופו של דבר תכין אותו בעצמך!
אני נכנס לזה בתחרות "אודיו" - אם נהניתם, אתם מוזמנים להצביע בעד זה. תודה!