สารบัญ:

เพิ่ม Aux ไปยัง Sonos โดยใช้ Raspberry Pi: 26 ขั้นตอน (พร้อมรูปภาพ)
เพิ่ม Aux ไปยัง Sonos โดยใช้ Raspberry Pi: 26 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เพิ่ม Aux ไปยัง Sonos โดยใช้ Raspberry Pi: 26 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เพิ่ม Aux ไปยัง Sonos โดยใช้ Raspberry Pi: 26 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Arduino and Raspberry Pi, working together over a serial communication. Step-by-step tutorial (UART) 2024, ธันวาคม
Anonim
เพิ่ม Aux ไปยัง Sonos โดยใช้ Raspberry Pi
เพิ่ม Aux ไปยัง Sonos โดยใช้ Raspberry Pi

ฉันหลงใหล Raspberry Pi มาโดยตลอด แต่ไม่เคยมีความต้องการอย่างแท้จริงมาก่อนเลย เรามีส่วนประกอบ Sonos สามตัวในบ้านของเรา: Play 5 ในห้องนั่งเล่น Play 3 ในห้องนอนและ Sonos CONNECT: AMP ที่จ่ายไฟให้กับลำโพงกลางแจ้งบนลานของเรา กับพวกเขา เราสามารถฟังได้ทุกอย่างยกเว้นสถานีวิทยุท้องถิ่นของเราซึ่งไม่ได้สตรีมผ่านอินเทอร์เน็ต ฉันมีวิทยุบนโต๊ะที่ชั้นบนในสำนักงานของฉันซึ่งมีช่องสัญญาณเข้าและต้องการฟังได้ทั่วทั้งบ้านเพื่อใช้ในการถ่ายทอดสดกีฬาเป็นหลัก ฉันสามารถทำได้โดยการซื้อ Play 5 หรือ CONNECT อีกเครื่องหนึ่งและใช้งาน Line-in แต่ฉันไม่มีที่ว่างเพียงพอในสำนักงานเล็กๆ ของฉัน และฉันไม่ต้องการลงทุนด้วยเงินมากขนาดนั้นเพื่อให้มีความสามารถนั้น ฉันตัดสินใจเรียนรู้วิธีตั้งโปรแกรม Raspberry Pi เพื่อเพิ่มสายสัญญาณเข้าระยะไกลสำหรับลำโพง Sonos ของเรา ฉันเขียนคำแนะนำนี้สำหรับ Raspberry Pi NOOB ที่สมบูรณ์ซึ่งฉันเพิ่งทำเมื่อไม่กี่วันก่อนด้วยสิ่งที่ฉันรู้สึกว่าสั้นที่สุดและน้อยที่สุดจำนวนขั้นตอนที่จำเป็นเพื่อให้ Raspberry Pi เริ่มให้บริการสตรีมสเตอริโอ mp3 แบบสด 320 kbps โดยอัตโนมัติ ไปยัง Sonos ภายในไม่กี่วินาทีหลังจากบูทเครื่อง นี่เป็นวิธีที่สมบูรณ์แบบในการฟังแผ่นเสียงของคุณทั่วทั้งบ้านบน Sonos

ขั้นตอนที่ 1:

ภาพ
ภาพ
ภาพ
ภาพ

สิ่งที่คุณต้องการ:

Raspberry PI 3 รุ่น B 1.2GHz 64-bit quad-core ARMv8 CPU, 1GB RAM

คอมพิวเตอร์เดสก์ท็อปหรือแล็ปท็อปที่มีตัวอ่านการ์ด microSD

จอภาพหรือทีวีที่มีอินพุต HDMI (สำหรับการตั้งค่าเริ่มต้นเท่านั้น)

แป้นพิมพ์และเมาส์ USB หรือบลูทูธ (สำหรับการตั้งค่าเริ่มต้นเท่านั้น)

BEHRINGER U-CONTROL UCA202 การ์ดเสียง USB ภายนอก (มีอินพุต RCA สเตอริโอ)

หรือ

การ์ดแคปเจอร์สเตอริโอ USB ราคา $10

อัปเดต: หากคุณเป็นเจ้าของเครื่องเล่นแผ่นเสียงที่มี USB ออก คุณอาจเพียงเสียบมันเข้ากับ Pi และใช้เป็น "การ์ดเสียง" และไม่ต้องซื้อ Behringer เลย

แก้ไข: ฉันไม่รู้ว่า Behringer มีรุ่นอื่นในราคาเดียวกันที่เรียกว่า BEHRINGER U-PHONO UFO202 ที่มี Phono preamp ในตัวสำหรับเครื่องเล่นแผ่นเสียง

การ์ดเสียงออนบอร์ดของ Raspberry Pi ไม่มีอินพุตเสียงและมีการ์ดเสียง USB ภายนอกเพียงไม่กี่ตัวที่มีอินพุตสเตอริโอ ตัวเลือกที่สองของฉันคือ "หมวก" การ์ดเสียงสเตอริโอที่เสียบเข้ากับหมุด GPIO ของ Raspberry แต่ฉันไม่พบเคสสำหรับมัน และฉันชอบรูปลักษณ์และฟังก์ชันการทำงานของเคส Flirc Raspberry Pi

Flirc Raspberry Pi Case Gen2 (รุ่นใหม่) (เคสอลูมิเนียมทำหน้าที่เป็นตัวระบายความร้อน)

Mediabridge 3.5mm Male to 2-Male RCA Adapter (6 Feet) (หากแหล่งสัญญาณเสียงอะนาล็อกของคุณมีเอาต์พุต RCA คุณก็ไม่ต้องการสิ่งนี้)

การ์ดหน่วยความจำแฟลช microSDHC Class 4 ของคิงส์ตัน 8 GB

สาย Micro B USB - มุมซ้าย

ขั้นตอนที่ 2:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ไปที่ https://www.raspberrypi.org/downloads/noobs บนคอมพิวเตอร์ปกติของคุณและดาวน์โหลด NOOBS_v2_4_4.zip เป็นไฟล์ที่ค่อนข้างใหญ่ (~1.4 GB) แยกเนื้อหาของไฟล์ zip ไปยังการ์ด microSD ของคุณ ฉันพบว่าการเขียนลงในการ์ด SD ของฉันเร็วขึ้นด้วยการแตกไฟล์ไปยังโฟลเดอร์ชั่วคราวก่อนแล้วจึงคัดลอกไปยังการ์ดแทนที่จะแตกไฟล์ไปยังการ์ดโดยตรง

ขั้นตอนที่ 3:

ภาพ
ภาพ

ใส่การ์ด microSD ที่มีไฟล์ที่แยกออกมาแล้วลงในช่องเสียบการ์ด SD ที่ด้านล่างของ Raspberry Pi เชื่อมต่อสาย HDMI จาก Raspberry Pi กับจอภาพหรือทีวีของคุณ เชื่อมต่อแป้นพิมพ์ USB เมาส์ สายอีเธอร์เน็ต (หรือคุณจะกำหนดค่า Wi-Fi ในภายหลัง) การ์ดเสียง USB (การ์ด Behringer ไม่ต้องการซอฟต์แวร์หรือไดรเวอร์เพิ่มเติม) และสุดท้ายคือสายไฟ Micro USB

ขั้นตอนที่ 4:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

Pi จะบู๊ตจนถึงหน้าจอการติดตั้งระบบปฏิบัติการ เลือกเฉพาะ Raspbian แล้วคลิกติดตั้ง จะใช้เวลาสักครู่ในการติดตั้ง ระหว่างการติดตั้ง ไอคอนสายฟ้าเล็กๆ จะปรากฏขึ้นเป็นระยะๆ ที่มุมขวาบนของหน้าจอ การวิจัยออนไลน์เปิดเผยว่าหาก Pi เข้าถึงการ์ด microSD มากหรือทำงานหนัก (และเปิดการ์ดเสียง USB ภายนอกในกรณีของเรา) และคุณกำลังเปิดเครื่องโดยใช้สาย USB ที่เสียบเข้ากับคอมพิวเตอร์ (ไม่ใช่แหล่งจ่ายไฟ USB เฉพาะ) คุณอาจเห็นไอคอนนั้นซึ่งบ่งชี้ว่าแรงดันไฟตกเล็กน้อย เป็นเรื่องปกติอย่างสมบูรณ์และไม่ควรส่งผลกระทบใดๆ หลังจาก OS เสร็จสิ้นการติดตั้ง คุณจะได้รับกล่องโต้ตอบการยืนยัน คลิกตกลงและ Pi จะรีบูต

ขั้นตอนที่ 5:

ภาพ
ภาพ
ภาพ
ภาพ

หลังจากรีบูตเดสก์ท็อป Raspbian จะปรากฏขึ้น สิ่งแรกที่เราต้องทำคือตั้งรหัสผ่านรูท คลิกไอคอนเทอร์มินัลที่ด้านบนซ้ายของหน้าจอและพิมพ์ "sudo passwd root" (โดยไม่ใส่เครื่องหมายอัญประกาศ) แล้วกด Enter พิมพ์ "raspberry" (โดยไม่ใส่เครื่องหมายคำพูด) เป็นรหัสผ่าน กด Enter จากนั้นพิมพ์อีกครั้งแล้วกด Enter เพื่อยืนยัน BTW คำสั่ง "sudo" ย่อมาจาก "super user do" และอนุญาตให้คุณดำเนินการคำสั่งในฐานะผู้ใช้ขั้นสูงหรือที่เรียกว่าผู้ใช้รูท

sudo passwd รูท

ขั้นตอนที่ 6:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ต่อไปเราจะเปิดใช้งานเซิร์ฟเวอร์ VNC ในตัว สิ่งนี้ทำให้สิ่งต่าง ๆ ง่ายขึ้นมาก เนื่องจากคุณสามารถคัดลอกและวางคำสั่งผ่าน VNC แทนที่จะพิมพ์ เลือกเมนู GUI (ราสเบอรี่ตัวเล็กบนทาสก์บาร์) > Preferences > Raspberry Pi Configuration > Interfaces คลิก เปิดใช้งาน ถัดจาก VNC แล้วคลิก ตกลง หลังจากนั้นไม่กี่วินาที ไอคอน VNC จะปรากฏขึ้นบนแถบงาน คลิกแล้วคลิกไอคอนเมนูที่ด้านบนขวา (กล่องที่มีเส้นแนวนอน 3 เส้น) จากนั้นเลือกตัวเลือก ในตัวเลือกความปลอดภัย ตั้งค่าการเข้ารหัสเป็น "ต้องการปิด" และการตรวจสอบสิทธิ์เป็น "รหัสผ่าน VNC" กล่องรหัสผ่านจะปรากฏขึ้น ป้อน "ราสเบอร์รี่" (โดยไม่ใส่เครื่องหมายคำพูด) สำหรับรหัสผ่านในแต่ละช่อง แล้วคลิกตกลง คุณจะได้รับกล่องคำเตือนที่สองที่คุณต้องคลิกตกลงเพื่อยืนยัน เรากำลังตั้งค่าออดิโอสตรีมเมอร์ ไม่ได้เก็บรหัสนิวเคลียร์:)

ขั้นตอนที่ 7:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ก่อนที่เราจะไปไกลกว่านี้เราต้องกำหนดที่อยู่ IP แบบคงที่ หากที่อยู่ IP ของ Pi ได้รับการสุ่มโดยเซิร์ฟเวอร์ DHCP ของเราเตอร์ ที่อยู่ IP อาจเปลี่ยนแปลงได้ในภายหลัง และคุณจะไม่สามารถเชื่อมต่อผ่าน VNC (หรือ Sonos สำหรับเรื่องนั้น) คลิกขวาที่ไอคอนการเชื่อมต่อเครือข่ายบนแถบงาน (ไอคอนลูกศรขึ้นและลงเล็กน้อย) แล้วเลือก "การตั้งค่าเครือข่ายไร้สายและแบบมีสาย" คลิกซ้ายที่ช่องขวาบนและเลือก "eth0" เพื่อกำหนดค่าการเชื่อมต่ออีเธอร์เน็ตหรือ "wlan0" สำหรับระบบไร้สาย ฉันจะแนะนำให้กำหนด IP แบบคงที่ให้กับอย่างใดอย่างหนึ่งเท่านั้น ฉันมีปัญหาเมื่อตั้งค่า Pi ครั้งแรกโดยกำหนดที่อยู่ IP แบบคงที่เดียวกันให้กับทั้งสองการเชื่อมต่อและเครือข่ายไร้สายของ Pi ถูกล็อค และไม่สามารถกลับมาทำงานได้อย่างถูกต้อง ดังนั้นฉันจึงต้องเริ่มการติดตั้งระบบปฏิบัติการใหม่ทั้งหมด อย่างไรก็ตาม ให้ป้อนที่อยู่ IP ที่คุณต้องการในช่องที่อยู่ IP และป้อนที่อยู่ IP ของเราเตอร์ของคุณในช่องเราเตอร์และเซิร์ฟเวอร์ DNS คลิกสมัครและปิด

หมายเหตุ: อาจง่ายกว่าในการกำหนดที่อยู่ IP แบบคงที่โดยใช้คุณสมบัติการจอง DHCP IP ของเราเตอร์ของคุณ หากมี คุณอาจต้องการที่อยู่ MAC ของ Pi หรืออาจปรากฏขึ้นในรายการอุปกรณ์ที่เชื่อมต่อบนหน้าผู้ดูแลระบบของเราเตอร์ของคุณ หากคุณต้องการที่อยู่ MAC ให้พิมพ์คำสั่ง "ifconfig eth0" ในหน้าต่างเทอร์มินัลสำหรับอีเธอร์เน็ตหรือ "ifconfig wlan0" สำหรับ WiFi ที่น่าสนใจคือที่อยู่ MAC ของ WiFi จะแสดงขึ้นในบรรทัดที่ขึ้นต้นด้วย "อีเธอร์"

ขั้นตอนที่ 8:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ต่อไปเราต้องตั้งค่าความละเอียดหน้าจอเริ่มต้น นี่อาจดูงี่เง่าเพราะว่าเราเชื่อมต่อกับจอภาพแล้ว แต่ต่อมาเมื่อคุณเชื่อมต่อผ่าน VNC โดยไม่ต้องต่อจอภาพ (อย่างที่พวกเขาพูด) มันจะเปลี่ยนกลับเป็นความละเอียดเริ่มต้น 640x480 ของ Pi ซึ่งเป็นหน้าจอขนาดเล็กมากเป็น ทำงานกับ! เลือก เมนู GUI > ค่ากำหนด > การกำหนดค่า Raspberry Pi > ตั้งค่าความละเอียด ตั้งค่าเป็น 1280x720 หรือสูงกว่า แล้วคลิกตกลงและใช่เพื่อรีบูต

ขั้นตอนที่ 9:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ณ จุดนี้คุณอาจต้องการเริ่มใช้ VNC เพื่อควบคุม Pi เปิดแผงควบคุม VNC บนเดสก์ท็อป Raspbian อีกครั้ง และค้นหาที่อยู่ IP ภายใต้ "การเชื่อมต่อ" ติดตั้งและเรียกใช้โปรแกรมแสดง VNC บนคอมพิวเตอร์ปกติของคุณ และใช้ที่อยู่ IP นั้นเพื่อเชื่อมต่อและป้อน "ราสเบอร์รี่" (โดยไม่ใส่เครื่องหมายคำพูด) เป็นรหัสผ่าน ฉันใช้ TightVNC สำหรับ Windows หลังจากที่คุณเชื่อมต่อแล้ว คุณสามารถบันทึกการเชื่อมต่อ VNC ของ Pi เป็นทางลัดบนเดสก์ท็อปของคุณเพื่อเชื่อมต่ออย่างรวดเร็วในอนาคตโดยข้ามหน้าจอการเข้าสู่ระบบ คุณจะได้รับคำเตือนเกี่ยวกับการบันทึกรหัสผ่านภายในทางลัด อีกครั้งรหัส ในการคัดลอกและวางลงในหน้าต่างเทอร์มินัลของ Pi ให้เลือกหรือไฮไลต์ข้อความหรือคำสั่งบนคอมพิวเตอร์ปกติของคุณ กด Ctrl-C (กดแป้น Ctrl และ C บนแป้นพิมพ์พร้อมกัน) หรือคลิกขวาและเลือก "คัดลอก " จากนั้นเปิดใช้งานหน้าต่างแสดง VNC ของ Pi และคลิกขวาภายในหน้าต่างเทอร์มินัลบนเคอร์เซอร์ และเลือกวาง

ขั้นตอนที่ 10:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ต่อไปเราจะทดสอบการ์ดเสียงเพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้อง เสียบแหล่งสัญญาณเสียงสดเข้ากับอินพุตสาย RCA ของการ์ดเสียง USB เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์ "arecord -l" (ตัวพิมพ์เล็ก "L") แล้วกด Enter ที่จะแสดงรายการอุปกรณ์การ์ดเสียงที่แนบมาของคุณ ตัวเลขหลังคำว่า "การ์ด" คือหมายเลขอุปกรณ์ของคุณ แทนที่หมายเลขนั้นในคำสั่งถัดไปหลังจากคำว่า "plughw:" ในกรณีของฉันหมายเลขบัตรของฉันคือ "1" ดังนั้นฉันจึงพิมพ์ (จริง ๆ แล้วคัดลอกและวางโดยใช้ VNC) "arecord -D plughw:1, 0 -f cd temp. วาฟ". ซึ่งจะเริ่มบันทึกไฟล์.wav คุณภาพซีดีจากอินพุตของการ์ดเสียง หลังจากนั้นไม่กี่วินาที ให้กด Ctrl-C (กดแป้น Ctrl และ C บนแป้นพิมพ์พร้อมกัน) เพื่อหยุดการบันทึก ในการเล่น คุณจะต้องเสียบหูฟังเข้ากับแจ็คหูฟังที่อยู่บนการ์ด Raspberry Pi หรือแจ็คหูฟังของการ์ดเสียง USB ภายนอก คลิกขวาที่ไอคอนลำโพงบนทาสก์บาร์และเลือกอุปกรณ์ที่เกี่ยวข้องที่คุณเพิ่งเสียบหูฟังแล้วเพิ่มระดับเสียง (อนาล็อก = แจ็คหูฟัง Raspberry Pi; USB AUDIO CODEC = แจ็คหูฟังการ์ดเสียง USB ภายนอก) พิมพ์ "aplay temp.wav" แล้วกด Enter แล้วคุณควรได้ยินสิ่งที่คุณเพิ่งบันทึก การ์ดเสียงของ Pi นั้นไม่ค่อยดีนัก ดังนั้นหากคุณกำลังฟังผ่านแจ็คหูฟังในตัว ไม่ต้องตกใจถ้ามันไม่ได้ฟังดูยอดเยี่ยมขนาดนั้น สตรีมเสียงของเราจะเป็นแบบดิจิทัลทั้งหมดและจะให้เสียงที่ยอดเยี่ยมบน Sonos

arecord -l

arecord -D plughw:1, 0 -f cd temp.wav

aplay temp.wav

ขั้นตอนที่ 11:

ภาพ
ภาพ
ภาพ
ภาพ

ต่อไปเราจะติดตั้งสองโปรแกรม 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 ติดตั้ง libmp3lame0 libtwolame0

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

ขั้นตอนที่ 12:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ตอนนี้เพื่อติดตั้ง Icecast2 พิมพ์ "sudo apt-get install icecast2" ตามด้วย Enter หลังจากติดตั้งแล้ว หน้าต่างจะปรากฏขึ้นเพื่อถามว่าคุณต้องการกำหนดค่า Icecast2 หรือไม่ กดปุ่มลูกศรซ้ายและกด Enter เพื่อเลือกใช่ ในหน้าจอที่สองให้กดปุ่มลูกศรลงและกด Enter เพื่อเลือกตกลงเพื่อใช้ชื่อโฮสต์เริ่มต้น "localhost" ในสามหน้าจอถัดไป ให้กดลูกศรลงและป้อนคีย์เพื่อตกลงที่จะใช้ "hackme" เป็นแหล่งที่มาเริ่มต้น รหัสผ่านรีเลย์และการดูแลระบบ แม้ว่าเราจะยอมรับการตั้งค่าเริ่มต้นทั้งหมด แต่ขั้นตอนเหล่านี้จะต้องเสร็จสิ้นเพื่อเปิดใช้งานเซิร์ฟเวอร์ Icecast2

sudo apt-get ติดตั้ง icecast2

ขั้นตอนที่ 13:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ต่อไปเราต้องเรียกใช้ตัวจัดการไฟล์ GUI ในฐานะผู้ใช้รูท ในการดำเนินการนี้ ให้เลือก เมนู GUI > เรียกใช้ พิมพ์ "sudo pcmanfm" แล้วกด Enter ที่จะเปิดตัวจัดการไฟล์ (เทียบเท่ากับ file explorer สำหรับผู้ใช้ Windows ของเรา) ไปยังโฮมไดเร็กทอรี (/home/pi) และคุณจะเห็นไฟล์การติดตั้ง darkice ที่เหลือที่เราดาวน์โหลดก่อนหน้านี้พร้อมกับไฟล์ temp.wav ที่เราสร้างขึ้น ทดสอบการ์ดเสียง คลิกขวาบนพื้นที่ว่างในหน้าต่าง explorer และเลือก Create New จากนั้นเลือก Empty File ตั้งชื่อเป็น "darkice.cfg" แล้วคลิกตกลง จากนั้นคลิกขวาที่ไฟล์ที่สร้างขึ้นใหม่และเลือกเปิดด้วย Leafpad (เทียบเท่ากับ Windows notepad) คัดลอกบรรทัดด้านล่างและวางลงใน Leafpad จากนั้นคลิกไฟล์และบันทึก การตั้งค่าที่ฉันเลือกนั้นมีไว้สำหรับสตรีม mp3 ที่มีคุณภาพดีที่สุด แต่คุณอาจต้องการปรับให้เป็นการตั้งค่าคุณภาพที่ต่ำลง หากคุณกำลังจะสตรีมนอกเครือข่ายของคุณ เช่น อินเตอร์เนต. ตรวจสอบให้แน่ใจว่าหมายเลขการ์ดเสียงของคุณถูกต้องในบรรทัด "device = plughw:1, 0" คุณจะสังเกตเห็นบรรทัด "คุณภาพ" ถูกใส่เครื่องหมาย # ข้างหน้า ใช้เฉพาะเมื่อคุณตั้งค่า "bitrateMode = vbr" (บิตเรตตัวแปร) คุณไม่สามารถตั้งค่าคุณภาพได้เมื่อใช้ cbr (บิตเรตคงที่) ไม่เช่นนั้นสตรีมจะสะดุดและข้ามไป ฉันเพิ่งค้นพบอัญมณีชิ้นนี้หลังจากความหงุดหงิดหลายชั่วโมง ฉันถือว่าค่าคุณภาพจะถูกละเว้นหากคุณใช้ cbr แต่กลับกลายเป็นว่าไม่ใช่กรณีและโยนประแจลิงเข้าไปในงานจริงๆ ในทางกลับกัน หากคุณตัดสินใจที่จะใช้ vbr คุณต้องใส่ความคิดเห็นในบรรทัด "บิตเรต = 320" และยกเลิกการใส่เครื่องหมายบรรทัด "คุณภาพ"

[ทั่วไป]

ระยะเวลา = 0 # ระยะเวลาใน s, 0 ตลอดไป bufferSecs = 1 # บัฟเฟอร์ ในไม่กี่วินาที เชื่อมต่อใหม่ = ใช่ # เชื่อมต่อใหม่หากตัดการเชื่อมต่อ [อินพุต] อุปกรณ์ = plughw: 1, 0 # อุปกรณ์การ์ดเสียงสำหรับอินพุตเสียง sampleRate = 44100 # อัตราตัวอย่าง 11025, 22050 หรือ 44100 bitsPerSample = 16 # bits channel = 2 # 2 = stereo [icecast2-0] bitrateMode = cbr # อัตราบิตคงที่ (ค่าคงที่ 'cbr', 'abr' เฉลี่ย) #quality = 1.0 # 1.0 คือคุณภาพที่ดีที่สุด (ใช้เท่านั้น ด้วย vbr) รูปแบบ = mp3 # รูปแบบ เลือก 'vorbis' สำหรับ OGG Vorbis bitrate = 320 # bitrate server = localhost # or IP port = 8000 # port for IceCast2 access password = hackme # source password for the IceCast2 server mountPoint = rapi.mp3 # mount point on the IceCast2 server.mp3 หรือชื่อ.ogg = Raspberry Pi

ขั้นตอนที่ 14:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ต่อไป เราต้องทำตามขั้นตอนเดิมเพื่อสร้างไฟล์เปล่าชื่อ "darkice.sh" ไฟล์.sh เทียบเท่ากับ.bat หรือไฟล์แบตช์สำหรับ DOS หรือ Windows เปิดโดยใช้ Leafpad คัดลอกและวางบรรทัดด้านล่างแล้วบันทึก

#!/bin/bash

sudo /usr/bin/darkice -c /home/pi/darkice.cfg

ขั้นตอนที่ 15:

ภาพ
ภาพ

ต่อไปเราต้องเรียกใช้คำสั่งเพื่อทำให้ไฟล์ darkice.sh ทำงานได้ เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์ "sudo chmod 777 /home/pi/darkice.sh" แล้วกด Enter ตอนนี้ได้เวลาเริ่มบริการเซิร์ฟเวอร์ Icecast2 แล้ว พิมพ์ "sudo service icecast2 start" แล้วกด Enter

sudo chmod 777 /home/pi/darkice.sh

บริการ sudo icecast2 เริ่ม

ขั้นตอนที่ 16:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ต่อไปเราต้องบอกให้ Darkice เริ่มทำงานโดยอัตโนมัติทุกครั้งที่มีการบูท Pi (เซิร์ฟเวอร์ Icecast2 ทำงานเป็นบริการและเริ่มทำงานโดยอัตโนมัติหลังจากการบูท) ก่อนอื่นเราต้องเลือกตัวแก้ไขข้อความที่จะใช้ ในหน้าต่างเทอร์มินัลให้พิมพ์ "select-editor" แล้วกด Enter พิมพ์ "2" เพื่อเลือก nano editor แล้วกด Enter จากนั้นพิมพ์ "crontab -e" แล้วป้อน จากนั้นให้กดปุ่มลูกศรลงเพื่อเลื่อนไปจนสุดทางด้านล่างของไฟล์ข้อความที่ปรากฏขึ้นและเพิ่มบรรทัดนี้ "@reboot sleep 10 && sudo /home/pi/darkice.sh" จากนั้นกด Ctrl-X เพื่อออกและจะมีข้อความ "บันทึกบัฟเฟอร์ที่แก้ไขหรือไม่" กดปุ่ม Y สำหรับ ใช่ จากนั้นป้อนเพื่อยืนยันชื่อไฟล์ที่สร้างขึ้นโดยอัตโนมัติ สวิตช์ sleep 10 บอกให้ Pi รอ 10 วินาทีหลังจากบูทก่อนที่จะเริ่มสตรีมเสียง ซึ่งจะทำให้ระบบปฏิบัติการมีเวลาเริ่มต้นการ์ดเสียง USB หากคุณเริ่มสตรีมก่อนที่การ์ดเสียง USB จะเปิดใช้งาน การสตรีมจะไม่เริ่ม

เลือกบรรณาธิการ

crontab -e

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

ขั้นตอนที่ 17:

ภาพ
ภาพ
ภาพ
ภาพ

คลิกไอคอนเมนู GUI และเลือกรีบูต หากคุณทำตามขั้นตอนเหล่านี้ทั้งหมดอย่างแม่นยำ สตรีมจะเริ่มโดยอัตโนมัติที่ใดก็ได้ตั้งแต่ 30 วินาทีถึงหนึ่งนาทีหลังจากคลิกรีบูต

ขั้นตอนที่ 18:

ภาพ
ภาพ
ภาพ
ภาพ

อัปเดต: ฉันไม่สามารถให้สตรีมของฉันเล่นโดยตรงใน Google Chrome ได้อีกต่อไป ฉันคิดว่ามันพังด้วยการอัปเดต Chrome มันยังคงทำงานได้ดีบน Sonos และแอพสตรีมมิงอื่นๆ ของฉัน

ในการทดสอบว่าสตรีมทำงานอย่างถูกต้อง ให้เปิดเว็บเบราว์เซอร์บนคอมพิวเตอร์ปกติของคุณแล้วไปที่ "https://192.168.1.146:8000" (โดยที่ที่อยู่ IP ที่ถูกต้องของ Pi ของคุณจะถูกแทนที่ด้วยของฉันแน่นอน) เพื่อดูสถานะของคุณ เซิร์ฟเวอร์ Icecast2 ของ Pi หากต้องการฟัง ให้คลิกที่ไอคอน M3U ที่มุมขวาบน หรือคุณสามารถป้อน "https://192.168.1.146:8000/rapi.mp3" ด้วยตนเองเพื่อเปิดสตรีมโดยตรงและข้ามการดาวน์โหลดไฟล์เพลย์ลิสต์.m3u ไปเลยก็ได้ หากคุณได้ยินแหล่งข้อมูลสดของคุณ แสดงว่า Pi ทำงานอย่างถูกต้อง และถึงเวลาเพิ่มลงใน Sonos แล้ว

ขั้นตอนที่ 19:

ภาพ
ภาพ
ภาพ
ภาพ

คุณต้องใช้แอปตัวควบคุมเดสก์ท็อป Sonos เพื่อเพิ่มสตรีมแบบกำหนดเองไปยัง Sonos คลิกที่ จัดการ > เพิ่มสถานีวิทยุ และป้อน URL สำหรับสตรีม ซึ่งในกรณีของฉันคือ "https://192.168.1.146:8000/rapi.mp3" ป้อนชื่อสถานีด้วยแล้วคลิกตกลง

ขั้นตอนที่ 20:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ในการเล่นสถานีวิทยุแบบกำหนดเองที่เราเพิ่งเพิ่มเข้าไป ให้เลือก "Radio by Tunein" จากนั้นเลือก "My Radio Stations" จากนั้นคุณจะเห็น Raspberry Pi ของคุณอยู่ในรายการ คลิกสองครั้งซ้ายเพื่อเล่นหรือคลิกขวาเพื่อแก้ไขหรือเพิ่มสถานีในรายการโปรด Sonos ของคุณ

ขั้นตอนที่ 21:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

หลังจากเพิ่มสถานีวิทยุที่กำหนดเองแล้ว แอปจะพร้อมใช้งานบนแอปมือถือ Sonos ของคุณทันที เมื่อเร็วๆ นี้ Sonos ได้อัปเดตแอปของตนให้เป็นบรรทัดฐานสีขาวที่น่าสยดสยอง เช่นเดียวกับการเปลี่ยนชื่อ "รายการโปรดของ Sonos" เป็น "My Sonos" และใช้ภาพขนาดย่อที่ใหญ่เกินไปสำหรับทุกสิ่ง มีแบ็คแลชจำนวนมากในฟอรัม Sonos เนื่องจากรูปแบบเก่าดูและทำงานได้ดีกับทุกสิ่งที่เข้าถึงได้ง่ายโดยไม่ต้องปิดตาคุณในห้องมืด หวังว่าพวกเขาจะกลับคืนสู่รูปแบบเดิมในไม่ช้า อย่างไรก็ตาม ในแอปใหม่ ให้แตะ "My Sonos" ที่ด้านล่าง เลื่อนลงไปที่ "สถานี" แล้วแตะ "ดูทั้งหมด" ในหน้าจอถัดไปให้เลื่อนลงมาจนกว่าคุณจะเห็น "Raspberry Pi" แตะที่มันและเริ่มเล่นในห้องที่คุณเลือก

ขั้นตอนที่ 22:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

สิ่งสุดท้ายที่ต้องทำคือติดตั้ง Pi ลงในเคส ฉันเลือกเคส Flirc Raspberry Pi เพราะมันทั้งดูดีและใช้งานได้ดี เคสอะลูมิเนียมทั้งหมดทำหน้าที่เป็นตัวระบายความร้อนสำหรับโปรเซสเซอร์ของ Pi หากคุณได้เคสนี้ ให้ลอกด้านที่เหนียวของแผ่นระบายความร้อนที่เป็นรูพรุนที่มาพร้อมเครื่องออก แล้วติดไว้บนส่วนของเคสที่เอื้อมมือลงไปสัมผัสโปรเซสเซอร์ จากนั้นลอกฟิล์มพลาสติกบางๆ ที่อีกด้านออก ไม่เหนียวเหนอะหนะ ด้าน (ด้านที่สัมผัสกับโปรเซสเซอร์) ก่อนปิดเคส

ขั้นตอนที่ 23:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

ทำความสะอาดบ้านเล็กน้อย: หากคุณวางแผนที่จะปล่อยให้ Pi ของคุณเชื่อมต่อผ่านอีเธอร์เน็ต คุณอาจต้องการปิดวิทยุ Wi-Fi เพื่อประหยัดน้ำเล็กน้อย เมื่อต้องการทำสิ่งนี้ ให้คลิกซ้ายที่ไอคอนการเชื่อมต่อเครือข่าย (ไอคอนลูกศรขึ้นและลงเล็กน้อย) แล้วเลือก "ปิด Wi-Fi" คุณยังสามารถปิดวิทยุบลูทูธได้โดยคลิกซ้ายที่ไอคอนบลูทูธ นอกจากนี้ โปรแกรม Darkice ยังซ่อนอยู่ในพื้นหลัง ดังนั้นหากคุณต้องการหยุดมัน ให้เปิดหน้าต่างเทอร์มินัล พิมพ์ "ps aux | grep darkice.cfg" แล้วกด Enter จากนั้น "sudo kill 976" (หรืออะไรก็ตามที่เป็นอย่างแรก) รหัสกระบวนการคือ) และกด Enterหากต้องการรีสตาร์ทประเภทสตรีมใน "sudo darkice -c ~/darkice.cfg" แล้วกด Enter หรือเพียงแค่รีบูต ฉันสงสัยว่า Pi ใช้แบนด์วิดท์เท่าใดเมื่อไม่มีไคลเอนต์ที่เชื่อมต่อกับเซิร์ฟเวอร์ Icecast ดังนั้นฉันจึงติดตั้งเครื่องมือตรวจสอบแบนด์วิดท์ที่เรียกว่า vnstat และคำตอบคือ 0 kbps หากไม่มีไคลเอ็นต์เชื่อมต่ออยู่ แสดงว่าไม่มีแบนด์วิดท์ที่ใช้เลย ขอให้โชคดีและขอบคุณสำหรับการดู!

ps aux | grep darkice

sudo ฆ่า 976

sudo darkice -c ~/darkice.cfg

ขั้นตอนที่ 24:

ภาพ
ภาพ

อัปเดตพฤศจิกายน 2018: ฉันย้ายออกจากรัฐเมื่อเร็ว ๆ นี้และต้องการฟังการออกอากาศเกมของทีมกีฬาของฉันบนลำโพง Sonos ของฉันต่อไป ฉันเขียนบทเมื่อ 17 ปีที่แล้วซึ่งอ่านตารางการแข่งขันกีฬาของทีมทุกเช้าเพื่อดูว่ามีการแข่งขันในวันนั้นหรือไม่ หากมีการส่งอีเมลถึงฉัน ตั้งค่าคอมพิวเตอร์ของฉันให้เป็นการ์ดจับภาพ Hauppauge Colossus HDMI เพื่อบันทึกเกมจากกล่องเคเบิล และ Total Recorder จะบันทึกการออกอากาศทางวิทยุจากวิทยุที่เชื่อมต่อกับสายสัญญาณเข้าของคอมพิวเตอร์ของฉัน เนื่องจากฉันจะไปอยู่ต่างประเทศ วิทยุไม่ช่วยอะไรฉันเลยตอนนี้ ฉันจึงตั้งค่า Raspberry Pi ให้เปิดสตรีมการออกอากาศเกมในเว็บเบราว์เซอร์โดยอัตโนมัติเมื่อเปิดเครื่อง สิ่งที่เกิดขึ้นตอนนี้คือเมื่อพรีเกมเริ่มคอมพิวเตอร์ของฉันเปิดสวิตช์ Wemo ที่เชื่อมต่อกับ Pi โดยอัตโนมัติและบูตและเริ่มเล่นวิทยุและฉันบันทึกจากหูฟังของ Pi โดยใช้สายเข้าของคอมพิวเตอร์ ฉันกำลังให้คอมพิวเตอร์เครื่องหลักเปิดหน้าเว็บและบันทึกมันไว้ภายใน แต่ฉันไม่ชอบให้คอมพิวเตอร์ผูกติดอยู่กับเกมทั้งเกม ฉันยังต้องการสตรีมเสียงไปยังลำโพง Sonos ของฉันด้วย และคิดว่ามันจะทำได้ง่ายๆ โดยใช้ซอฟต์แวร์เพียงอย่างเดียว แต่กลับกลายเป็นว่าไม่ใช่กรณีนี้เนื่องจาก Darkice กำลังมองหาสัญญาณอินพุตเสียง ไม่ใช่เอาต์พุต วิธีที่ง่ายและน่าเชื่อถือที่สุดคือเพียงเสียบปลายด้านหนึ่งของอะแดปเตอร์ RCA ขนาด 3.5 มม. ถึง 2x เข้ากับหูฟังของ Raspberry Pi และปลายอีกด้านหนึ่งเข้ากับอินพุต RCA ของ Behringer และทำตามขั้นตอนในคำแนะนำนี้เพื่อสตรีมอินพุต AUX จาก Behringer. FYI ในการเปิดหน้าเว็บโดยอัตโนมัติเมื่อบูต คุณต้องแก้ไขไฟล์ autostart ใน /etc/xdg/lxsession/LXDE-pi/autostart และเพิ่มบรรทัดนี้ในตอนท้าย:

มันใช้งานได้ดีมาก!

ขั้นตอนที่ 25:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

อัปเดต 4 มิถุนายน 2019: การสตรีมเสียงสดจากหน้าเว็บ TuneIn ของทีมกีฬาของฉันไปยัง Sonos นั้นใช้งานได้ดี ยกเว้นการออกอากาศช่วง 2-3 ครั้งล่าสุดที่มีระดับเสียงต่ำมาก ฉันโหลดวิดีโอ YouTube บางรายการและพวกมันก็ดังและชัดเจน ดังนั้นการตั้งค่าระดับเสียงที่ใดที่หนึ่งระหว่างสนามกีฬาและเซิร์ฟเวอร์ของ TuneIn จะต้องลดลง ไม่ใช่เรื่องใหญ่เพราะฉันแน่ใจว่าได้รับการแก้ไขแล้ว แต่ทำให้ฉันคิดหาวิธีเพิ่มระดับเสียงของเอาต์พุตเสียงของ Raspberry Pi ไปยังการ์ดเสียงภายนอก Behringer โดยไม่ต้องใช้แอมป์หูฟังแยกต่างหาก ฉันสั่งซื้อการ์ดเสียง USB ราคาถูกราคา 10 เหรียญพร้อมเอาต์พุตที่แรงกว่าและการควบคุมระดับเสียงจริง แต่ต้องทำการเปลี่ยนแปลงเล็กน้อยเพื่อให้ Raspberry Pi รับรู้ว่าเป็นการ์ดเสียงเริ่มต้น หากต้องการปิดใช้งานการ์ดเสียงออนบอร์ดของ Pi คุณต้องคลิก GUI ไอคอนเมนูบนเดสก์ท็อป (โลโก้ราสเบอร์รี่) จากนั้นคลิกเรียกใช้และป้อน "sudo pcmanfm" เพื่อเปิดตัวจัดการไฟล์ในฐานะผู้ใช้รูท จากนั้นไปที่ /etc/modprobe.d/ และเปิดไฟล์ "raspi-blacklist.conf" โดยใช้ leafpad และเพิ่มบรรทัด "blacklist snd_bcm2835" (โดยไม่ใส่เครื่องหมายคำพูด) และบันทึก จากนั้นไปที่ /lib/modprobe.d/ และเปิดไฟล์ "aliases.conf" และแสดงความคิดเห็นในบรรทัด "options snd-usb-audio index=-2" โดยใส่แฮชแท็กไว้ข้างหน้าเพื่อให้อ่านดังนี้: "#options snd-usb-audio index=-2" จากนั้นบันทึก รีบูตจากนั้นเปิดหน้าต่างเทอร์มินัลแล้วพิมพ์ "arecord -l" เพื่อแสดงรายการอุปกรณ์จับภาพเพื่อให้แน่ใจว่าการ์ดเสียง Behringer ยังคงเป็นหมายเลขอุปกรณ์เดียวกัน (หมายเลขหลังคำว่า "การ์ด") ที่ระบุไว้ในไฟล์ darkice.cfg ของคุณ บนบรรทัด:อุปกรณ์ = plughw:1, 0 # อุปกรณ์การ์ดเสียงสำหรับอินพุตเสียงนั่นแหล่ะ การเปลี่ยนแปลงเหล่านี้จะทำให้การ์ดเสียง USB เป็นเสียงเริ่มต้นสำหรับทุกอย่างใน Raspberry Pi คุณสามารถคลิกขวาที่ไอคอนลำโพงบนเดสก์ท็อปและเลือกการ์ดเสียง USB ที่เป็นค่าเริ่มต้น

ขั้นตอนที่ 26:

ภาพ
ภาพ
ภาพ
ภาพ
ภาพ
ภาพ

อัปเดต 5 มิถุนายน 2019: เมื่อฉันสั่งการ์ดเสียง USB ที่อ้างอิงด้านบน ฉันยังสั่งการ์ดจับภาพ USB ราคาถูกราคา 15 ดอลลาร์ที่มีอินพุตสเตอริโอเพื่อดูว่าสามารถใช้กับ Raspberry Pi เป็นทางเลือกที่ถูกกว่าการ์ด Behringer ได้หรือไม่ มันมีการควบคุมการดักจับซอฟต์แวร์และคำตอบสำหรับทั้งคู่คือใช่! หากต้องการเปิดใช้งานการควบคุมการจับภาพ ให้คลิกขวาที่ไอคอนลำโพงแล้วคลิก "การตั้งค่าอุปกรณ์ USB…" จากนั้นคลิก "เลือกการควบคุม…" จากนั้นทำเครื่องหมายในช่องไมโครโฟนแล้วคลิก "ปิด" แม้ว่าจะมีเพียง "ไมโครโฟน" เป็นตัวเลือก แต่ฉันสามารถยืนยันได้ว่าเป็นอินพุตสเตอริโอโดยใช้อินพุต 3.5 มม. หรือ RCA

การประกวด Raspberry Pi 2017
การประกวด Raspberry Pi 2017
การประกวด Raspberry Pi 2017
การประกวด Raspberry Pi 2017

รองชนะเลิศการแข่งขัน Raspberry Pi 2017

แนะนำ: