RFID Jukebox: 3 bước (có hình ảnh)
RFID Jukebox: 3 bước (có hình ảnh)
Anonim
Image
Image
RFID Jukebox
RFID Jukebox

Đây là bài viết của tôi trong cuộc thi "Âm thanh" - nếu bạn quan tâm đến điều này thì hãy bình chọn cho tôi

Bài đăng này sẽ cố gắng tạo một phiên bản "thân thiện với cuộn" của video hướng dẫn có ở đầu bài đăng này

Video đi sâu vào chi tiết về quy trình điều khiển và phần mềm tôi đang sử dụng. Hãy xem nó nếu bạn muốn tìm hiểu thêm.

Quy trình như sau:

Hoạt động bình thường - Đọc thẻ và kích hoạt Spotify để phát bài hát:

1) Thẻ RFID được đọc bởi một đầu đọc thẻ tương thích

2) Đầu đọc thẻ xuất dữ liệu nối tiếp cho mỗi thẻ tới Arduino

3) Arduino "Serial in" dữ liệu mà nó nhận được tới một pi mâm xôi

4) Pi nhận ID thẻ từ Arduino. Pi tra cứu ID thẻ trong bảng để tìm URI Spotify tương ứng

5) Pi gọi API Spotify để phát URI đã chọn

Giai đoạn thiết lập: Liên kết thẻ RFID với URI Spotify

1) đến 3) từ phía trên

4) Pi mong đợi một dòng lệnh đối số với URI Spotify cụ thể mà bạn muốn liên kết với thẻ

5) Pi tạo mục nhập mới (hoặc ghi đè nếu ID thẻ đã được tìm thấy trong bảng) cho cặp ID thẻ, SpotifyURI

Vì vậy, bạn không "lập trình" các thẻ này. Các thẻ này có bộ vi điều khiển tích hợp riêng để điều chỉnh trường đến từ cuộn dây của đầu đọc theo giai điệu của ID cụ thể của nó. Tất cả những gì bạn đang làm là tạo một từ điển gồm các cặp khóa, giá trị để đọc từ đó số pi.

Ví dụ: giả sử tôi có thẻ với ID "2_54_57_53_23_33_3". Ban đầu tôi không biết ID là gì, nhưng khi tôi đọc đầu ra từ Arduino sau khi quét nó, đây là thứ xuất hiện.

Giả sử tôi muốn làm cho thẻ này phát album các bài hát hay nhất của Al Green khi nó được quét. Để thực hiện điều này, tôi sẽ vào Spotify và sao chép URI của album, nhận được "spotify: album: 6W0V8B0fJItvOwC8v114rZ". Bây giờ, như đã thấy trong video, tôi cung cấp URI này cho một chương trình python để liên kết ID thẻ của "2_54_57_53_23_33_3" với URI spotify của "spotify: album: 6W0V8B0fJItvOwC8v114rZ" trong một bảng. "Khóa" là ID thẻ và "giá trị" là URI.

Bây giờ, khi tôi triển khai chương trình chính và số pi của tôi nhận được ID thẻ là "2_54_57_53_23_33_3", nó sẽ tìm kiếm nó trong bảng, thu thập URI được liên kết với nó và cung cấp URI làm đối số cho API Spotify.

Quân nhu

Máy tính chuyên dụng (raspberry pi là tốt nhất cho hướng dẫn này)

Mô-đun đầu đọc thẻ RFID để kết nối với máy tính chuyên dụng

Thẻ RFID tương thích với đầu đọc của bạn

Tùy chọn nhưng được khuyến nghị: Một Arduino dự phòng làm người trung gian giữa đầu đọc và máy tính để tiết kiệm thời gian phát triển

Bước 1: Tổng quan về mã

Tổng quan về mã
Tổng quan về mã
Tổng quan về mã
Tổng quan về mã

Ảnh chụp màn hình đính kèm cho thấy cấu trúc mã cơ bản để giao tiếp với Serial trên Arduino và pi. Lợi thế của việc sử dụng Arduino với tư cách là người trung gian là tôi có thể cắm nó trực tiếp vào cổng USB của Pi làm đầu vào nối tiếp. Điều này giúp tôi đỡ đau đầu vì bây giờ tôi không phải biết cách thiết lập các chân GPIO làm đầu vào nối tiếp.

Sự kết hợp thẻ / đầu đọc cụ thể của tôi mang lại cho tôi kết quả bất thường là tất cả các thẻ đều bắt đầu bằng số 2 và kết thúc bằng số 3. Điều này cho tôi một cách nhanh chóng và dễ hiểu khi quá trình truyền bắt đầu hay kết thúc. Tùy thuộc vào thẻ / đầu đọc bạn có, mã của bạn sẽ phải thay đổi.

Bước 2: Tích hợp Spotify

Image
Image
Tích hợp Spotify
Tích hợp Spotify
Tích hợp Spotify
Tích hợp Spotify
Tích hợp Spotify
Tích hợp Spotify

Bây giờ là phần khó - giao tiếp với Spotify. Tôi chủ yếu dựa vào 3 nguồn ở đây:

1) Dự án Spotifyd, cho phép thiết bị của bạn xuất hiện như một loa phụ cho tài khoản Spotify của bạn.

2) Dự án Diskplayer, trong đó một số người ngẫu nhiên đã viết các kịch bản go của riêng mình để giao tiếp với API Spotify

3) Người đàn ông xinh đẹp này đã vượt qua OAUTH với Spotify. Nếu không có anh ấy, tôi sẽ lãng phí thêm nhiều giờ nữa.

Trước tiên, hãy cài đặt Spotifyd và kiểm tra nó để đảm bảo số pi hiển thị dưới dạng loa cho tài khoản của bạn.

Sau đó, khi nó hoạt động, tôi đã sử dụng Diskplayer để kiểm tra API spotify. Tại đây, nó sẽ yêu cầu bạn cung cấp mã thông báo API Spotify. Nếu bạn đang chạy một thiết lập không có đầu giống như tôi, bạn sẽ không thể mở nó trong trình duyệt trên pi. Vì lý do này, bạn sẽ cần làm theo các bước được liệt kê trong video ở trên ở bước 3). Dự án này sẽ không xảy ra nếu không có người đàn ông trong video đó!

Bước 3: Làm cho nó trông đẹp hơn

Làm cho nó trông đẹp hơn!
Làm cho nó trông đẹp hơn!

Một khi mọi thứ hoạt động, bạn sẽ chỉ còn lại một mớ dây có thể phát bất cứ thứ gì bạn muốn từ Spotify. Để làm sạch nó, hãy đặt mọi thứ vào một hộp đựng và in một số nhãn cho thẻ của bạn! Tôi đã sử dụng nhãn Avery 22822 (đi kèm với một mẫu Photoshop trống để in ở nhà). Tôi đã có thể lấy hình ảnh từ google và đưa chúng vào mẫu photoshop nếu cần. Sau một vài giờ học Photoshop, tôi đã in và dán nhãn lên các thẻ RFID trống của mình.

Tôi đã rất vui với Dự án này và sẽ sử dụng nó trong tương lai để giải trí cho mọi người tại căn hộ của tôi. I / Hãy cho tôi biết nếu bạn tự làm cho mình!

Tôi đang tham gia cuộc thi này trong cuộc thi "Âm thanh" - nếu bạn thích nó, hãy bình chọn cho điều này. Cảm ơn!