สารบัญ:

BOSEBerry Pi Internet Radio: 4 ขั้นตอน (พร้อมรูปภาพ)
BOSEBerry Pi Internet Radio: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: BOSEBerry Pi Internet Radio: 4 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: BOSEBerry Pi Internet Radio: 4 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Raspberry Pi Internet Radio - Part 1 2024, กรกฎาคม
Anonim
BOSEBerry Pi วิทยุอินเทอร์เน็ต
BOSEBerry Pi วิทยุอินเทอร์เน็ต

ฉันชอบฟังวิทยุ! ฉันใช้วิทยุ DAB ในบ้าน แต่พบว่าการรับสัญญาณค่อนข้างหยาบและเสียงก็ขาดหาย ดังนั้นฉันจึงตัดสินใจสร้างวิทยุอินเทอร์เน็ตของตัวเอง ฉันมีสัญญาณ wifi แรงรอบบ้าน และการออกอากาศแบบดิจิทัลควรหมายความว่าฉันสามารถเล่นเสียงที่มีความเที่ยงตรงสูงได้

ฉันไม่ต้องการใช้ลำโพงอัจฉริยะ ฉันต้องการเปิดวิทยุ สามารถเปลี่ยนช่องแล้วปิดได้ ดังนั้นมันจึงทำงานเหมือนกับวิทยุทั่วไป แต่ในขณะที่ใช้อินเทอร์เน็ตเพื่อเชื่อมต่อ ฉันสามารถฟังสถานีวิทยุจากทุกที่ในโลก

ฉันจัดการเพื่อค้นหารุ่น BOSE SoundDock series II มือสองบน ebay (ราคา 5.33 ปอนด์) แต่ได้รับการระบุว่าใช้งานไม่ได้ นี่ไม่ใช่ปัญหาเพราะฉันจะลบวงจรภายในทั้งหมดเพื่อเพิ่มของตัวเอง

เสบียง:

A Bose SoundDock (ฉันใช้รุ่น series II)

Raspberry Pi Zero Wireless พร้อมหมุดส่วนหัว GPIO มุมขวา

ตัวถอดรหัส DAC PCM5102A

แอมพลิฟายเออร์ PAM8403

VS1838B เครื่องรับอินฟราเรด

HX1838 รีโมทคอนโทรล

แม่แรงกระบอก 2.1มม.

ลวดเชื่อม (ฉันใช้ wirewrap)

สิ่งอำนวยความสะดวกการพิมพ์ 3 มิติ

สปูลของเส้นใยเครื่องพิมพ์ PLA

สเปรย์เคลือบอะครีลิค

สีเคลือบ

ถั่ว M3

สกรูเครื่องหกเหลี่ยมหัวโดม M3 x 8 มม.

ตัวรับสัญญาณ IR LED

Veroboard & หมุดส่วนหัว

ขั้นตอนที่ 1: ถอดแยกชิ้นส่วนเครื่องและทำความสะอาด

ถอดแยกชิ้นส่วนและทำความสะอาด
ถอดแยกชิ้นส่วนและทำความสะอาด
ถอดแยกชิ้นส่วนและทำความสะอาด
ถอดแยกชิ้นส่วนและทำความสะอาด
ถอดแยกชิ้นส่วนและทำความสะอาด
ถอดแยกชิ้นส่วนและทำความสะอาด
ถอดแยกชิ้นส่วนและทำความสะอาด
ถอดแยกชิ้นส่วนและทำความสะอาด

SoundDock นั้นง่ายต่อการแยกชิ้นส่วน ถอดฐานออกก่อนแล้วถอดสายทอผ้า ส่วนเชื่อมต่อ iPod ด้านหน้าใช้สกรู Torx T6 spline

ถอดแผงตะแกรงลวดด้านหน้าออก นี่คือความพอดีแบบเสียดทานที่ใช้โฟมจับด้านข้างของเคส ฉันสามารถคลายมันด้วยการเลือกประเภทเบ็ดแล้วยกออกอย่างง่ายดาย ฉันได้เห็นคำแนะนำในการเอาสิ่งเหล่านี้ออกโดยบิดเหรียญในช่องระหว่างตะแกรงลวดและตัวเรือน แต่ฉันไม่ต้องการทำเครื่องหมายที่ตัวเรือนด้วยขอบเหรียญ

แผงด้านหน้าทำหน้าที่เป็นฮีทซิงค์สำหรับแอมพลิฟายเออร์ดั้งเดิมและสามารถถอดออกด้วยสกรู จากนั้นยกออกและถอดลำโพงและสายแพแบบแบนออกได้

หาก SoundDock ของคุณเป็นเครื่องเก่า แสดงว่าอาจมีฝุ่นและสิ่งสกปรกสะสมอยู่เป็นจำนวนมาก เมื่อถอดส่วนประกอบไฟฟ้าทั้งหมดแล้ว ตอนนี้คุณสามารถทำความสะอาดได้ดีในน้ำสบู่ร้อน ฉันใช้สเปรย์ 'น้ำยาล้างสติกเกอร์' เพื่อทำความสะอาดเลอะที่ฉลากทิ้งไว้ อย่าใช้วัสดุทำความสะอาดที่มีฤทธิ์กัดกร่อน คุณจึงสามารถรักษาพื้นผิวที่มีความมันวาวสูงไว้บนตัวเรือนได้

ขั้นตอนที่ 2: 3D พิมพ์ส่วนประกอบ

3D พิมพ์ส่วนประกอบ
3D พิมพ์ส่วนประกอบ
3D พิมพ์ส่วนประกอบ
3D พิมพ์ส่วนประกอบ
3D พิมพ์ส่วนประกอบ
3D พิมพ์ส่วนประกอบ
3D พิมพ์ส่วนประกอบ
3D พิมพ์ส่วนประกอบ

ฉันออกแบบแท่นวางที่จะติดกับด้านในของฮีทซิงค์อัลลอยด์ เพื่อให้สามารถติด Raspberry Pi, DAC decoder และส่วนประกอบแอมพลิฟายเออร์ในยูนิตขนาดกะทัดรัดเพียงเครื่องเดียว

แท่นวางมาในสองส่วน ส่วนล่างพิมพ์ด้วยฐานรองเนื่องจากต้องมีรูที่ด้านข้างของตัวเครื่อง จึงสามารถเปลี่ยนแปลงการ์ด micro SD ได้โดยไม่ต้องถอดแยกชิ้นส่วนทั้งยูนิต ฐานรองรับที่พิมพ์ออกมาเหล่านี้สามารถถอดออกได้อย่างง่ายดายโดยใช้เครื่องมือดึงโลหะและคีมปากแหลม แท่นวางทั้งสองส่วนสามารถต่อเข้าด้วยกันด้วยสกรูและน็อตเครื่อง M3 ที่ยึดไว้ในการออกแบบ

ส่วนหัวมุมขวา 40 พินถูกบัดกรีบน Raspberry Pi (RPi)

RPi ติดตั้งอยู่บนตัวเว้นระยะของแผงวงจรพิมพ์บางตัวซึ่งถูกเจาะออกเพื่อให้สกรูของเครื่องทะลุผ่านได้ง่าย นอกจากนี้ยังทำอย่างระมัดระวังบนรูยึดมุม Raspberry Pi

ที่ด้านบนของแท่น คุณจะเห็น DAC PCM5102A พร้อมหัวต่อมุมขวาแบบบัดกรี แอมพลิฟายเออร์ PAM และส่วนหัวสองแถวที่ติดตั้งบนเวโรบอร์ดบางตัวเพื่อทำหน้าที่เป็นบัสบาร์ของพาวเวอร์ซัพพลาย สามารถติดตั้งชุดประกอบทั้งหมดนี้เข้ากับแผงฮีทซิงค์อัลลอยด์ที่ยึดกับด้านหน้าของ SoundDock ได้โดยใช้สกรูดั้งเดิม

ป้ายชื่อด้านหน้าได้รับการออกแบบตามรัศมีความโค้งของตัวเรือน ฉันใช้ตัวอักษรที่มีลายนูนและพิมพ์ออกมาได้อย่างแม่นยำ แต่ฉันไม่คิดว่าชื่อ BOSEBerry Pi จะมองเห็นได้ชัดเจนเป็นพิเศษ เว้นแต่จะจับแสงได้ถูกต้อง ฉันตัดสินใจทาสีตัวอักษรที่มีลายนูนเพื่อให้มองเห็นได้ชัดเจนขึ้น ฉันปิดผนึกงานพิมพ์ด้วยสเปรย์แล็กเกอร์อะคริลิคใสเพื่อเติมช่องว่างใดๆ บนพื้นผิวการพิมพ์ สิ่งนี้ควรตรวจสอบให้แน่ใจว่าสีเคลือบชั้นถัดไปไม่ตกผ่านชั้นที่พิมพ์ของชิ้นงาน สีเคลือบฟันถูกสร้างขึ้นในหลายชั้น ในระหว่างการทาสี การกระทำของเส้นเลือดฝอยทำให้สีขึ้นบนพื้นผิวทำให้เกิดรอยเปื้อน แต่เมื่อมันแห้งแล้ว ฉันก็สามารถทำความสะอาดมันด้วยกระดาษเปียกและแห้ง แล้วเติมแล็กเกอร์ใสขั้นสุดท้ายเพื่อให้เข้ากับสี ผิวมันเงาของตัวเครื่อง

ขั้นตอนที่ 3: กำหนดค่า Pi

คำแนะนำต่อไปนี้เป็นขั้นตอนที่คุณต้องดำเนินการเพื่อกำหนดค่าซอฟต์แวร์วิทยุ

  1. ดาวน์โหลด Buster Lite จาก https://www.raspberrypi.org/downloads/raspbian/Extract ไฟล์ซิป – คุณจะมีไฟล์.img
  2. ฟอร์แมตการ์ด micro SD โดยใช้ฟอร์แมตการ์ด SD
  3. ใช้ Win32 Disk Imager https://sourceforge.net/projects/win32diskimager/ เพื่อเขียน Raspbian Buster ลงในการ์ด SD (ซึ่งใช้เวลาประมาณ 10 นาที)
  4. แนบ Pi เข้ากับจอภาพและแป้นพิมพ์และเข้าสู่ระบบด้วย username = pi, password = raspberry
  5. พิมพ์ Sudo raspi-config ลงในหน้าต่างคอนโซล
  6. ตัวเลือกเมนู 8 – อัปเดตเครื่องมือนี้เป็นเวอร์ชันล่าสุด
  7. เมนูตัวเลือก 1 – เปลี่ยนรหัสผ่านผู้ใช้และจดบันทึกไว้
  8. ตัวเลือกเมนู 2 – ตัวเลือกเครือข่าย

    1. (N2) ป้อนรายละเอียด WiFi สำหรับเครือข่ายในบ้านของคุณ
    2. (N1) เปลี่ยนชื่อโฮสต์เป็น radiopi
  9. ตัวเลือกเมนู 3 – เปิดใช้งานตัวเลือกการบูต (B1) และ (B2) ล็อกอินอัตโนมัติของคอนโซล
  10. ตัวเลือกเมนู 5 – ตัวเลือกการเชื่อมต่อ (P2) เปิดใช้งาน SSH
  11. ตัวเลือกเมนู 7 – ขั้นสูง (A1) ขยายระบบไฟล์
  12. Sudo apt-get update
  13. Sudo apt-get อัปเกรด (15 นาที)
  14. Sudo rpi-update (เพื่ออัปเดตเฟิร์มแวร์)
  15. RPiZ สามารถใช้ 'หัวขาด' ได้แล้ว ดังนั้นคุณจึงสามารถ SSH เข้าไปเพื่อกำหนดการตั้งค่าที่เหลือได้ เข้าสู่ระบบเราเตอร์ของคุณผ่านเบราว์เซอร์ (เช่น 192.168.1.254) และค้นหาที่อยู่ IP ของ radiopi ของคุณ ดาวน์โหลด Putty และใช้เพื่อเข้าสู่ระบบ Pi โดยใช้ที่อยู่ IP ที่คุณเพิ่งพบ username=pi และใช้รหัสผ่านใหม่ของคุณ
  16. sudo apt-get install lirc # ติดตั้ง LIRC (ป้อน y เพื่อดำเนินการต่อ)
  17. sudo nano /boot/config.txt
  18. ยกเลิกความคิดเห็นและเปลี่ยนหมายเลขพิน dtoverlay=gpio-ir, gpio_pin=23 #pin 16 บนกระดาน
  19. แสดงความคิดเห็น #dtparam=audio=on
  20. dtoverlay=hifiberry-dac
  21. แสดงความคิดเห็นตัวเลือก RPi4 dtoverlay=vc4-fkms-v3d และ max_framebuffers=2
  22. ctrl X จากนั้น Enter จากนั้น 'Y' เพื่อบันทึก
  23. cd /etc/lirc
  24. ls เพื่อแสดงรายการไฟล์ในไดเร็กทอรี
  25. sudo cp lirc_options.conf.dist lirc_options.conf
  26. sudo cp lircd.conf.dist lircd.conf
  27. sudo nano lirc_options.conf
  28. ไดรเวอร์ = ค่าเริ่มต้น
  29. อุปกรณ์ = /dev/lirc0
  30. ctrl X จากนั้น Enter จากนั้น 'Y' เพื่อบันทึก
  31. sudo nano /etc/lirc/lircd.conf.d/HX1838.conf
  32. คัดลอกคำจำกัดความสำหรับ HX1838.conf จากไฟล์ข้อความ (ctrl-insert เพื่อวางลงในคอนโซล)
  33. ctrl X จากนั้น Enter จากนั้น 'Y' เพื่อบันทึก
  34. cd /etc/lirc/lircd.conf.d
  35. เพื่อดูไฟล์
  36. sudo mv devinput.lircd.conf devinput.lircd.conf.dist (เพื่อปิดการใช้งาน)
  37. sudo nano /etc/lirc/lircrc
  38. วางในรหัสการกำหนดค่าสำหรับ lircrc
  39. ctrl X จากนั้น Enter จากนั้น 'Y' เพื่อบันทึก
  40. sudo apt-get install mpd – ป้อน 'Y' เพื่อดำเนินการต่อ (ใช้เวลาสักครู่)
  41. sudo apt-get ติดตั้ง mpc
  42. sudo nano /etc/rc.local
  43. แสดงความคิดเห็นรหัสทั้งหมดยกเว้นทางออก 0 ในตอนท้าย
  44. #เพิ่มความคิดเห็นถัดไปเหล่านี้ก่อนออก 0
  45. เพิ่ม irexec -d
  46. เพิ่ม mpc หยุด
  47. เพิ่มปริมาณ mpc 30
  48. #ลดความต้องการพลังงาน
  49. #ปิด hdmi เพราะเครื่องนี้ไม่มีหัว
  50. /usr/bin/tvservice -o
  51. ctrl X จากนั้น Enter จากนั้น 'Y' เพื่อบันทึก
  52. สุดท้าย สร้าง asound.conf ใหม่โดยพิมพ์ sudo nano /etc/asound.conf แล้วป้อนข้อมูลต่อไปนี้:
  53. pcm.!default {
  54. พิมพ์บัตร hw 0
  55. }
  56. ctl.!ค่าเริ่มต้น {
  57. พิมพ์บัตร hw 0
  58. }
  59. ctrl X จากนั้น Enter จากนั้น 'Y' เพื่อบันทึก
  60. sudo nano /etc/mpd.conf
  61. เลื่อนลงมาเพื่อแก้ไขการตั้งค่าเหล่านี้
  62. เอาต์พุตเสียง{
  63. พิมพ์ “อัลซ่า”
  64. ชื่อ “อุปกรณ์ ALSA ของฉัน”
  65. อุปกรณ์ “hw:0, 0”
  66. Mixer_type “ซอฟต์แวร์”
  67. Mixer_device "ค่าเริ่มต้น"
  68. Mixer_control “PCM”
  69. Mixer_index “0”
  70. }
  71. ctrl X จากนั้น Enter จากนั้น 'Y' เพื่อบันทึก
  72. sudo รีบูต
  73. ตอนนี้คุณพร้อมที่จะเชื่อมต่อสายไฟแล้ว

ฉันกำหนดค่าสถานีวิทยุเป็นรายการต่อไปนี้ แต่คุณสามารถเปลี่ยนสตรีม URL และใช้สถานีวิทยุใดก็ได้ที่คุณต้องการ ดูไฟล์การกำหนดค่า lircrc ที่แนบมา

คีย์ 0 = Jazz FM

คีย์ 1 = Absolute Classic Rock

คีย์ 2 = BBC Radio 2

คีย์ 3 = Classic FM

คีย์ 4 = BBC Radio 4

คีย์ 5 = BBC Radio 5

คีย์ 6 = วิทยุบีบีซี 6 เพลง

คีย์ 7 = BBC Hereford และ Worcester

คีย์ 8 = แอ็บโซลูท 80s เพลง

คีย์ 9 = แอ็บโซลูท 90s เพลง

ลูกศรขึ้น = เพิ่มระดับเสียง

ลูกศรลง = ลดระดับเสียง

คีย์ซ้าย = ล้างเพลย์ลิสต์

คีย์ขวา = ล้างเพลย์ลิสต์

คีย์ตกลง = เล่น

Key Back = สลับ (ซึ่งหยุดเล่นสดชั่วคราว)

กุญแจทางออก = หยุด

ขั้นตอนที่ 4: วางสายโครงการ

วางสายโครงการ
วางสายโครงการ
วางสายโครงการ
วางสายโครงการ
วางสายโครงการ
วางสายโครงการ
วางสายโครงการ
วางสายโครงการ

ต่อวงจรโดยใช้ตารางการเดินสายด้านบน

ตอนแรกฉันสร้างต้นแบบบนเขียงหั่นขนมเพื่อตรวจสอบว่าใช้งานได้หรือไม่ จากนั้นฉันก็สามารถโอนสายเชื่อมต่อไปยังส่วนประกอบที่ฉันติดตั้งไว้ โดยใช้ตัวเชื่อมต่อดูปองท์ที่ส่วนหัว อีกครั้ง ฉันสามารถทดสอบเพื่อตรวจสอบว่าเครื่องยังทำงานอยู่หรือไม่ ในที่สุด ฉันตัดสินใจทำการเชื่อมต่อขั้นสุดท้ายโดยใช้เครื่องมือ wirewrap วิธีนี้เป็นวิธีที่เรียบร้อยมากในการเชื่อมต่อส่วนประกอบต่างๆ และมีโบนัสเพิ่มเติมที่สามารถ 'ยกเลิก' การเชื่อมต่อได้อย่างง่ายดายหากจำเป็น การเชื่อมต่อทางไฟฟ้าที่ใช้วิธีนี้ดีมาก ไม่จำเป็นต้องบัดกรี

ตัวรับ IR led ถูกเพิ่มเข้าไปในโปรเจ็กต์โดยการบัดกรีมันลงบน veroboard ชิ้นเล็ก ๆ ซึ่งติดตั้งในตำแหน่งของ LED ดั้งเดิมที่ด้านหน้าของเคส สายไฟถูกเก็บไว้ให้สั้นและป้อนผ่านช่องทางในตัวเพื่อเชื่อมต่อกับ RPi ตัวรับสัญญาณนี้จะนั่งอยู่ด้านหลังตะแกรงลวดตาข่ายละเอียดเพื่อให้สามารถ 'เห็น' สัญญาณ IR จากชุดควบคุมระยะไกลได้

เมื่อติดตั้งลำโพงเข้ากับตู้แล้ว ก็สามารถต่อเข้ากับช่องสัญญาณสเตอริโอของเอาท์พุตเครื่องขยายเสียงได้ ซ็อกเก็ตแจ็คพาวเวอร์ซัพพลายตัวเมียสามารถต่อเกลียวผ่านแผ่นรองรับที่พิมพ์ 3 มิติและต่อเข้ากับบัสบาร์ของวงจร หน่วยทั้งหมดใช้พลังงานจากปลั๊กหม้อแปลง 5v 3A

แนะนำ: