Table des matières:

Jukebox RFID : 3 étapes (avec photos)
Jukebox RFID : 3 étapes (avec photos)

Vidéo: Jukebox RFID : 3 étapes (avec photos)

Vidéo: Jukebox RFID : 3 étapes (avec photos)
Vidéo: Juuke - An RFID Music Player 2024, Novembre
Anonim
Image
Image
Juke-box RFID
Juke-box RFID

Ceci est ma participation au concours "Audio" - si cela vous intéresse, merci de me lancer un vote

Cet article tentera de créer une version « conviviale pour le défilement » de la vidéo explicative incluse en haut de cet article

La vidéo explique en détail le flux de contrôle et le logiciel que j'utilise. Jetez-y un œil si vous souhaitez en savoir plus.

Le flux est le suivant:

Fonctionnement normal - Lecture de cartes et déclenchement de Spotify pour lire des chansons:

1) L'étiquette RFID est lue par un lecteur de carte compatible

2) Le lecteur de carte crache des données série pour chaque carte vers un Arduino

3) Arduino "Imprime en série" les données qu'il reçoit sur un Raspberry Pi

4) Pi reçoit l'ID de la carte d'Arduino. Pi recherche l'ID de la carte dans un tableau pour trouver l'URI Spotify correspondant

5) Pi appelle l'API Spotify pour lire l'URI sélectionné

Phase de configuration: associer une étiquette RFID à un URI Spotify

1) à 3) d'en haut

4) Pi attend une ligne de commande arg avec l'URI Spotify spécifique que vous souhaitez associer à la carte

5) Pi crée une nouvelle entrée (ou remplace si l'ID de carte est déjà trouvé dans le tableau) pour la paire cardID, SpotifyURI

Donc, vous ne "programmez" pas ces balises. Ces balises ont leur propre microcontrôleur intégré qui module le champ provenant de la bobine du lecteur en fonction de son identifiant spécifique. Tout ce que vous faites est de créer un dictionnaire de paires clé-valeur pour le pi à lire.

Par exemple, disons que j'ai une carte avec l'ID "2_54_57_53_23_33_3". Au départ, je ne sais pas quel est l'ID, mais lorsque je lis la sortie de l'Arduino après l'avoir numérisé, c'est ce qui sort.

Disons que je veux que cette carte joue l'album des plus grands succès d'Al Green lorsqu'elle est scannée. Pour ce faire, j'irais sur Spotify et copierais l'URI de l'album, obtenant "spotify:album:6W0V8B0fJItvOwC8v114rZ". Maintenant, comme on le voit dans la vidéo, je fournis cet URI à un programme python pour associer l'ID de carte de "2_54_57_53_23_33_3" à l'URI spotify de "spotify:album:6W0V8B0fJItvOwC8v114rZ" dans un tableau. La « clé » est l'ID de la carte et la « valeur » est l'URI.

Maintenant, lorsque je déploie le programme principal et que mon pi reçoit un ID de carte de "2_54_57_53_23_33_3", il le recherchera dans le tableau, rassemblera l'URI qui lui est associé et fournira l'URI comme argument à l'API Spotify.

Fournitures

Ordinateur dédié (raspberry pi est le meilleur pour ce tutoriel)

Module lecteur de carte RFID à connecter à l'ordinateur dédié

Cartes RFID compatibles avec votre lecteur

Facultatif mais recommandé: Un Arduino de rechange comme intermédiaire entre le lecteur et l'ordinateur pour gagner du temps de développement

Étape 1: Présentation du code

Présentation des codes
Présentation des codes
Présentation des codes
Présentation des codes

Les captures d'écran ci-jointes montrent la structure du code de base pour l'interfaçage avec Serial sur l'Arduino et le pi. L'avantage d'utiliser l'Arduino comme intermédiaire est que je peux le brancher directement sur le port USB du Pi en tant qu'entrée série. Cela m'a épargné une tonne de maux de tête puisque maintenant je n'ai plus besoin de savoir comment configurer les broches GPIO en tant qu'entrée série.

Ma combinaison particulière carte/lecteur me donne le résultat inhabituel que toutes les cartes commencent par un 2 et se terminent par un 3. Cela m'a donné un moyen rapide et sale de savoir quand une transmission commence ou se termine. Selon les cartes/lecteur que vous possédez, votre code devra changer.

Étape 2: Intégration Spotify

Image
Image
Intégration Spotify
Intégration Spotify
Intégration Spotify
Intégration Spotify
Intégration Spotify
Intégration Spotify

Maintenant, pour la partie difficile - l'interfaçage avec Spotify. Je me suis beaucoup appuyé sur 3 ressources ici:

1) Le projet Spotifyd, qui permet à votre appareil d'apparaître comme un haut-parleur supplémentaire sur votre compte Spotify.

2) Le projet Diskplayer, dans lequel un type au hasard a écrit ses propres scripts go pour s'interfacer avec l'API Spotify

3) Ce bel homme qui passe sur OAUTH avec Spotify. Sans lui, j'aurais perdu tellement d'heures de plus.

Installez d'abord Spotifyd et testez-le pour vous assurer que le pi apparaît comme un haut-parleur sur votre compte.

Ensuite, une fois que cela fonctionne, j'ai utilisé Diskplayer pour tester l'API Spotify. C'est ici qu'il vous demandera de fournir un token API Spotify. Si vous utilisez une configuration sans tête comme moi, vous ne pourrez pas l'ouvrir dans un navigateur sur le pi. Pour cette raison, vous devrez suivre les étapes énumérées dans la vidéo ci-dessus à l'étape 3). Ce projet n'aurait pas vu le jour sans l'homme de cette vidéo !

Étape 3: le rendre plus joli

Le rendre plus beau !
Le rendre plus beau !

Une fois que tout fonctionne, vous vous retrouverez avec un fouillis de fils qui joue tout ce que vous voulez de Spotify. Pour le nettoyer, rangez le tout dans un étui et imprimez des étiquettes pour vos cartes ! J'ai utilisé des étiquettes Avery 22822 (fournies avec un modèle Photoshop vierge pour l'impression à la maison). J'ai pu extraire des images de google et les insérer dans le modèle photoshop au besoin. Après quelques heures d'apprentissage de Photoshop, j'ai imprimé et collé les étiquettes sur mes étiquettes RFID vierges.

Je me suis beaucoup amusé avec ce projet et je l'utiliserai à l'avenir pour divertir les gens dans mon appartement. I\Laissez-moi savoir si vous finissez par le faire vous-même !

Je participe au concours "Audio" -- si vous l'avez apprécié, n'hésitez pas à voter pour cela. Merci!

Conseillé: