สารบัญ:

Keeping It Stoopid Simple Internet Radio: KISSIR: 13 ขั้นตอน
Keeping It Stoopid Simple Internet Radio: KISSIR: 13 ขั้นตอน

วีดีโอ: Keeping It Stoopid Simple Internet Radio: KISSIR: 13 ขั้นตอน

วีดีโอ: Keeping It Stoopid Simple Internet Radio: KISSIR: 13 ขั้นตอน
วีดีโอ: skibidi toilet 39 - 59 (season 13-19) 2024, พฤศจิกายน
Anonim
วิทยุอินเทอร์เน็ตธรรมดา ๆ ทำให้มันงี่เง่า: KISSIR
วิทยุอินเทอร์เน็ตธรรมดา ๆ ทำให้มันงี่เง่า: KISSIR
วิทยุอินเทอร์เน็ตธรรมดา ๆ ทำให้มันงี่เง่า: KISSIR
วิทยุอินเทอร์เน็ตธรรมดา ๆ ทำให้มันงี่เง่า: KISSIR

บางครั้งก็ต้องสัมผัส ไม่มีอินเทอร์เฟซใด ๆ เพียงแค่ปุ่ม

Raspberry Pi ในฐานะเครื่องเล่นวิทยุอินเทอร์เน็ตไม่มีอะไรใหม่ และมีคำแนะนำมากมายเกี่ยวกับวิธีสร้างเครื่องเล่นวิทยุอินเทอร์เน็ตโดยใช้ Raspberry Pi ที่มีหรือไม่มีจอภาพเพื่อสตรีมสถานีอินเทอร์เน็ตจากทั่วโลก หากคุณต้องเลือกที่จะไร้หัว (โดยไม่ใช้จอมอนิเตอร์) คุณยังคงต้องใช้วิธีการเชื่อมต่อกับ pi player ซึ่งมักจะเป็นเว็บอินเตอร์เฟส หากไม่ใช่วิธีการสื่อสารกับโฮสต์โดยตรง เช่น ssh คำแนะนำนี้จะแตกต่างกันเล็กน้อย เราจะใช้การกดปุ่มง่ายๆ เพื่อส่งคำสั่งไปยัง pi ซึ่งทำให้ไม่จำเป็นต้องใช้เว็บอินเตอร์เฟสและหน้าจอ LCD ฟังดูง่ายพอใช่ไหม (?)

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

ทักษะหลามของคุณไม่จำเป็นต้องก้าวหน้า อันที่จริงฉันเปลี่ยนจาก "Hello World" มาเขียนสิ่งนี้ และอย่างที่คุณเห็น ฉันยืมรหัสจำนวนมาก - ดังนั้นถ้าฉันทำได้และจัดทำเป็นเอกสารไว้บ้าง คนอื่นๆ ก็ไม่น่าจะมีปัญหา

ไปกันเถอะ!

เสบียง:

วัสดุที่จำเป็น

  • Raspberry pi/ pi zero w พร้อมส่วนเสริมทั้งหมด: พาวเวอร์ซัพพลาย, การ์ด SD และ Raspbian หรือ Raspbian lite
  • อินเตอร์เน็ตไร้สายและอินเทอร์เน็ต
  • พีซีเครื่องอื่นเพื่อทำการท่องเว็บและความสามารถในการ SSH ไปยังราสเบอร์รี่pi
  • ตัวแปลงดิจิทัลเป็นแอนะล็อก (DAC) - เป็นทางเลือก แต่คุณจะรู้สึกขอบคุณ
  • เครื่องขยายเสียง
  • ลำโพง
  • สายต่อและจัมเปอร์
  • หัวแร้งและหัวแร้ง
  • Perf Board สำหรับปุ่ม
  • ปุ่มสัมผัส: ปกติเปิด- หนึ่งปุ่มสำหรับเพลงแต่ละประเภท ปุ่มเปิดปิด และปุ่มปิดเสียงเสริม (แนะนำ 7 ปุ่ม)
  • หน่วยที่อยู่อาศัยสำหรับสิ่งที่กล่าวมาทั้งหมด (ไม่จำเป็น แต่เป็นระเบียบเรียบร้อย)

ขั้นตอนที่ 1: ข้อกำหนดเบื้องต้น:

ข้อกำหนดเบื้องต้น
ข้อกำหนดเบื้องต้น

เราจะเริ่มต้นโดยสมมติว่าคุณได้ตั้งค่า raspberry pi, DAC และแอมพลิฟายเออร์แล้ว และจะถือว่าคุณสามารถเข้าถึงอินเทอร์เน็ตได้ เนื่องจากมีตัวเลือกอุปกรณ์เสียง ค่ากำหนด และตัวเลือกสำหรับการฟังเสียงจำนวนมาก เราจะถือว่าการตั้งค่าของคุณเสร็จสมบูรณ์แล้ว: คุณควรมีเสียงที่ออกมาจากลำโพงของคุณก่อนที่จะเริ่มโครงการนี้ เราจะต้อง ssh ไปที่ raspberry pi ด้วย ดังนั้นโดยใช้การกำหนดค่า pi ตรวจสอบให้แน่ใจว่าอินเทอร์เฟซได้เปิดใช้งาน ssh แล้ว ฉันจะใช้ Raspbian lite และแนะนำให้คุณติดตั้งสำเนาล่าสุดบนการ์ด sd ใหม่เฉพาะสำหรับโครงการนี้ หากประสบความสำเร็จ เราจะสร้างอุปกรณ์ติดตั้งแบบสแตนด์อโลนที่เปิดใช้งานได้ตลอด 24 ชั่วโมงทุกวันในฐานะอุปกรณ์ฟังเฉพาะ

ขั้นตอนที่ 2: ติดตั้ง Python และ Pip

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

อันดับแรก ให้ทำการตรวจสอบบำรุงรักษาระบบและเวอร์ชันหลามของเราเป็นประจำ:

sudo apt-get update

sudo apt-get อัพเกรด

ตรวจสอบให้แน่ใจว่าติดตั้ง Python แล้ว ในเซสชันเทอร์มินัลพิมพ์สิ่งต่อไปนี้ที่พรอมต์คำสั่ง:

หลาม --version

หากคุณเห็น python 2.7.13 (หรือเก่ากว่า) ให้ติดตั้ง python 3.+:

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

sudo apt-get ติดตั้ง python-pip

sudo apt-get ติดตั้ง python3-pip

sudo pip3 ติดตั้ง -- อัพเกรด pip

ขั้นตอนที่ 3: ติดตั้ง MPG123 และ Adafruit Blinka

ตอนนี้วางรากฐานแล้ว มีการติดตั้งเพิ่มเติมอีกเล็กน้อย:

MPG123 เป็นซอฟต์แวร์เสียงที่จะเล่นเพลงของเรา การติดตั้งนั้นง่ายมาก:

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

ฉันค้นคว้ามามาก และพบเทมเพลตที่ยอดเยี่ยมบนเว็บไซต์ของ Adafruit เกี่ยวกับการเล่นไฟล์เสียงโดยใช้การกดปุ่ม ดังนั้น แทนที่จะเริ่มต้นจากศูนย์ เรามาดำเนินการต่อในแนวทางที่ผู้คนใน Adafruit ได้จุดประกายให้เราแล้ว โปรแกรมของพวกเขาขอให้เราติดตั้ง Adafruit Blinka:

$ sudo pip3 ติดตั้ง adafruit-blinka

ก่อนที่เราจะดำเนินการต่อ มาตรวจสอบอย่างรวดเร็วเพื่อให้แน่ใจว่าเรามีการตั้งค่า Alsa:

aplay --version

ผลลัพธ์ของเราควรอ่าน: เวอร์ชัน 1.1.3 โดย Jaroslav Kysela

ขั้นตอนที่ 4: ปรับระดับเสียงเป็น 50% ใน Alsamixer

ปรับระดับเสียงเป็น 50% ใน Alsamixer
ปรับระดับเสียงเป็น 50% ใน Alsamixer
ปรับระดับเสียงเป็น 50% ใน Alsamixer
ปรับระดับเสียงเป็น 50% ใน Alsamixer

ตอนนี้ ให้ใช้มาตรการป้องกันไว้ก่อนและปรับระดับเสียงของเราเป็น 50% เพื่อหลีกเลี่ยงความประหลาดใจที่ทำให้หูอื้อ:

ที่พรอมต์คำสั่ง พิมพ์ alsamixer:

อัลซามิเซอร์

หากเราดูหน้าจอสีแดงขาวและเขียว หรือระดับเสียงสูงสุด 100% เป็นความคิดที่ดีที่จะลดระดับเสียงลงเหลือ 50% เพื่อประหยัดแก้วหูของเรา เราสามารถปรับในภายหลังได้เสมอ (ขึ้นหรือลง) หากจำเป็น

ขั้นตอนที่ 5: การบ้านบางส่วน: ค้นหาสถานีวิทยุ 5 แห่งที่น่าฟัง

การบ้านบางส่วน: ค้นหาสถานีวิทยุที่น่าฟัง 5 แห่ง
การบ้านบางส่วน: ค้นหาสถานีวิทยุที่น่าฟัง 5 แห่ง
การบ้านบางส่วน: ค้นหาสถานีวิทยุที่น่าฟัง 5 แห่ง
การบ้านบางส่วน: ค้นหาสถานีวิทยุที่น่าฟัง 5 แห่ง

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

SomaFm * เป็นแหล่งที่ดีในการเริ่มต้น โดยเฉพาะอย่างยิ่งหากคุณยังไม่มีความคิดเกี่ยวกับสิ่งที่คุณต้องการฟังในตอนนี้ พวกเขามีตัวเลือกเพลงที่หลากหลาย ซึ่งฉันไม่คิดว่าเป็นการล่วงละเมิด ไม่มีโฆษณา และส่วนที่ดีที่สุด: พวกเขาเปิดเผย URL ของพวกเขาอย่างเปิดเผย ในการคว้า URL ให้คลิกที่ภาพของสถานีที่คุณสนใจ และที่แถบนำทางด้านซ้าย ให้คลิก "ลิงก์สตรีมโดยตรง" จากนั้นค้นหาส่วน MP3 และขูด URL ของอัตราการเล่นสูงสุด (เช่น 128 จังหวะ 64) วาง URL ลงในโปรแกรมแก้ไขข้อความหรือแผ่นจดบันทึกก่อน

ตัวอย่างเช่น หากต้องการขูด Christmas Rocks URL จะเป็น: (เราไม่ต้องการคำอธิบายเซิร์ฟเวอร์)

ice4.somafm.com/xmasrocks-128-mp3

นอกโลกของ SomaFm จะได้รับความน่าสนใจเล็กน้อย หลายสถานีใช้คนกลางระหว่างผู้ฟังกับสถานี ไม่ว่าจะเป็นเพื่อการโฆษณา การตลาด หรือการติดตาม - และโดยทั่วไปแล้ว ผมพยายามหลีกเลี่ยงสถานีประเภทนี้ เนื่องจากพ่อค้าคนกลางชอบให้คุณฟังสถานีผ่านพวกเขา มักจะค่อนข้างยากที่จะหา URL; และนั่นคือที่มาของ Vtuner

* ฉันคงจะสะเพร่าถ้าไม่ได้ขอให้คุณบริจาคให้กับสถานีวิทยุที่คุณชื่นชอบ เนื่องจากหลายสถานีอาศัยการสนับสนุนผู้ฟังเพียงอย่างเดียว

ขั้นตอนที่ 6: ตัวเลือก: ขูด URL โดยใช้ Vtuner

ทางเลือก: ขูด URL โดยใช้ Vtuner
ทางเลือก: ขูด URL โดยใช้ Vtuner
ทางเลือก: ขูด URL โดยใช้ Vtuner
ทางเลือก: ขูด URL โดยใช้ Vtuner

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

ฉันชอบมัน. แต่ฉันจะรับ URL ได้อย่างไร เพียงคลิกขวาบนพื้นที่สีขาวทางด้านขวาของภาพสถานี ใต้ชื่อสถานี แล้วเลือก "ดูแหล่งที่มาของหน้า" แล้วเลื่อนลงไปที่แถวที่ 150 เรากำลังหาบรรทัดที่ระบุว่า "// ลอง เพื่อจัดการกับ icecast". และพบ url ด้านล่างทันที!

orion.shoutca.st:8110/stream

เนียนกริ๊บ!

ทำซ้ำขั้นตอนนี้จนกว่าเราจะมีอย่างน้อย 5 สถานีในรายการของเรา

ตัวเลือกเสริม: สำหรับการวัดพิเศษ หากคุณพบแนวเพลง 5 ประเภทที่คุณสนใจ (แทนที่จะเป็น 5 สถานี) ให้สร้างรายการสถานีวิทยุสำหรับแต่ละประเภทและบันทึกรายการเป็นไฟล์ข้อความ เราจะกลับมาที่นี่ในภายหลัง

ขั้นตอนที่ 7: ตั้งค่าปุ่มของเรา

ตั้งค่าปุ่มของเรา
ตั้งค่าปุ่มของเรา
ตั้งค่าปุ่มของเรา
ตั้งค่าปุ่มของเรา

ส่วนที่สำคัญที่สุด! ปัดฝุ่นหัวแร้งเก่าหรืออย่างน้อยก็เสียบปลั๊กแล้วปัดฝุ่นออก ถึงเวลาที่จะประสาน ฉันใช้ปุ่มกดชั่วขณะ 4 ง่าม ซึ่งปกติเปิดอยู่ ฉันจะสร้างอาร์เรย์ของปุ่มต่างๆ (ภาพซ้าย) และติดไว้กับบอร์ดที่สมบูรณ์แบบ ในรูปนั้นบอกยาก แต่ทิศทางของง่ามปุ่มทั้งหมดวิ่งจากเหนือ-ใต้ ทางด้านขวา คุณจะเห็นตำแหน่งที่ฉันใช้รางกราวด์สำหรับสายกราวด์ของฉัน และติดสายจัมเปอร์ปลายสายตัวผู้บางตัวที่ด้านตรงข้ามของแต่ละปุ่ม แทนที่จะมีจุดเชื่อมต่อกราวด์ 7 เส้น รางจะช่วยให้เราสามารถแบ่งปันการเชื่อมต่อกราวด์เดียวกับ pi สำหรับทุกคน ผลลัพธ์ที่ได้คือแผ่นเวเฟอร์ที่ละเอียดอ่อนซึ่งจะอยู่ใต้การติดตั้งที่ด้านบนของวิทยุโดยใช้สกรูบางตัวผ่านรูนำร่องที่ให้มา เฉพาะปุ่มด้านบนเท่านั้นที่จะปรากฏผ่านร่องที่ฉันตัดออกจากด้านบน เนื่องจากพื้นผิวด้านบนของฉันมีความหนาเพียง 1/4 ฉันจึงต้องระวังไม่ให้สกรูเกิน กาวอาจช่วยยึดแผ่น perf เข้ากับวิทยุได้

ขั้นตอนที่ 8: ระบุพิน GPIO ของเรา

ระบุพิน GPIO ของเรา
ระบุพิน GPIO ของเรา
ระบุพิน GPIO ของเรา
ระบุพิน GPIO ของเรา

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

ตอนนี้เรามาระบุหมุดหกตัวที่จะโฮสต์การกดปุ่มของเรา ฉันจะขอให้คุณโฟกัสที่ด้านซ้ายของหมวก Google AIY ซึ่งมีข้อความว่า "เซอร์โว" มีเสา 6 รูสำหรับพินที่ฉันจะติดและประสานปุ่มตัวผู้ของฉันสิ้นสุดจากขั้นตอนก่อนหน้าของเรา หากคุณทำงานโดยไม่มีหมวกเสียง google aiy ไม่ต้องกังวล รูปภาพทางด้านขวาจะนำทางคุณ ไม่ว่าในกรณีใด เราจะใช้หมุด gpio (BCM) 26, 06, 13, 05, 12 และ 24 จากบนลงล่าง (หรือ 0-5) GPIO #24 จะถูกสงวนไว้สำหรับปุ่มหยุดชั่วคราว

อย่าลืมต่อสายดินด้วย

ขั้นตอนที่ 9: รหัส

ฉันสงสัยว่าโค้ดจะเปลี่ยนไปมากจากที่นี่ แต่สำหรับโค้ด python เวอร์ชันล่าสุด โปรดไปที่ github ของฉัน ฉันได้แนบสำเนาเมื่อ 2019-18-12 ชื่อ pytiful3.py

โค้ดนี้ไม่ใช่โค้ดที่มีประสิทธิภาพสูงสุดเท่าที่คุณเคยเห็นมา และมันก็ค่อนข้างละเอียด แต่ก็ทำให้งานสำเร็จลุล่วง

เริ่มต้นด้วยการสร้างแซนด์บ็อกซ์เพื่อเล่น จากไดเร็กทอรีหลักของเรา ให้สร้างไดเร็กทอรีบน raspberry pi ที่เรียกว่า kissir:

mkdir คิสเซอร์/

และคัดลอกเนื้อหาไฟล์ pytiful3.py ลงในไดเร็กทอรีโดยเปิดไฟล์ตัวอย่างในโปรแกรมแก้ไขข้อความแล้วใช้

sudo nano kissir/pytiful3.py

คัดลอก / วางเนื้อหาไฟล์ลงในสคริปต์หลามที่สร้างขึ้นใหม่ของเรา อย่าลืมบันทึกงานของเราโดยใช้ Ctrl-x, Y และ enter

หากคุณต้องการดูสคริปต์อย่างรวดเร็ว เรานำเข้าโมดูลหลามที่เราต้องการ จากนั้นเราจะกำหนดปุ่มของเราและกำหนดพิน gpio ให้กับแต่ละปุ่มทั้ง 7 ปุ่ม จะมีสถานีวิทยุ 5 สถานี (โปรดแก้ไขตามการตั้งค่าสถานีของคุณได้ตามต้องการ) ปุ่มหยุด และปุ่มปิดเครื่อง while true loop จะรันและรันจนกว่าจะมีการกดปุ่ม ซึ่งโดยส่วนใหญ่แล้วจะหยุดเล่น mpg123 ที่มีอยู่และเริ่มเล่นสถานีที่กำหนดให้กับปุ่มที่ถูกกด ปุ่มหยุดชั่วคราว/หยุดไม่ใช่ปุ่มหยุดชั่วคราวจริงๆ แต่เป็นปุ่มฆ่ามากกว่า เนื่องจากเราไม่สามารถหยุดวิทยุอินเทอร์เน็ตชั่วคราวได้ วิทยุอินเทอร์เน็ตไม่คอยใคร

ขั้นตอนที่ 10: ทดสอบในแซนด์บ็อกซ์ของเรา

ทดสอบในแซนด์บ็อกซ์ของเรา
ทดสอบในแซนด์บ็อกซ์ของเรา

ก่อนที่เราจะปรับใช้วิทยุของเรา ในขณะที่ยังอยู่ในเซสชัน ssh ของเรา ให้ไปที่โฟลเดอร์ kissir ที่จัดเก็บสคริปต์ของเราไว้ เราสามารถเรียกใช้สคริปต์จากบรรทัดคำสั่งด้วยตนเองโดยพิมพ์:

python3 pytiful3.py

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

Ctrl-C จะหยุดสคริปต์หากคุณต้องการยกเลิก

แล้วถ้าเห็น "กดปุ่ม" จะรออะไร ? เลือกปุ่มสถานีวิทยุห้าปุ่มของเรา

เป็นไปได้มากที่คุณจะได้ยินเสียงลำโพงดังเพื่อเริ่มเล่นเพลง และตอนนี้ฉันก็ช่วยไม่ได้ Mpg123 อนุญาตให้ใช้คำต่อท้าย "--preload 1" หลังที่อยู่สถานีในคำสั่ง os.system แต่ฉันไม่สามารถบอกได้ว่ามันสร้างความแตกต่างหรือไม่ ควรให้บัฟเฟอร์เล็กน้อย

โค้ดอีกเล็กน้อยที่คุณอาจสงสัย: มีแฟล็ก " -f 7000" หลังจากการเรียก mpg123 สิ่งนี้จะลดระดับเสียงจนถึงระดับเสียงสูงสุด ปริมาณเต็มจะเป็น 32K ตามที่ฉันเข้าใจ สเกลโวลลุ่มไม่ใช่สเกลเชิงเส้น ดังนั้นฉันจึงไม่สามารถพูดได้ว่ามันเป็นเพียงหนึ่งในห้าของระดับเสียงสูงสุด แต่ยังดังมาก ฉันต้องทำสิ่งนี้เพราะการ์ดเสียงของฉัน - การ์ดเสียงเสียง Google AIY เล่นไม่ดีกับ Alsamixer ในบางครั้ง

ดำเนินการต่อเพื่อเลือกปุ่มที่คุณเลือก นั่งเอนหลัง ผ่อนคลาย และเพลิดเพลินกับความสบายในการฟังของคุณในตอนนี้

ขั้นตอนที่ 11: ตั้งค่ารหัสของเราให้ทำงานโดยอัตโนมัติบน Boot

ดังนั้นหากทุกอย่างทำงานได้ดี และคุณชอบการเสี่ยงภัยด้วยพรอมต์คำสั่งบนแซนด์บ็อกซ์ ตอนนี้ก็เป็นเวลาที่เหมาะสมในการทำให้การโหลดสคริปต์เป็นแบบอัตโนมัติ ตรวจสอบให้แน่ใจว่าคุณยังคงอยู่ในไดเร็กทอรี kissir และวางโค้ดสคริปต์ใน user bin:

sudo cp pytiful3.py /usr/local/bin/

ทำให้ปฏิบัติการได้:

sudo chmod +x /usr/local/bin/pytiful3.py

เขียนเชลล์สคริปต์เพื่อรันเมื่อเริ่มต้น:

sudo nano pytiful3.sh

และใส่ข้อความต่อไปนี้:

#! /bin/sh ### เริ่มต้น INIT INFO # ให้: pytiful3.py # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 ### สิ้นสุดข้อมูล INIT # ตรวจสอบให้แน่ใจว่าระดับเสียงไม่ดัง TODO # ใช้งานฟังก์ชันเฉพาะเมื่อระบบถาม "$1" ในการเริ่มต้น) echo "กำลังเริ่ม pytiful3.py" /usr/local/bin/pytiful3.py &;; หยุด) echo "กำลังหยุด pytiful3.py" pkill -f /usr/local/bin/pytiful3.py;; *) echo "การใช้งาน: /etc/init.d/pytiful3.sh {start|stop}" exit 1;; esac ทางออก 0

ย้ายไปที่ init.d:

sudo mv pytiful3.sh /etc/init.d/

ทำให้ปฏิบัติการได้:

sudo chmod +x /etc/init.d/pytiful3.sh

ลงทะเบียนสคริปต์เพื่อรันเมื่อเริ่มต้น:

sudo update-rc.d pytiful3.sh defaults

ขั้นตอนที่ 12: ทดสอบอีกครั้ง

ตอนนี้เราได้โหลดสคริปต์ของเราให้ทำงานเมื่อเริ่มต้นใช้งานแล้ว อย่าลืมว่าการเปลี่ยนแปลงใดๆ ที่เราทำจะต้องถูกนำไปยังถังผู้ใช้ และสคริปต์ kissir/pytiful3.py ที่สวยงามของเราตอนนี้เป็นเพียงเด็กกำพร้า แต่ในแง่ดี เรายังมีแซนด์บ็อกซ์ให้เล่นอยู่ ฉันอาจจะเล่นบทต่อไป ทำการเปลี่ยนแปลง และบันทึกเป็นเวอร์ชันใหม่ในอนาคตอันใกล้ ยังคงเป็นโครงการที่ทำงานอยู่

มาเริ่มระบบใหม่กันเถอะ รอให้ pi รีสตาร์ท จากนั้นประมาณหนึ่งนาที ให้กดปุ่มอีกครั้ง

หากระดับเสียงของคุณเบามาก โปรดจำไว้ว่าเรามีระดับเสียง alsamixer ที่ 50% เพื่อให้เราสามารถเพิ่มได้ตามนั้นจากพรอมต์คำสั่ง

สำหรับผู้เริ่มต้น สิ่งหนึ่งที่จำเป็นคือค่าปริมาณสากล แทนที่จะต้องเปลี่ยนระดับเสียง 5 ครั้งที่ต่างกัน

เฮ้ แล้วรายชื่อสถานีวิทยุที่เราสร้างในขั้นตอนที่ 6 ล่ะ? ปรากฎว่า MPG123 มีคำสั่งสุ่มเลือก ง่ายพอๆ กับการสร้างรายการ URL ของสถานี และแทนที่จะเรียก URL สถานีวิทยุเพียงรายการเดียว ให้ใช้

"btn1234_choice = random.choice(btn1234)" ทันทีหลังจากระบุรายชื่อสถานีของเรา โดยที่ btn1234_choice คือรายการของเรา อย่าลืมใช้วงเล็บเหลี่ยม รอบรายการสถานีของเราโดยคั่นด้วยเครื่องหมายจุลภาค การเรียกคำสั่งกระบวนการย่อยจะเล่นตัวเลือกแบบสุ่มของเรา:

subprocess.call(['mpg123', '-q', btn1234_choice, " --preload 1"])

ขั้นตอนที่ 13: ใส่กล่องแล้วเสร็จ

กล่องมันขึ้นและเราเสร็จแล้ว
กล่องมันขึ้นและเราเสร็จแล้ว
กล่องมันขึ้นและเราเสร็จแล้ว
กล่องมันขึ้นและเราเสร็จแล้ว
กล่องมันขึ้นและเราเสร็จแล้ว
กล่องมันขึ้นและเราเสร็จแล้ว

หากคุณมาถึงขั้นตอนนี้ แสดงว่างานเสร็จสมบูรณ์! ขอแสดงความยินดี คุณเพิ่งสร้างเครื่องเล่นวิทยุอินเทอร์เน็ตแบบสแตนด์อโลน

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

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

ฉันพบว่าโครงการนี้ค่อนข้างสนุก ทั้งสองครั้ง แน่นอนว่าไม่ใช่โครงการที่ยาก อาจใช้เวลานานเล็กน้อย แต่คุ้มค่ามาก ฉันหวังว่าคุณจะสนุกกับการฟังของคุณเช่นกัน

แนะนำ: