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

נגן Bluetooth ב- Sonos באמצעות Raspberry Pi: 25 שלבים
נגן Bluetooth ב- Sonos באמצעות Raspberry Pi: 25 שלבים

וִידֵאוֹ: נגן Bluetooth ב- Sonos באמצעות Raspberry Pi: 25 שלבים

וִידֵאוֹ: נגן Bluetooth ב- Sonos באמצעות Raspberry Pi: 25 שלבים
וִידֵאוֹ: 30 лучших советов и рекомендаций по Windows 10 на 2020 год 2024, נוֹבֶמבֶּר
Anonim
Image
Image
נגן Bluetooth ב- Sonos באמצעות Raspberry Pi
נגן Bluetooth ב- Sonos באמצעות Raspberry Pi

כתבתי בעבר מדריך המתאר כיצד להוסיף aux או קו אנלוגי לסונוס באמצעות פטל פטל. קורא שאל אם אפשר להזרים אודיו Bluetooth מהטלפון שלו ל- Sonos. קל לעשות זאת באמצעות דונגל בלוטות 'המחובר לשורה של ה- Sonos Play היקר יותר: 5 או Sonos CONNECT; עם זאת, אתה מאבד נאמנות להמיר Bluetooth (דיגיטלי) לאנלוגי ואז לחזור לדיגיטל ואם אתה הבעלים של רק אחד הרמקולים הפחות יקרים של Sonos אז זו לא אופציה. מדריך זה מתאר כיצד להגדיר פטל פיי לזרם אודיו Bluetooth לכל רמקול Sonos.

הערה: זכור כי אנו הולכים להעביר אודיו Bluetooth ל- Raspberry Pi ולהמיר אותו לזרם mp3 לפני שליחתו ל- Sonos כך שיהיה עיכוב של מספר שניות. אם אתה משתמש בזה לצפייה בסרטון, השמע לא יהיה מסונכרן.

שלב 1:

מה שאתה תצטרך:

Raspberry PI 3 דגם B (קיים דגם B+ חדש יותר ומהיר יותר, אך דבקתי בדגם B הרגיל מכיוון שקראתי על כמה בעיות עם נעילת B+ וגם על מכשירי ה- WiFi ו- B+ של B+ יש מסוכך מתכת מסביב. הם תואמים ל- FCC כאשר מותקנים בתוך מכשיר אחר אבל רציתי טווח Bluetooth מרבי ופחדתי שהמיגון עלול לעכב אותו)

מחשב נייח או מחשב נייד עם קורא כרטיסי microSD

צג או טלוויזיה עם כניסת HDMI (להתקנה ראשונית בלבד)

מקלדת ועכבר USB או בלוטות '(להתקנה ראשונית בלבד)

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

כרטיס זיכרון פלאש מסוג Kingston מסוג 8 GB מסוג microSDHC מסוג Kingston

ספק כוח 5V

שלב 2:

תמונה
תמונה
תמונה
תמונה

נווט אל https://www.raspberrypi.org/downloads/raspbian/ במחשב הרגיל שלך והורד את "מתיחה אספנית עם שולחן עבודה".

עבור גם אל https://etcher.io/ והורד את עטר והתקן אותו.

הערה: במדריך הקודם שלי תיארתי כיצד להוריד NOOBS להתקנת Raspbian; אולם שיטה זו מעט מהירה יותר. כל דרך היא בסדר.

שלב 3:

תמונה
תמונה
תמונה
תמונה

הפעל את עטר ולחץ על בחר תמונה וגלוש לקובץ ה- zip. לחץ על בחר כונן וגלוש לכרטיס ה- microSD ולאחר מכן לחץ על פלאש!

שלב 4:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

הערה: חלק מהשלבים הבאים דומים להוראות הקודמות שלי, אז דלג קדימה אם כבר יש לך סיסמת שורש, כתובת IP סטטית ו- VNC.

הכנס את כרטיס ה- microSD לחריץ כרטיס ה- SD בחלק התחתון של ה- Raspberry Pi. חבר כבל HDMI מה- Raspberry Pi למסך או לטלוויזיה. חבר את מקלדת ה- USB, העכבר ולבסוף את כבל החשמל Micro USB. לאחר האתחול יופיע שולחן העבודה של Raspbian. זה ידריך אותך במספר הגדרות אבל אני ממליץ לא לחפש עדכונים. לחץ על דלג. כל הזמן קיבלתי הודעת שגיאה "blueman.bluez.errors. DBusFailedError: פרוטוקול לא זמין" כשניסיתי להתאים את ה- Bluetooth לאחר התקנת כל העדכונים ולכן נאלצתי להתחיל מחדש.

טיפ: אם אינך רוצה זמן צבאי לחץ לחיצה ימנית על השעון ובחר הגדרות שעון דיגיטלי ושנה את פורמט השעון מ- %R ל- %r

שלב 5:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

בשלב הבא אנו הולכים לאפשר את שרת ה- VNC המובנה. זה הופך את הדברים להרבה יותר קלים מכיוון שאתה יכול פשוט להעתיק ולהדביק פקודות באמצעות VNC במקום להקליד אותן. בחר תפריט GUI> העדפות> תצורת Raspberry Pi> ממשקים. לחץ על זמין לצד VNC ולאחר מכן על אישור. לאחר מספר שניות יופיע סמל VNC בשורת המשימות. לחץ עליו ולאחר מכן על סמל התפריט בפינה השמאלית העליונה (תיבה עם 3 קווים אופקיים) ולאחר מכן אפשרויות. באפשרויות האבטחה הגדר את ההצפנה ל"עדיף כבוי "ואימות כ"סיסמת VNC" ולאחר מכן לחץ על החל. תיבת סיסמה תופיע. הזן "פטל" (ללא מרכאות) עבור הסיסמה בכל תיבה ולחץ על אישור.

שלב 6:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

לפני שנמשיך הלאה עלינו להקצות כתובת IP סטטית. אם כתובת ה- IP של הפי שלך מוקצית באופן אקראי על ידי שרת ה- DHCP של הנתב, כתובת ה- IP עשויה להשתנות מאוחר יותר ולא תוכל להתחבר באמצעות VNC (או Sonos לצורך העניין). לחץ לחיצה ימנית על סמל חיבורי הרשת בשורת המשימות (סמל החץ למעלה ולמטה הקטן) ובחר "הגדרות רשת אלחוטית וחוטית". לחץ לחיצה ימנית על התיבה הימנית העליונה ובחר "eth0" כדי להגדיר את חיבור ה- ethernet או "wlan0" עבור אלחוטי. הייתי ממליץ להקצות IP סטטי רק לזה או לשני. הייתה לי בעיה כשהגדרתי לראשונה את ה- Pi שלי ושם הקצתי את אותה כתובת IP סטטית לשני החיבורים ולחיבור האלחוטי של Pi שלי ולא הצלחתי להחזיר אותה לפעולה כהלכה ולכן נאלצתי להתחיל מחדש את התקנת מערכת ההפעלה. בכל אופן, הזן את כתובת ה- IP הרצויה בשדה כתובת ה- IP והזן את כתובת ה- IP של הנתב שלך הן בשדה הנתב והן בשרתי ה- DNS. לחץ על החל וסגור.

הערה: ייתכן שיהיה קל יותר להקצות כתובת IP סטטית באמצעות תכונת הזמנת IP DHCP של הנתב שלך אם יש לה כזו. ייתכן שתזדקק לכתובת ה- MAC של ה- Pi או שהיא תופיע ברשימת המכשירים המחוברים בדף הניהול של הנתב שלך. אם אתה צריך את כתובת ה- MAC, הקלד את הפקודה "ifconfig eth0" בחלון המסוף עבור ethernet או "ifconfig wlan0" עבור WiFi. באופן מעניין, כתובת ה- MAC של WiFi תופיע בקו שמתחיל ב"אתר"

שלב 7:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

בשלב הבא עלינו להגדיר את רזולוציית המסך המוגדרת כברירת מחדל. זה אולי נראה מטופש לראות איך אנחנו כבר מחוברים למסך, אך מאוחר יותר כשאתה מתחבר באמצעות VNC ללא צג מחובר (חסר ראש, כמו שאומרים) הוא יחזור לרזולוציית ברירת המחדל של פי 640x480, שהוא מסך זעיר מאוד לעבוד עם! בחר תפריט GUI> העדפות> תצורת Raspberry Pi> הגדר רזולוציה. הגדר אותו ל- 1280x720 ומעלה ולחץ על אישור ועל כן כדי לאתחל מחדש.

שלב 8:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

ייתכן שתרצה לשנות את שמו של ה- Pi שלך במיוחד אם יש לך יותר מאחד ברשת שלך. שמתי את השם שלי ל- "BluetoothPi" כדי שיהיה ניתן לזהותו בקלות. הוא יבקש ממך לאתחל מחדש לאחר שינוי שמו.

שלב 9:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

בשלב זה ייתכן שתרצה להתחיל להשתמש ב- VNC לשליטה ב- Pi. פתח שוב את לוח הבקרה VNC בשולחן העבודה של Raspbian וחפש את כתובת ה- IP תחת "קישוריות". התקן והפעל מציג VNC במחשב הרגיל שלך והשתמש בכתובת ה- IP הזו כדי להתחבר ולהזין "פטל" (ללא מרכאות) כסיסמה. השתמשתי ב- TightVNC עבור Windows. לאחר שהתחברת תוכל לשמור את חיבור ה- VNC של ה- Pi כקיצור דרך בשולחן העבודה שלך כדי להתחבר במהירות בעתיד תוך עקיפת מסך הכניסה. תקבל אזהרה על שמירת הסיסמה בתוך קיצור הדרך. כדי להעתיק ולהדביק בחלון הטרמינל של ה- Pi, בחר או סמן את הטקסט או הפקודות במחשב הרגיל שלך, הקש Ctrl-C (ממש לחץ על מקש Ctrl ו- C במקלדת בו זמנית) או לחץ לחיצה ימנית ובחר "העתק ", ולאחר מכן הפעל את חלון הצופה VNC של ה- Pi ולחץ לחיצה ימנית בתוך חלון הטרמינל ממש על הסמן ובחר הדבק.

שלב 10:

תמונה
תמונה
תמונה
תמונה

בשלב הבא אנו הולכים להתקין שתי תוכניות, Darkice ו- Icecast2. Darkice הוא מה שיקודד את מקור האודיו הבלוטותי שלנו לזרם mp3 ו- Icecast2 הוא מה שישרת אותו ל- Sonos כזרם Shoutcast. העתק והדבק כל אחת משורות אלה בחלון הטרמינל אחת אחת, ולאחר מכן הקש Enter בכל פעם:

wget

mv darkice_1.0.1-999 ~ mp3+1_armhf.deb? raw = true darkice_1.0.1-999 ~ mp3+1_armhf.deb

sudo apt-get install libmp3lame0 libtwolame0

sudo dpkg -i darkice_1.0.1-999 ~ mp3+1_armhf.deb

שלב 11:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

עכשיו להתקין Icecast2. הקלד "sudo apt-get install icecast2" ואחריו enter. לאחר ההתקנה יופיע חלון ששואל אם ברצונך להגדיר את Icecast2. הקש על מקש החץ השמאלי והזן כדי לבחור כן. במסך השני הקש על מקש החץ למטה והזן כדי לבחור אישור כדי להשתמש בשם המארח המוגדר כברירת מחדל "localhost". בשלושת המסכים הבאים לחץ על החץ למטה והזן מקש כדי להסכים להשתמש ב- "hackme" כמקור ברירת המחדל, ממסר וסיסמת הניהול. למרות שאנו מסכימים לכל הגדרות ברירת המחדל, יש להשלים שלבים אלה כדי להפעיל את שרת Icecast2.

sudo apt-get install icecast2

שלב 12:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

בשלב הבא עלינו להפעיל את מנהל הקבצים של GUI כמשתמש שורש. לשם כך, בחר תפריט GUI> הפעלה. הקלד "sudo pcmanfm" והקש enter. זה יפתח את מנהל הקבצים (המקבילה של סייר הקבצים עבורנו משתמשי Windows) לספריית הבית (/home/pi) ותראה את שארית קובץ ההתקנה של darkice שהורדנו בעבר. לחץ לחיצה ימנית על שטח ריק ובחר צור חדש ולאחר מכן ריק קובץ. תן לו שם "darkice.cfg" ולחץ על אישור. לאחר מכן לחץ לחיצה ימנית על הקובץ החדש שנוצר ובחר לפתוח אותו באמצעות Leafpad (המקבילה לפנקס הרשימות של Windows). העתק את השורות להלן והדבק אותן ב- Leafpad ולאחר מכן לחץ על קובץ ושמור. תוכל להבחין בשורת ה"איכות "עם מספר מול. הוא משמש רק אם אתה מגדיר "bitrateMode = vbr" (קצב סיביות משתנה). לא תוכל להגדיר ערך איכות בעת שימוש ב- cbr (קצב סיביות קבוע) או שהזרם יגמגם וידלג. לעומת זאת, אם תחליט להשתמש ב- vbr, עליך להגיב על השורה "bitrate = 160" ולבטל את השורה "האיכות".

הערה: קצב הסיביות של mp3 באיכות הגבוהה ביותר שאתה יכול לקבל הוא 320 kbps; עם זאת, מכשירי הרשת WiFi ו- Bluetooth ב- Raspberry Pi נמצאים באותו שבב, כך שאם תגדיל את רוחב הפס של שניהם, שמע Bluetooth יכול לגמגם או להקפיא. אנו הולכים לשנות הגדרה בהמשך שתתקן זאת אולם היא מגבילה מעט את רוחב הפס של WiFi ולכן הפחתתי את קצב הסיביות של האודיו לפרויקט זה ל -160 kbps מכיוון שאני מתכוון לשמור אותו ב- WiFi באופן בלעדי. אם אתה משתמש ב- ethernet אין זו בעיה ותוכל להגדיר בבטחה את קצב הסיביות ל- 320 kbps.

[כללי] משך = 0 # משך ב- s, 0 לנצח bufferSecs = # חיץ אחד, בשניות התחבר מחדש = כן # התחבר מחדש אם הוא מנותק

[קֶלֶט]

מכשיר = טלפון # שם מדגם התקן Bluetooth דירוג = 44100 # קצב דגימה 11025, 22050 או 44100 סיביות PerSample = 16 # ביט ערוץ = 2 # 2 = סטריאו

[icecast2-0]

bitrateMode = cbr # קצב סיביות קבוע ('cbr' קבוע, 'abr' ממוצע) # איכות = 1.0 # 1.0 היא האיכות הטובה ביותר (השתמש רק עם vbr) פורמט = mp3 # פורמט. בחר 'vorbis' עבור OGG Vorbis bitrate = 160 # bitrate server = localhost # או יציאת IP = 8000 # יציאת סיסמת גישה ל- IceCast2 = hackme # סיסמת מקור לשרת IceCast2 mountPoint = rapi.mp3 # נקודת הרכבה בשרת IceCast2.mp3 או.ogg שם = BluetoothPi

שלב 13:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

בשלב הבא עלינו לבצע את אותם השלבים כמו קודם כדי ליצור קובץ ריק הנקרא "darkice.sh". קובץ.sh הוא שווה ערך לקובץ.bat או אצווה עבור DOS או Windows. פתח באמצעות Leafpad, העתק והדבק את השורות למטה ושמור. אם עקבת אחר ההוראה הקודמת שלי תבחין בשורה שמתחילה Darkice נראית קצת אחרת. הייתי צריך להטביע את הקוד בלולאה מכיוון שבכל פעם ש- Darkice מאבד את אות השמע של בלוטוס הוא יפסיק לפעול ולא יופעל מחדש באופן אוטומטי גם כאשר השמע יופעל מחדש. חקרתי את הבעיה הזו הרבה ובעוד שיש דרכים מסובכות להריץ סקריפט אוטומטית בכל פעם שמכשיר Bluetooth מחובר, Darkice לפעמים יפסיק בכל פעם שאבד האודיו גם אם מכשיר ה- Bluetooth עדיין מחובר (למשל אם אתה סוגר את YouTube אפליקציה בטלפון שלך) כך שזו הדרך הקלה והאמינה ביותר לוודא ש- Darkice פועל בכל פעם שיש אודיו Bluetooth. אם Darkice כבר פועל, הפקודה תתעלם.

#!/bin/bashwhile:; לעשות sudo/usr/bin/darkice -c /home/pi/darkice.cfg; שינה 5; בוצע

שלב 14:

תמונה
תמונה

לאחר מכן עלינו להריץ פקודה כדי להפוך את קובץ darkice.sh להפעלה. פתח את חלון הטרמינל והקלד "sudo chmod 777 /home/pi/darkice.sh" והקש enter. עכשיו הגיע הזמן להתחיל את שירות השרת Icecast2. הקלד "sudo service icecast2 start" והקש enter.

sudo chmod 777 /home/pi/darkice.sh

sudo service icecast2 התחלה

שלב 15:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

בשלב הבא עלינו לומר ל- Darkice להתחיל אוטומטית בכל פעם שה- Pi מופעל (שרת Icecast2 פועל כשירות וכבר מתחיל אוטומטית לאחר האתחול). ראשית עלינו לבחור באיזה עורך טקסט להשתמש. בחלון המסוף הקלד "בחר-עורך" ולחץ על Enter. הקלד "2" כדי לבחור עורך ננו והקש Enter. לאחר מכן הקלד "crontab -e" והזן. לאחר מכן החזק את מקש החץ למטה למטה כדי לגלול עד לתחתית קובץ הטקסט שמופיע והוסף את השורה הזו "@reboot sleep 10 && sudo /home/pi/darkice.sh". לאחר מכן לחץ על Ctrl-X כדי לצאת והוא יבקש "שמור חיץ שונה?". לחץ על מקש Y עבור כן ואז Enter כדי לאשר את שם הקובץ שנוצר באופן אוטומטי.

עורך בחר

crontab -e

@reboot sleep 10 && sudo /home/pi/darkice.sh

שלב 16:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

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

sudo bluetoothctl

שלב 17:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

על מנת ש- Darkice תוכל להשתמש במכשיר ה- Bluetooth כקלט שמע PCM עלינו ליצור קובץ בתיקיית "וכו 'בשם" asound.conf "(etc/asound.conf). לחץ על החץ למעלה במנהל הקבצים מספר פעמים כדי לעלות לספריית השורש ולאחר מכן לחץ פעמיים על התיקייה "וכו '" כדי לפתוח אותה. גלול למטה ולחץ באמצעות לחצן העכבר הימני בשטח ריק וצור קובץ ריק בשם "asound.conf" והעתק והדבק את השורות למטה עם כתובת ה- MAC של המכשיר שלך במקומה כמובן ושמור.

pcm.phone {type plug slave.pcm {type bluealsa device "50: F0: D3: 7A: 94: C4" profile "a2dp"}}

שלב 18:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

שני מכשירי הרשת WiFi ו- Bluetooth ב- Raspberry Pi נמצאים באותו שבב, כך שאם תגדיל את רוחב הפס של שניהם, שמע Bluetooth יכול לגמגם או להקפיא. יש המכנים זאת באג ויש האומרים שזו רק מגבלת חומרה. אנחנו הולכים לשנות הגדרה שתתקן את זה. הקרדיט לפרסום תיקון זה מגיע ל- "pelwell" בכתובת https://github.com/raspberrypi/linux/issues/1402 הפעל שוב את sudo pcmanfm כדי לפתוח את מנהל הקבצים ולגלוש אל/lib/firmware/brcm. לחץ פעמיים על קובץ הטקסט "brcmfmac43430-sdio.txt" כדי לפתוח אותו ולהוסיף שורות אלה לתחתית ולשמור.

# פרמטרים דו -קיומיים ניסיוניים של Bluetooth מ- Cypressbtc_mode = 1 btc_params8 = 0x4e20 btc_params1 = 0x7530

שלב 19:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

לחץ על סמל תפריט GUI ובחר כיבוי והפעלה מחדש. אם פעלת בדיוק אחר כל השלבים הללו, שרת האודיו של Bluetooth יתחיל אוטומטית בכל מקום בין 30 שניות לדקה לאחר לחיצה על אתחול מחדש. לפני שתוכל להוסיף אותו ל- Sonos עליך לחבר את ה- Bluetooth של הטלפון שלך ל- Pi (פשוט הקש עליו בהגדרות ה- Bluetooth של הטלפון מכיוון שהוא כבר מזווג) ולהתחיל להשמיע אודיו מסוג כלשהו ולהגביר את עוצמת הקול. זכור שלא תשמע שום שמע שמגיע מהרמקול של הטלפון שלך מכיוון שהוא חושב שהוא מחובר לרמקול Bluetooth חיצוני. דרך ויזואלית אחת לדעת אם Icecast מקבלת אודיו Bluetooth מ- Darkice היא לפתוח https://192.168.86.107:8000 בדפדפן אינטרנט כאשר ה- IP של ה- Pi שלך יוחלף בשלי. Icecast תמיד פועל כך שתמיד תראה את דף הסטטוס אבל אם Darkice גם מקבלת אודיו של Bluetooth אז תראה גם את נקודת ההרכבה ותיאור הזרם. נתק את ה- Bluetooth שלך ורענן את הדף והוא ייהיה ריק שוב.

שלב 20:

תמונה
תמונה
תמונה
תמונה

עליך להשתמש ביישום בקר שולחן העבודה של Sonos כדי להוסיף זרם מותאם אישית ל- Sonos. לחץ על ניהול> הוסף תחנת רדיו והזן את כתובת האתר של הזרם שבמקרה שלי היה "https://192.168.86.107:8000/rapi.mp3". הזן גם שם תחנה ולחץ על אישור.

שלב 21:

תמונה
תמונה

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

שלב 22:

תמונה
תמונה
תמונה
תמונה

לאחר הוספת תחנת הרדיו המותאמת אישית היא תהיה זמינה מיידית באפליקציית Sonos שלך. פתח את האפליקציה, הקש על "הסונוס שלי" בתחתית, גלול מטה אל "תחנות" והקש על "הצג הכל". גלול מטה עד שתראה את התחנה החדשה שלך. הקש עליו והוא יתחיל לשחק בחדרים שבחרת. זכור, ̶ אם תתנתק שלך Bluetooth מן PI אז Icecast הנחל ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ אם תעבור אפליקציות אודיו זה עשוי ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ לחדש מאזין Sonos תתקבלי שיהיה עליך להפעיל מחדש משחק השמע שלך בטלפון שוב ודחוף לשחק על ̶ ̶ ̶ ̶ e ̶ ̶ ̶ ̶ o o ̶ ̶ ̶ ̶ ̶ ̶ ̶ ̶ has has --- --- --- --- ראה עדכון למטה. בהצלחה ותודה שקראת!

שלב 23: עדכון: קבוע שמירה קבוע מחובר כאשר BLUETOOTH מתנתק

אז הזרמת Bluetooth עבדה בצורה מושלמת עם ההתקנה הזו, למעט Sonos הייתה מנתקת מהשרת Icecast בכל פעם ש- Darkice איבדה אודיו של Bluetooth, למשל כאשר החלפת אפליקציות שמע או שפשוט ניתקה את ה- Bluetooth וזה היה כאב מכיוון שתצטרך לקבל הזרמת שמע של Bluetooth שוב לפני אתה יכול אפילו ללחוץ על כפתור ההפעלה באפליקציית Sonos.זו הפכה לבעיה עצומה כאשר ניסיתי להזרים אודיו ל- Sonos מאפליקציית WatchESPN של הטלפון שלי שהיא במסך מלא בלבד, כך שלא יכולתי ללחוץ על כפתור ההפעלה באפליקציית Sonos לאחר שהפעלתי את אודיו ה- Bluetooth אך כאשר סגרתי את אפליקציית WatchESPN זרם Sonos לא יתחיל אלא אם תחילת האודיו של Bluetooth יתחיל! אוף! משכתי את השיער שלי בניסיון למצוא תיקון אלגנטי לזה. ניסיתי מקודד mp3 אחר בשם liquidsoap שיש לו אפשרות לשלוח אודיו שקט כאשר הוא מאבד את החיבור אך לא הצלחתי לגרום לו לעבוד עם bluealsa. ניסיתי לערבב את זרם ה- bluealsa עם כרטיס קול דמה משני גם באמצעות זרם dsnoop ו- asym כדי לנסות להערים על Icecast לחשוב שיש עדיין אות אודיו אבל גם באמת לא מאפשר לך לתפעל אודיו של בלוטות 'הרבה. לאחר מכן התחלתי לחקור שימוש בנקודת הרכבה באמצעות קובץ mp3 שקט ב- Icecast אך Sonos יראה את שם נקודת ההר משתנה ומתנתק. השתמשתי בקובץ test.mp3 ובמקרה הגדירו אותו כשם נקודת ההרכבה הראשית פעם אחת במקום החזרה ושמתי לב ש- Sonos פשוט עבר לנגן את הקובץ כשהוא מנותק מזרם ה- Bluetooth "rapi.mp3". יוריקה! הוא לא יחזור אוטומטית לזרם ה- Bluetooth כשהוא יהיה זמין שוב, כך שחשבתי מדוע לא להשתמש באותו שם נקודת הר? אז מה שעליך לעשות הוא ליצור קובץ mp3 שקט ולתת לו את אותו שם כמו זרם mp3 של Darkice, "rapi.mp3", ולקוד אותו כנקודת ההרכבה העיקרית בקובץ התצורה של Icecast2. מה שקורה הוא שבכל פעם ש- Sonos מאבד את החיבור לזרם Darkice/bluetooth rapi.mp3 הוא רק מתחיל לולף את קובץ ה- rapi.mp3 השקט השני עד שזרם ה- Bluetooth יחזור לרשת. בדרך זו לא תצטרך להפעיל את אודיו ה- Bluetooth לפני שאתה מפעיל את ההפעלה ב- Sonos. הנה איך לעשות את זה…

שלב 24:

תמונה
תמונה
תמונה
תמונה
תמונה
תמונה

ראשית עלינו להתקין ffmpeg ליצירת קובץ mp3 שקט. אתה יכול להקליט קובץ.wav שקט מכרטיס קול חיצוני ולהמיר ל- mp3 באמצעות צולע, אך מכיוון שאין לי קלט כרטיס קול חיצוני לפרויקט זה, שימוש ב- ffmpeg היה הפתרון הקל ביותר. פתח את חלון הטרמינל והקלד "sudo apt-get install ffmpeg" ולחץ על Enter:

sudo apt-get להתקין ffmpeg

לאחר ההתקנה העתק והדבק את השורה הארוכה הזו כדי לקודד קובץ mp3 שקט שאורכו רק שנייה אחת:

sudo ffmpeg -f lavfi -i anullsrc = channel_layout = stereo: sample_rate = 44100 -b: a 160k -t 1 /usr/share/icecast2/web/rapi.mp3

פתח את מנהל הקבצים כשורש באמצעות "sudo pcmanfm" וגלוש אל "/etc/icecast2". לחץ לחיצה ימנית על "icecast.xml" ופתח באמצעות Leafpad והדבק שורות אלה ממש מתחת לשורה העליונה "":

/rapi.mp3

שמור והפעל מחדש וכעת אתה אמור להיות מסוגל להפעיל את תחנת ה- Bluetooth המותאמת אישית של Sonos עוד לפני שחיברת את הטלפון שלך ל- Bluetooth!

שלב 25: תוספת

תוֹסֶפֶת
תוֹסֶפֶת
תוֹסֶפֶת
תוֹסֶפֶת
תוֹסֶפֶת
תוֹסֶפֶת
תוֹסֶפֶת
תוֹסֶפֶת

רציתי שאספק הכוח של Raspberry Pi ו- 110V AC עד 5V DC יהיה עצמאי במקרה אחד כדי שאוכל להזיז אותו בקלות בבית אבל הופתעתי לגלות שמארז כזה אינו קיים. אני יכול להדפיס תלת מימד מאוחר יותר, אך בינתיים עברתי להשתמש במארז Raspberry Pi אחר ומצאתי מטען קיר דק USB וכבל קצר. למטען היה ציפוי גומי שלא הצלחתי לקבל סרט VHB ברור להידבק אליו אך התברר שמדובר במדבקה הניתנת להסרה בקלות; עם זאת, זה יצר שקע קטן שהפך את סרט ה- VHB לדק מדי ולכן השתמשתי בוולקרו.

מוּמלָץ: