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

תיבת הזרמת רדיו בלחצן אחד: 7 שלבים (עם תמונות)
תיבת הזרמת רדיו בלחצן אחד: 7 שלבים (עם תמונות)

וִידֵאוֹ: תיבת הזרמת רדיו בלחצן אחד: 7 שלבים (עם תמונות)

וִידֵאוֹ: תיבת הזרמת רדיו בלחצן אחד: 7 שלבים (עם תמונות)
וִידֵאוֹ: האנשים הכי שמנים בעולם | טופטן 2024, סֶפּטֶמבֶּר
Anonim
תיבת הזרמת רדיו בכפתור אחד
תיבת הזרמת רדיו בכפתור אחד

בניתי קופסה לבר של החבר שלי שבתוכו יש פטל פטל ובלחיצת כפתור אחת היא מזרימה אודיו לאתר באמצעות Darkice ו- Icecast, ובה בעת מדליקה שלט 'בשידור'. חשבתי שזה משהו שאנשים כבר עושים אבל לאחר חיפוש מקיף לא מצאתי כלום והחלטתי להבין את זה בעצמי ולהפוך את זה למדריך.

השתמשתי ב- Raspberry Pi 3+ B אבל למיטב ידיעתי זה יעבוד על כל פי (אולי מספרי הסיכות של GPIO ישתנו, אבל אני לא יכול להעיד על כך). השתמשתי בחבילת NOOBS עבור מערכת ההפעלה וקניתי כרטיס קול סופר פשוט לקלט. הוספתי גם כפתור כיבוי בטוח ונורית פעילות לתיבה כדי להגן על ה- Pi.

אתה תצטרך:

פאי פטל

חבילת NOOBS בכרטיס SD

מתג הפעלה/כיבוי (השתמשתי בלחצן עצום חירום אדום גדול כזה, אבל זה יכול להיות כל סוג של מתג 'קליק')

לחץ על הכפתור

1 LED

שלט 'באוויר', הכנתי בעצמי עם מערך LED

ברזל הלחמה ולוח מחברים קטן (פשוט חתכתי פס אחד מאלה שהיו לי בסביבה)

כרטיס קול (השתמשתי בכרטיס סופר פשוט כזה)

שלב 1: הגדר את השרת שלך

עבור תחנת הרדיו שאנו משתמשים בה לא עשיתי את החלק הזה מכיוון שלא הייתה לי גישה לשרת וחבר שלי עשה זאת, אך יש מדריך התקנה בסיסי באתר Icecast והצלחתי להשיג זה עובד מהפי בהתחלה רק כדי לראות איך זה מסתדר. לחלופין תוכל לקבל חשבון ב- internet-radio.com והוא עובד עם Darkice.

שלב 2: הגדר את ה- Pi והתקן את Darkice

השג כרטיס SD עם חבילת NOOBS. לאחר שפתחת את Raspbian והתקנת את כל העדכונים, פתח חלון מסוף והקלד:

עדכון sudo apt-get

sudo apt-get להתקין darkice

Darkice הוא חלק מ- Debian ולכן הוא יתקין אוטומטית, זה לוקח כמה רגעים.

לאחר סיום סוג ההנחיה:

כהה

זה יתן הודעת שגיאה ולא יפעל, אבל זה בסדר. בהודעה הוא יגיד משהו כמו:

שימוש בקובץ config: /etc/darkice.cfg

עליך לערוך את הקובץ, כך שבסוג ההנחיה:

sudo nano /etc/darkice.cfg

ערוך את הקובץ שנפתח באמצעות המידע המופיע בדף wiki. Radioreference, כשתסיים לחץ על CTRL-X כדי לסגור, Y כדי לשמור וכדאי לחזור לפקודת הטרמינל. תמיד טוב לאתחל מחדש לאחר התקנת תוכנית חדשה אז הקלד:

לְאַתחֵל

וכאשר ה- Pi הפעלה מחדש, פתח מחדש חלון מסוף. כעת כאשר אתה מקליד 'Darkice' הוא אמור לפעול ללא הודעות שגיאה. אם אתה נכנס ל https:// YOURSERVERADDRESS: 8000/(8000 או לאיזה יציאה שרת ה- icecast שלך מוקצה) אתה אמור לקבל דף סטטיסטיקה שאומר שאתה מחובר. אם לא, שנה את קובץ התצורה (קו קלט השמע נתן לי כמה בעיות אבל ניסיתי את כל האפשרויות ובסוף מצאתי את כרטיס הקול שלי). לאחר ש- Darkice פועל כראוי, המשך לשלב הבא.

שלב 3: לחצן הזרמה ושלט אוויר

לחצן זרם ושלט על האוויר
לחצן זרם ושלט על האוויר

עשיתי חבורה של הדרכות שונות בשביל זה מכיוון שלא הייתה אחת ספציפית להקצאת פעולה לכפתור בפייתון. הבעיה הגדולה ביותר שעמדה בפניי הייתה לגרום לדארקיס לרוץ ברקע (וכך לא להקפיא את סקריפט פייתון כשהוא התחיל לפעול) אבל ביקשתי מחבר מקודד שיבוא לעזור והוא מצא דרך לעשות את זה בכתיבת גיליונות, משהו שאני לא מקבלים. כנראה שזה יכול להיות אפשרי גם באמצעות '&' איפשהו בקוד אבל אני לא מקודד ומה שיש לי עובד אז בחרתי לא להתעסק עם זה. לאחר שהכל עבד, התחלתי להוריד את כל הכבלים מלוח הלחם עד שנשארתי עם ההתקנה הבאה:

GPIO16 למחבר 3 נקודות חיצוני.

GPIO7 למסוף החיובי של מערך ה- LED לשלט ON-Air.

GPIO25 למתג הלחיצה.

הצד השני של מתג הלחיצה מתחבר למחבר 3 הנקודות.

הטרמינל השלילי של מערך ה- LED מתחבר גם למחבר 3 הנקודות.

(שאר המרכיבים בתרשים מוסברים בשלב הבא).

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

יבוא זמן ייבוא os ייבוא RPi. GPIO כ- GPIO GPIO.setwarnings (False) GPIO.setmode (GPIO. BOARD) ledPin = 12 buttonPin = 16 GPIO.setup (ledPin, GPIO. OUT) GPIO.setup (buttonPin, GPIO. IN, pull_up_down = GPIO. PUD_UP)

toggle = שקר

def start_darkice ():

print ('קורא לתהליך משנה') #result = subprocess.call ('sh screen -S darkice -d -m darkice') os.system ('screen -S darkice -d -m darkice') print ('resuming') def stop_darkice (): os.system ('screen -X -S darkice quit')

בעוד שזה נכון:

buttonState = GPIO.input (buttonPin) if buttonState == True: אם לא toggle: toggle = הדפסה אמיתית ('הפעלת darkice') start_darkice () #print ('BUTTON STATE TRUE') GPIO.output (ledPin, GPIO. HIGH)

אַחֵר:

if toggle: toggle = הדפסה שגויה ('עצירת darkice') stop_darkice () #print ('BUTTON STATE FALSE') GPIO.output (ledPin, GPIO. LOW) time.sleep (1)

קובץ ה- py מצורף למדריך זה, אתה יכול פשוט להוריד אותו ולבצע את שלב 5 אם תרצה.

שלב 4: לחצן כיבוי בטוח ונורית פעילות

לחצן כיבוי בטוח ונורית פעילות
לחצן כיבוי בטוח ונורית פעילות

רק למען הבטיחות וכדי להאריך את חיי ה- Pi הוספתי לחצן כיבוי בטוח ונורית פעילות חיצונית כך שאנשים יידעו מתי בטוח לנתק את הקופסה. מצאתי בקלות הדרכות לשניהם, אבל שמתי לב של- Raspberry Pi 3 B+ יש סיכת GPIO שהוקצה ל- ACT, בעוד שדגמים קודמים לא עושים זאת וזה עלול להיות בעייתי אם יש לך פי מבוגר יותר.

צרף את הטרמינל החיובי של הנורית ל- GPIO13 ואת השלילי ל- GPIO26. כדי שנורית ה- ACT תפעל עליך לערוך את קובץ config.txt בספריית BOOT. תוכל למצוא זאת בדפדפן Raspbian או באמצעות:

sudo nano /usr/boot/config.txt

כאשר אתה עורך את הקובץ פשוט הוסף את השורות הבאות:

# השתמש ב- LED חיצוני כ- SD ACT LED dtoverlay = pi3-act-led, gpio = 19

כעת ה- LED החיצוני יהבהב עם פעילות כרטיס SD.

חבר את מסופי מתג הדחיפה ל- GPIO3 ו- GPIO8. מצאתי את הקוד הבא מתוך מדריך וזה עובד מצוין:

זמן ייבוא מכפתור ייבוא gpiozero מתהליך ייבוא בדיקת_תקשר מהפסקת ייבוא אותות

כיבוי def ():

check_call (['sudo', 'poweroff'])

shutdown_btn = לחצן (2, hold_time = 1)

shutdown_btn.when_held = כיבוי

הַפסָקָה()

time.sleep (1)

קובץ py זה מצורף גם לך להורדה אם תרצה. הכפתור שלי צריך להיות מוחזק למשך שנייה אחת, אם אתה רוצה לשנות את זה לשנות את ערך 'החזק זמן ='.

שלב 5: הפעל את סקריפטים של פייתון מהאתר

שוב, יש הרבה הדרכות בנושא זה, השתמשתי בזה של דקסטר תעשיות ובצעתי את השלב הראשון על ידי עריכת הקובץ rc.local.

sudo nano /etc/rc.local

כאן עליך להוסיף את נתיב הקובץ המלא לסוף המסמך, עם '&' בסוף כל שורה. עליך להוסיף שורה אחת לכל אחד מהקבצים:

sudo python/home/pi/YOURFILENAME, py &

sudo python /home/pi/YOURFILENAME2.py &

ממש לפני השורה

יציאה 0

'&' בסוף כל שורה חשוב בכדי להבטיח את הלולאות של התוכנית.

שלב 6: בנה את הקופסה

בנה את הקופסה
בנה את הקופסה
בנה את הקופסה
בנה את הקופסה
בנה את הקופסה
בנה את הקופסה

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

שלב 7: התקנה

הַתקָנָה
הַתקָנָה
הַתקָנָה
הַתקָנָה
הַתקָנָה
הַתקָנָה
הַתקָנָה
הַתקָנָה

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

מוּמלָץ: