Spisu treści:

RFID Jukebox: 3 kroki (ze zdjęciami)
RFID Jukebox: 3 kroki (ze zdjęciami)

Wideo: RFID Jukebox: 3 kroki (ze zdjęciami)

Wideo: RFID Jukebox: 3 kroki (ze zdjęciami)
Wideo: RFID Jukebox with custom album cards 2024, Listopad
Anonim
Image
Image
Szafa grająca RFID
Szafa grająca RFID

To jest mój wpis w konkursie "Audio" - jeśli jesteś tym zainteresowany to proszę o głosowanie

Ten post będzie próbował stworzyć „przyjazną dla przewijania” wersję filmu instruktażowego zawartego na górze tego posta

Film szczegółowo opisuje przepływ sterowania i oprogramowanie, którego używam. Spójrz na to, jeśli chcesz dowiedzieć się więcej.

Przepływ jest następujący:

Normalne działanie - odczytywanie kart i uruchamianie Spotify w celu odtwarzania utworów:

1) Znacznik RFID jest odczytywany przez kompatybilny czytnik kart

2) Czytnik kart wysyła dane szeregowe dla każdej karty do Arduino

3) Arduino „drukuje seryjne” dane, które otrzymuje na Raspberry Pi

4) Pi otrzymuje identyfikator karty z Arduino. Pi wyszukuje identyfikator karty w tabeli, aby znaleźć odpowiedni URI Spotify

5) Pi wywołuje Spotify API, aby odtworzyć wybrany identyfikator URI

Faza konfiguracji: kojarzenie tagu RFID z identyfikatorem Spotify URI

1) do 3) z góry

4) Pi oczekuje argumentu wiersza poleceń z konkretnym URI Spotify, który chcesz powiązać z kartą

5) Pi tworzy nowy wpis (lub zastępuje, jeśli identyfikator karty jest już znaleziony w tabeli) dla identyfikatora karty, pary SpotifyURI

Więc nie „programujesz” tych tagów. Tagi te mają swój własny wbudowany mikrokontroler, który moduluje pole pochodzące z cewki czytnika zgodnie z jego specyficznym ID. Wszystko, co robisz, to tworzenie słownika par klucz, wartości, z których pi ma czytać.

Załóżmy na przykład, że mam kartę o identyfikatorze „2_54_57_53_23_33_3”. Początkowo nie wiem, co to jest ID, ale kiedy czytam dane wyjściowe z Arduino po zeskanowaniu, to właśnie to wychodzi.

Powiedzmy, że chcę, aby ta karta odtwarzała album z największymi przebojami Ala Greena po zeskanowaniu. Aby to osiągnąć, udałbym się do Spotify i skopiowałem URI albumu, otrzymując „spotify:album:6W0V8B0fJItvOwC8v114rZ”. Teraz, jak widać na filmie, dostarczam ten identyfikator URI do programu Pythona, aby powiązać identyfikator karty „2_54_57_53_23_33_3” z identyfikatorem URI spotify „spotify:album:6W0V8B0fJItvOwC8v114rZ” w tabeli. „Klucz” to identyfikator karty, a „wartość” to identyfikator URI.

Teraz, gdy wdrożę główny program, a moje pi otrzyma identyfikator karty „2_54_57_53_23_33_3”, wyszuka go w tabeli, zbierze powiązany z nim identyfikator URI i przekaże identyfikator URI jako argument do API Spotify.

Kieszonkowe dzieci

Dedykowany komputer (do tego samouczka najlepiej nadaje się raspberry pi)

Moduł czytnika kart RFID do podłączenia do dedykowanego komputera

Karty RFID kompatybilne z twoim czytnikiem

Opcjonalne, ale zalecane: Zapasowe Arduino jako pośrednik między czytnikiem a komputerem, aby skrócić czas programowania

Krok 1: Przegląd kodu

Przegląd kodu
Przegląd kodu
Przegląd kodu
Przegląd kodu

Załączone zrzuty ekranu pokazują podstawową strukturę kodu do połączenia z Serial na Arduino i pi. Zaletą używania Arduino jako pośrednika jest to, że mogę podłączyć go bezpośrednio do portu USB Pi jako wejście szeregowe. Zaoszczędziło mi to mnóstwo bólu głowy, ponieważ teraz nie muszę wiedzieć, jak skonfigurować piny GPIO jako wejście szeregowe.

Moja konkretna kombinacja karta/czytnik daje mi niezwykły wynik, że wszystkie karty zaczynają się od 2 i kończą na 3. Dało mi to szybki i brudny sposób na rozpoznanie, kiedy transmisja się zaczyna lub kończy. W zależności od posiadanych kart/czytników, Twój kod będzie musiał ulec zmianie.

Krok 2: Integracja Spotify

Image
Image
Integracja Spotify
Integracja Spotify
Integracja Spotify
Integracja Spotify
Integracja Spotify
Integracja Spotify

Teraz najtrudniejsza część – połączenie ze Spotify. W dużym stopniu polegałem na 3 zasobach:

1) Projekt Spotifyd, który pozwala Twojemu urządzeniu pojawiać się jako dodatkowy głośnik na Twoim koncie Spotify.

2) Projekt Diskplayer, w którym jakiś przypadkowy facet napisał własne skrypty go do połączenia z API Spotify

3) Ten piękny mężczyzna, który pokonuje OAUTH ze Spotify. Bez niego zmarnowałbym tyle godzin.

Najpierw zainstaluj Spotifyd i przetestuj go, aby upewnić się, że pi pojawia się jako głośnik na Twoim koncie.

Następnie, gdy to zadziała, użyłem Diskplayer do przetestowania interfejsu API spotify. To tutaj poprosi Cię o dostarczenie tokena Spotify API. Jeśli używasz konfiguracji bezgłowej, takiej jak ja, nie będziesz w stanie otworzyć jej w przeglądarce na pi. Z tego powodu musisz wykonać czynności wymienione w filmie powyżej w kroku 3). Ten projekt nie powstałby bez mężczyzny z tego filmu!

Krok 3: Sprawienie, by wyglądało ładniej

Sprawiając, że wygląda ładniej!
Sprawiając, że wygląda ładniej!

Gdy wszystko zadziała, zostaniesz z bałaganem przewodów, które odtwarzają wszystko, co chcesz ze Spotify. Aby to posprzątać, włóż wszystko do etui i wydrukuj kilka etykiet na swoje karty! Użyłem etykiet Avery 22822 (które są dostarczane z pustym szablonem Photoshopa do drukowania w domu). Udało mi się pobrać obrazy z google i w razie potrzeby umieścić je w szablonie Photoshopa. Po kilku godzinach nauki Photoshopa wydrukowałem i nakleiłem etykiety na moje puste tagi RFID.

Świetnie się bawiłem z tym projektem i wykorzystam go w przyszłości, aby zabawiać ludzi w moim mieszkaniu. Daj mi znać, jeśli sam to zrobisz!

Biorę to udział w konkursie "Audio" - jeśli Ci się podobało, możesz na to zagłosować. Dziękuję!

Zalecana: