สารบัญ:

RFID Jukebox: 3 ขั้นตอน (พร้อมรูปภาพ)
RFID Jukebox: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: RFID Jukebox: 3 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: RFID Jukebox: 3 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: HOW TO RFID Jukebox with raspberry pi, arduino, and Spotify! 2024, พฤศจิกายน
Anonim
Image
Image
ตู้เพลง RFID
ตู้เพลง RFID

นี่คือผลงานของฉันในการประกวด "Audio" - หากคุณสนใจโปรดลงคะแนนให้ฉัน

โพสต์นี้จะพยายามสร้างเวอร์ชัน "ที่เป็นมิตรกับการเลื่อน" ของวิดีโอแสดงวิธีการซึ่งรวมอยู่ที่ด้านบนของโพสต์นี้

วิดีโอมีรายละเอียดมากเกี่ยวกับขั้นตอนการควบคุมและซอฟต์แวร์ที่ฉันใช้ ลองดูที่ถ้าคุณต้องการเรียนรู้เพิ่มเติม

การไหลเป็นดังนี้:

การทำงานปกติ - การอ่านการ์ดและการเรียกให้ Spotify เล่นเพลง:

1) แท็ก RFID อ่านโดยเครื่องอ่านการ์ดที่รองรับ

2) เครื่องอ่านการ์ดแยกข้อมูลอนุกรมสำหรับการ์ดแต่ละใบไปยัง Arduino

3) Arduino "พิมพ์แบบอนุกรม" ข้อมูลที่ได้รับไปยังราสเบอร์รี่pi

4) Pi รับ ID การ์ดจาก Arduino Pi ค้นหา ID ของการ์ดในตารางเพื่อค้นหา Spotify URI. ที่สอดคล้องกัน

5) Pi เรียก Spotify API เพื่อเล่น URI ที่เลือก

ขั้นตอนการตั้งค่า: เชื่อมโยงแท็ก RFID กับ Spotify URI

1) ถึง 3) จากข้างบน

4) Pi คาดหวังบรรทัดคำสั่ง arg กับ Spotify URI เฉพาะที่คุณต้องการเชื่อมโยงกับการ์ด

5) Pi สร้างรายการใหม่ (หรือแทนที่หากพบ ID การ์ดในตารางแล้ว) สำหรับ cardID คู่ SpotifyURI

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

ตัวอย่างเช่น สมมติว่าฉันมีบัตรที่มี ID "2_54_57_53_23_33_3" ตอนแรกฉันไม่รู้ว่า ID คืออะไร แต่เมื่อฉันอ่านเอาต์พุตจาก Arduino หลังจากสแกน นี่คือสิ่งที่ออกมา

สมมติว่าฉันต้องการให้การ์ดใบนี้เล่นอัลบั้มฮิตที่สุดของ Al Green เมื่อสแกน ในการทำสิ่งนี้ให้สำเร็จ ฉันจะไปที่ Spotify และคัดลอก URI ของอัลบั้ม โดยได้รับ "spotify:album:6W0V8B0fJItvOwC8v114rZ" ตามที่เห็นในวิดีโอนี้ ฉันใส่ URI นี้ให้กับโปรแกรมหลามเพื่อเชื่อมโยง ID การ์ดของ "2_54_57_53_23_33_3" กับ spotify URI ของ "spotify:album:6W0V8B0fJItvOwC8v114rZ" ในตาราง "คีย์" คือรหัสบัตร และ "ค่า" คือ URI

ตอนนี้ เมื่อฉันปรับใช้โปรแกรมหลัก และ pi ของฉันได้รับรหัสการ์ด "2_54_57_53_23_33_3" มันจะค้นหาในตาราง รวบรวม URI ที่เกี่ยวข้อง และจัดหา URI เป็นอาร์กิวเมนต์ให้กับ Spotify API

เสบียง

คอมพิวเตอร์เฉพาะ (ราสเบอร์รี่ pi ดีที่สุดสำหรับบทช่วยสอนนี้)

โมดูลเครื่องอ่านบัตร RFID เพื่อเชื่อมต่อกับคอมพิวเตอร์เฉพาะ

บัตร RFID เข้ากันได้กับเครื่องอ่านของคุณ

ไม่บังคับ แต่แนะนำ: Arduino สำรองเป็นตัวกลางระหว่างเครื่องอ่านและคอมพิวเตอร์เพื่อประหยัดเวลาในการพัฒนา

ขั้นตอนที่ 1: ภาพรวมโค้ด

ภาพรวมรหัส
ภาพรวมรหัส
ภาพรวมรหัส
ภาพรวมรหัส

ภาพหน้าจอที่แนบมาแสดงโครงสร้างโค้ดพื้นฐานสำหรับการเชื่อมต่อกับ Serial บน Arduino และ pi ข้อดีของการใช้ Arduino เป็นตัวกลางคือฉันสามารถเสียบเข้ากับพอร์ต USB ของ Pi เป็นอินพุตแบบอนุกรมได้โดยตรง สิ่งนี้ช่วยให้ฉันปวดหัวได้มากตั้งแต่ตอนนี้ฉันไม่ต้องรู้วิธีตั้งค่าพิน GPIO เป็นอินพุตแบบอนุกรม

การรวมการ์ด/เครื่องอ่านเฉพาะของฉันทำให้ฉันได้ผลลัพธ์ที่ไม่ธรรมดาที่การ์ดทั้งหมดเริ่มต้นด้วย 2 และลงท้ายด้วย 3 วิธีนี้ทำให้ฉันรู้ได้อย่างรวดเร็วและสกปรกเมื่อการส่งสัญญาณเริ่มต้นหรือสิ้นสุด รหัสของคุณจะต้องเปลี่ยนทั้งนี้ขึ้นอยู่กับการ์ด/เครื่องอ่านที่คุณมี

ขั้นตอนที่ 2: การรวม Spotify

Image
Image
การรวม Spotify
การรวม Spotify
การรวม Spotify
การรวม Spotify
การรวม Spotify
การรวม Spotify

ตอนนี้สำหรับส่วนที่ยาก - เชื่อมต่อกับ Spotify ฉันอาศัยทรัพยากร 3 อย่างที่นี่:

1) โปรเจ็กต์ Spotifyd ซึ่งช่วยให้อุปกรณ์ของคุณปรากฏเป็นลำโพงเสริมในบัญชี Spotify ของคุณ

2) โครงการ Diskplayer ซึ่งมีคนสุ่มเขียนสคริปต์ go ของตัวเองเพื่อเชื่อมต่อกับ Spotify API

3) ผู้ชายสวยคนนี้ที่ก้าวข้าม OAUTH ด้วย Spotify ถ้าไม่มีเขา ฉันคงเสียเวลาไปอีกหลายชั่วโมง

ขั้นแรกให้ติดตั้ง Spotifyd และทดสอบเพื่อให้แน่ใจว่า pi แสดงเป็นลำโพงในบัญชีของคุณ

เมื่อใช้งานได้ ฉันใช้ Diskplayer เพื่อทดสอบ spotify API ที่นี่จะขอให้คุณจัดหาโทเค็น Spotify API หากคุณใช้การตั้งค่าแบบ headless เช่นฉัน คุณจะไม่สามารถเปิดในเบราว์เซอร์บน pi ได้ ด้วยเหตุนี้ คุณจะต้องทำตามขั้นตอนในวิดีโอด้านบนในขั้นตอนที่ 3) โครงการนี้จะเกิดขึ้นไม่ได้หากไม่มีผู้ชายในวิดีโอนั้น!

ขั้นตอนที่ 3: ทำให้ดูดีขึ้น

ทำให้ดูดีขึ้น!
ทำให้ดูดีขึ้น!

เมื่อทุกอย่างทำงาน คุณจะมีสายไฟที่เลอะเทอะที่จะเล่นอะไรก็ได้ที่คุณต้องการจาก Spotify ในการทำความสะอาด ใส่ทุกอย่างลงในกล่อง และพิมพ์ฉลากสำหรับการ์ดของคุณ! ฉันใช้ป้ายกำกับ Avery 22822 (ซึ่งมาพร้อมกับเทมเพลต Photoshop เปล่าสำหรับพิมพ์ที่บ้าน) ฉันสามารถดึงรูปภาพจาก google และตบมันในเทมเพลต photoshop ได้ตามต้องการ หลังจากเรียนรู้ Photoshop ไม่กี่ชั่วโมง ฉันพิมพ์และติดฉลากบนแท็ก RFID เปล่าของฉัน

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

ฉันกำลังเข้าร่วมการแข่งขัน "เสียง" หากคุณชอบ โปรดลงคะแนนให้งานนี้ ขอบคุณ!

แนะนำ: