Table des matières:
- Étape 1: Fournitures requises 1: Raspberry Pi
- Étape 2: Fournitures requises 2: Lecteur NFC
- Étape 3: Fournitures requises 3: Étiquettes NFC
- Étape 4: Téléchargez le système d'exploitation Raspberry Pi sur une carte SD
- Étape 5: Activez SSH sur l'image de votre système d'exploitation Raspberry Pi
- Étape 6: Facultatif: Configurez le Wifi sur votre Raspberry Pi
- Étape 7: allumez votre Raspberry Pi
- Étape 8: Trouvez l'adresse IP de votre Raspberry Pi
- Étape 9: connectez-vous à votre ligne de commande Raspberry Pi
- Étape 10: Configurer l'interface graphique du Raspberry Pi OS
- Étape 11: Connectez-vous et configurez votre interface graphique Raspberry Pi
- Étape 12: Installez Node.js et NPM
- Étape 13: Installez l'API HTTP SONOS
- Étape 14: Exécutez l'API HTTP Sonos en permanence
- Étape 15: Jouez à Spotify
- Étape 16: Trouvez les URI Spotify
- Étape 17: Une note sur les URI Spotify
- Étape 18: Configurer Raspberry Pi pour envoyer des requêtes
- Étape 19: Générez des balises NFCC avec les données Spotify
- Étape 20: Configurer le lecteur NFC sur le Raspberry Pi
- Étape 21: Installez les scripts Python Vinylemulator
- Étape 22: Personnaliser Vinylemulator
- Étape 23: Testez l'émulateur de vinyle
- Étape 24: faire fonctionner Vinylemulator en permanence et au démarrage
- Étape 25: Félicitez-vous
- Étape 26: Rendez-le beau - Cachez votre lecteur
Vidéo: Émulateur de vinyle Sonos Spotify : 26 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Veuillez noter qu'il ne s'agit pas de la dernière série d'instructions pour ce projet:
Veuillez visiter https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d pour la dernière série d'instructions et l'assistance
C'est super d'écouter de la musique sur vinyle. C'est physique et tactile. Vous écoutez un album entier plutôt que des morceaux aléatoires. Vous remarquez quand c'est fini et choisissez consciemment autre chose. Vous pouvez créer une collection et la parcourir plutôt que d'avoir à chercher exactement ce que vous voulez.
C'est aussi cher et encombrant, surtout si l'on considère que tout l'argent que vous dépensez en vinyle est très probablement un duplicata de musique à laquelle vous avez déjà accès via un service de streaming auquel vous êtes abonné.
Ce projet tente de reproduire les aspects tactiles et de création de collection du vinyle tout en s'appuyant sur Spotify pour diffuser réellement la musique. Placer un objet physique sur un lecteur NFC connecté à un Raspberry Pi (les deux pouvant être cachés) lancera la lecture de l'album associé à cette balise.
Je vais vous guider à travers toutes les étapes - de la configuration du Raspberry Pi à l'encodage des balises NFC. C'est mon tout premier projet Raspberry Pi et mon premier code Python, donc j'ai appris les deux tout en développant cela. En tant que telles, ces instructions supposent littéralement aucune connaissance préalable et vous expliquent à chaque étape.
Le coût total des composants essentiels pour construire ceci est d'environ 50-60 £.
J'aimerais voir ce que vous construisez!
Étape 1: Fournitures requises 1: Raspberry Pi
Le back-end qui s'interface avec votre réseau, Sonos et Spotify sera exécuté par un Raspberry Pi. Il y a en fait très peu de choses dont vous avez besoin pour faire avancer les choses.
Indispensable:
Raspberry Pi: j'ai utilisé un Raspberry Pi 3 modèle B+ mais il fonctionnera également avec un Raspberry Pi 3 modèle A+ (23 £)
Alimentation USB: j'en avais une qui traînait - il y en a une officielle disponible si vous ne l'avez pas (9 £)
Carte Micro SD: j'en ai une de 32 Go, ce qui est largement suffisant pour cette application, sur Amazon (6 £)
Certains équipements Sonos fonctionnant sur votre réseau (je suppose que vous l'avez déjà si vous êtes ici…)
Un compte Spotify Premium
Conseillé:
Un cas pour le Pi: il y a beaucoup d'options, à partir de 5 £
Une bouteille de California Zinfandel décent: je recommande Ridge, mais d'autres sont disponibles
Étape 2: Fournitures requises 2: Lecteur NFC
Ces instructions sont conçues pour un lecteur NFC ACR122U qui se connecte via USB.
ACR122U
J'ai acheté celui-ci sur Amazon pour 38 £ (principalement parce qu'il avait une livraison de premier ordre), mais il existe des options moins chères pour acheter ce même lecteur.
De manière confuse, l'ACR122U semble être vendu sous un tas de noms de marque différents (le mien était sous le nom de marque loin d'être rassurant "Yosoo") mais d'après ce que je peux dire, ils sont tous les mêmes et construits par American Card Systems.
Le moins cher que j'ai trouvé l'ACR122U annoncé est de 21 £, frais de port compris, mais cela vient directement de Chine, vous devrez donc peut-être attendre un peu pour cela.
Autres options
Ce projet repose sur une bibliothèque python appelée nfcpy qui maintient une liste des appareils pris en charge ici:
En théorie, ce projet devrait fonctionner avec n'importe lequel de ceux de cette liste avec peu d'intégration.
Une option tentante est l'Adafruit PN532 qui est une carte qui doit se connecter directement à votre Raspberry Pi à l'aide de câbles de démarrage. Je l'ai essayé et je l'ai trouvé un vrai faff. Il faut par exemple souder.
Un avantage de celui-ci est, en apparence, qu'il est plus petit, mais en réalité, la carte a à peu près la même taille que les entrailles de l'ACR122U. Si vous êtes vraiment pressé par l'espace pour votre application, vous pouvez retirer le plastique de l'ACR122U et simplement utiliser la carte.
Étape 3: Fournitures requises 3: Étiquettes NFC
Pour chaque album que vous souhaitez créer, vous aurez besoin d'un tag NFC conforme à la norme NTAG213.
Il existe de nombreux endroits pour les acheter.
J'ai acheté mon premier lot sur Amazon, où j'ai eu un pack de 10 pour 9 £ (livraison Prime incluse)
Le mieux fourni que j'ai trouvé ici au Royaume-Uni est Seritag - ils ont une très large sélection de styles différents, d'excellents conseils sur leur site Web, vous savez exactement ce que vous obtenez (pas toujours vrai sur Amazon). Ils n'ont pas de taille minimale de commande et une tonne d'options. Les balises commencent à 27p par balise
Étape 4: Téléchargez le système d'exploitation Raspberry Pi sur une carte SD
Sur votre PC ou Mac, téléchargez et exécutez l'application d'imagerie Raspberry PI.
Insérez la carte SD sur laquelle vous souhaitez installer le système d'exploitation Raspberry Pi.
Cliquez sur CHOOSE OS et sélectionnez le Rasbian par défaut.
Cliquez sur CHOISIR LA CARTE SD et sélectionnez la carte SD que vous avez branchée.
Cliquez sur ÉCRIRE. Cela peut prendre un peu de temps.
Une fois que c'est fait, il vous dira de retirer la carte SD, ce que vous devriez faire. Mais rebranchez-le ensuite car il y a quelques points d'entretien ménager que vous devez d'abord faire.
Étape 5: Activez SSH sur l'image de votre système d'exploitation Raspberry Pi
Une fois que le système d'exploitation a été écrit sur la carte SD, vous devez effectuer quelques tâches supplémentaires.
Nous voulons accéder au Raspberry Pi sans brancher un clavier ou un moniteur (alias "sans tête"), ce que nous pouvons faire sur notre réseau local à l'aide de notre PC ou Mac via un protocole appelé SSH. Cependant, pour des raisons de sécurité, SSH est désactivé par défaut. Nous devons l'activer.
Nous pouvons le faire en créant un fichier vide appelé:
ssh
dans la carte SD que nous venons de créer. Il est important que cela n'ait aucune sorte d'extension (par exemple.txt). Le fichier lui-même n'a pas besoin de contenir de contenu - juste son existence activera SSH au démarrage du Pi.
Étape 6: Facultatif: Configurez le Wifi sur votre Raspberry Pi
Vous pouvez ignorer cette étape si vous envisagez de câbler votre Raspberry Pi à votre routeur par Ethernet. (Bien que vous souhaitiez peut-être réfléchir sérieusement à cette décision - le faire fonctionner via le wifi rend la vie beaucoup plus facile en termes de positionnement)
Créez un fichier texte brut appelé wpa_supplicant.conf dans le répertoire racine de la carte SD.
Insérez le texte ci-dessous dans le fichier:
pays=fr
update_config=1 ctrl_interface=/var/run/wpa_supplicant network={ scan_ssid=1 ssid="MyNetworkSSID" psk="MyPassword" }
Modifiez le pays selon les besoins (GB est le Royaume-Uni, US est les États-Unis, DE est l'Allemagne, etc.)
Modifiez les informations d'identification Wi-Fi pour qu'il s'agisse des détails réels de votre routeur Wi-Fi.
Enregistrez le fichier.
Éjectez la carte SD en toute sécurité.
Étape 7: allumez votre Raspberry Pi
Insérez la carte SD que vous venez de créer dans votre Raspberry Pi.
Branchez votre Raspberry Pi à l'alimentation via le câble USB. Attendez une minute pour qu'il démarre.
Étape 8: Trouvez l'adresse IP de votre Raspberry Pi
Vous devez maintenant trouver l'adresse IP du Raspberry Pi pour pouvoir vous y connecter. Vous pouvez le faire de deux manières:
- via la page de configuration de votre routeur - si vous avez un routeur moderne comme eero, c'est super facile;
- ou via une application pour smartphone disponible pour iOS et Android appelée "fing" - téléchargez-la, connectez-vous à votre routeur et recherchez des appareils - l'un d'eux devrait s'appeler "Raspberry" - ce sera l'adresse IP dont vous avez besoin.
Étape 9: connectez-vous à votre ligne de commande Raspberry Pi
Ouvrez Terminal sur votre mac (ou si vous utilisez Windows, téléchargez et utilisez Putty).
Saisissez la commande suivante:
ssh pi@[l'adresse IP de votre Pi]
Acceptez tous les avertissements de sécurité que vous recevez. Vous serez invité à saisir le mot de passe de l'utilisateur pi par défaut qui est
framboise
Étape 10: Configurer l'interface graphique du Raspberry Pi OS
Vous êtes maintenant connecté à votre Pi via la ligne de commande, ce qui est génial mais vous souhaitez également le configurer pour pouvoir accéder à l'interface utilisateur graphique à laquelle nous accéderons via VNC (Virtual Network Computing). Comme on pouvait s'y attendre, nous devons également activer cela.
Tout d'abord, vérifiez que votre logiciel Pi est à jour en entrant les deux commandes suivantes (chacune suivie d'entrée) dans la ligne de commande:
mise à jour sudo apt
sudo apt installer realvnc-vnc-server realvnc-vnc-viewer
Ensuite, ouvrez le menu des paramètres de Raspberry Pi en entrant:
sudo raspi-config
Accédez à Options d'interfaçage > VNC > Oui.
Quittez l'application de configuration en appuyant sur la touche d'échappement et redémarrez le Pi à partir de la ligne de commande en tapant:
redémarrage sudo
Étape 11: Connectez-vous et configurez votre interface graphique Raspberry Pi
Téléchargez et ouvrez VNC Viewer.
Tapez l'adresse IP de votre Raspberry Pi et appuyez sur Connect. Il vous demandera le nom d'utilisateur et le mot de passe qui sont:
Nom d'utilisateur = pi
Mot de passe = framboise
Cela devrait vous démarrer jusqu'à l'interface graphique.
Il vous demandera de confirmer votre géographie et la disposition du clavier.
Il vous demandera alors de changer votre mot de passe (bonne idée).
Il vous demandera de définir vos détails wifi, mais vous pouvez ignorer cela car ils fonctionnent déjà. (Bien que si vous utilisez Ethernet et que vous avez des doutes, c'est maintenant votre chance… mais notez que votre adresse IP peut changer)
Il recherchera, téléchargera et installera ensuite les mises à jour (cela peut prendre un certain temps).
Une fois que vous avez terminé l'assistant de configuration, je vous recommande de modifier la résolution de l'écran, car la valeur par défaut est assez petite. Vous pouvez le faire en cliquant sur Raspberry en haut à gauche > Préférences > Configuration Raspberry Pi > Affichage > Définir la résolution
Vous devrez à nouveau redémarrer le Pi pour que cela prenne effet.
Étape 12: Installez Node.js et NPM
Ensuite, vous voulez charger la ligne de commande Raspberry Pi pour installer les dépendances dont nous avons besoin.
Vous pouvez soit le faire en vous connectant via VNC et en cliquant sur le bouton près du haut qui ressemble à une ligne de commande; ou vous pouvez vous connecter directement depuis votre Mac/PC en utilisant Terminal et Putty comme nous l'avons fait précédemment. Si vous êtes moins habitué à travailler avec le Raspberry Pi, il est plus facile de faire le premier.
(Astuce: vous pouvez copier du texte depuis votre Mac/PC et le coller sur le Raspberry Pi via VNC en appuyant sur CONTROL-V, mais si vous essayez de coller dans le terminal, vous devez appuyer sur CONTROL-SHIFT-V)
Le premier travail consiste à vérifier à nouveau que votre logiciel est à jour en tapant les deux commandes suivantes. Ils peuvent prendre un certain temps à télécharger et à installer.
sudo apt-get mise à jour
sudo apt-get mise à niveau
Ensuite, vous souhaitez télécharger et installer node.js et NPM (ne vous inquiétez pas trop de ce qu'ils sont, ils sont utiles et nécessaires pour nos prochaines tâches) en tapant ce qui suit:
sudo apt-get install nodejs npm
Il vous demandera plusieurs fois si vous êtes prêt à occuper de l'espace disque avec ceux-ci - vous devez donc appuyer sur Y
Étape 13: Installez l'API HTTP SONOS
La base du back-end de notre projet est le package node-sonos-http-api créé par jishi. Vous pouvez tout lire ici:
Nous allons le télécharger depuis github avec la commande suivante entrée dans la ligne de commande:
git clone
et nous allons l'installer avec les commandes suivantes
cd node-sonos-http-api
npm install --production
Nous pouvons ensuite l'exécuter avec la commande suivante:
début npm
Une fois cela fait, nous devons tester que cela fonctionne.
Tout d'abord, ouvrez le navigateur Internet sur notre Raspberry Pi et accédez à https://localhost:5005/. Une belle interface devrait s'ouvrir avec le logo Sonos et de la documentation sur le fonctionnement de l'API.
Ensuite, vérifions que cela fonctionne à partir du réseau plus large en utilisant un navigateur sur un autre PC ou Mac sur le même réseau et en naviguant vers https://[theIPaddressofyourPi]:5005/ et en voyant si nous obtenons le même résultat. Nous devrions.
Maintenant, nous allons réellement faire en sorte que le système fasse quelque chose. Utilisez un navigateur et accédez à:
192.168.4.102:5005/Salle à manger/playpause
Vous devez remplacer l'adresse IP ci-dessus par l'adresse de votre Raspberry Pi et "Salle à manger" par l'un des noms de vos zones Sonos. Il doit jouer ou mettre en pause (selon que la musique est déjà en cours de lecture ou non) la musique dans cette pièce. Évidemment, quelque chose doit être dans la file d'attente de Sonos pour que cela fonctionne.
À l'avenir, je vais utiliser l'adresse IP et la salle à manger ci-dessus comme exemples tout au long de ce didacticiel. Évidemment, vous devez les remplacer par votre adresse IP et votre nom de zone à chaque fois.
Étape 14: Exécutez l'API HTTP Sonos en permanence
C'est bien que nous ayons l'API HTTP Sonos en cours d'exécution, mais que se passe-t-il s'il se bloque ? Ou vous perdez de la puissance ou devez redémarrer votre Raspberry Pi ?
Vous pouvez voir l'effet en fermant la fenêtre du terminal et en réessayant ce que nous venons d'essayer. Cela ne fonctionnera pas car l'API HTTP s'est arrêtée avec la fenêtre du terminal.
En fait, nous voulons que cela s'exécute en permanence et le faire dès le démarrage à chaque fois. Nous le faisons avec un truc cool appelé PM2.
Dans une nouvelle fenêtre de terminal, installez-le et exécutez-le comme suit:
sudo npm install -g pm2
état pm2
Faisons-lui maintenant exécuter notre API HTTP Sonos:
cd node-sonos-http-api
pm2 démarrer npm -- démarrer pm2 démarrage systemd
Cette dernière commande génère quelque chose qui ressemble un peu à:
sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
Copiez ce que votre Pi génère (pas le texte exact ci-dessus - le vôtre peut être différent) et entrez-le dans la ligne de commande. Cela indique au système d'exécuter PM2 au démarrage à chaque fois.
Enfin, entrez:
pm2 enregistrer
ce qui économise tout.
Testez maintenant si cela a fonctionné en redémarrant votre Raspberry Pi avec la commande
redémarrage sudo
Espérons qu'une fois le Pi redémarré, il démarrera également PM2 et à son tour l'API HTTP Sonos. Vous pouvez le vérifier en naviguant à l'aide d'un navigateur sur le même réseau jusqu'à l'adresse que nous utilisions auparavant et en voyant le logo Sonos et les instructions:
192.168.4.102:5005/
est ce qui est pour moi, mais le vôtre dépendra de l'adresse IP.
Étape 15: Jouez à Spotify
Vérifions que le service peut accéder à Spotify.
Ouvrez un navigateur et accédez à l'adresse suivante (en remplaçant évidemment par votre adresse IP et le nom de votre chambre):
192.168.4.102:5005/Salle à manger/spotify/now/spotify/spotify:album:2dfTV7CktUEBkZCHiB7VQB
Vous devriez entendre du John Grant. Prendre plaisir.
Étape 16: Trouvez les URI Spotify
Bizarre, je sais, mais tout le monde n'aime pas John Grant. Peut-être que vous voulez écouter autre chose?
Vous pouvez obtenir les liens Spotify à partir des applications de bureau, Web ou mobiles, mais le bureau est de loin le plus simple car il fournit l'URI exactement au format que vous souhaitez, alors commencez par cela.
Dans l'application de bureau Spotify, accédez à l'album que vous souhaitez écouter (peut-être Lemonade de Beyonce ?)
Cliquez sur les trois petits points à côté du bouton cœur.
Descendez le menu pour Partager et choisissez Copier l'URI Spotify
Cela copiera quelque chose comme
spotify:album:7dK54iZuOxXFarGhXwEXfF
dans votre presse-papiers, qui est l'URI Spotify pour l'album Lemondade de Beyonce.
Relancez votre navigateur et accédez à l'adresse suivante (en remplaçant évidemment l'adresse IP et la salle et en collant l'URI que vous venez de copier):
192.168.4.102:5005/Salle à manger/spotify/now/[Spotify URI que vous voulez jouer]
Vous devriez entendre votre choix jouer.
Si vous préférez utiliser l'application Web, elle vous donnera un lien Web (quelque chose comme ci-dessous):
open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF
vous devez le convertir au format spotify:album:code ci-dessus pour que cela fonctionne.
Étape 17: Une note sur les URI Spotify
Les URI Spotify et leur interface avec le node-sonos-http-api sont pour la plupart intuitifs.
Vous pouvez créer un lien direct vers des albums, des pistes et des listes de lecture.
L'URI d'un album ressemble à:
spotify:album:6agCM9GJcebduMddgFmgsO
Un URI de piste ressemble à:
spotify:piste:4fNDKbaeEjk2P4GrRE1UbW
Les listes de lecture fonctionnent un peu différemment. Lorsque vous copiez l'URI de Spotify, cela ressemblera à quelque chose comme:
spotify:playlist:5huIma0YU4iusLcT2reVEU
Cependant, pour que cela fonctionne réellement sur l'API, vous devez ajouter spotify:user: au début de ce qui précède. Cela s'applique même aux listes de lecture publiques et, oui, cela signifie que vous dites Spotify deux fois.
Pour être très clair, user n'a pas besoin d'être le nom d'un utilisateur particulier, juste le texte user. Ainsi, l'URI correct pour que la liste de lecture ci-dessus fonctionne serait:
spotify:utilisateur:spotify:playlist:5huIma0YU4iusLcT2reVEU
Étape 18: Configurer Raspberry Pi pour envoyer des requêtes
Plutôt que de saisir manuellement des requêtes HTTP dans un navigateur Web, nous souhaitons l'automatiser afin que le Raspberry Pi le fasse lui-même lorsqu'il est présenté avec un certain stimulus (le lecteur NFC étant déclenché).
Nous utiliserons une bibliothèque appelée requêtes pour permettre à notre Raspberry Pi de le faire. Vérifions qu'il est installé.
Ouvrez le terminal sur votre Pi et tapez ce qui suit:
demandes d'installation sudo pip
Il est probable qu'il revienne et dise qu'il est déjà installé, auquel cas très bien. Sinon, il l'installera.
Étape 19: Générez des balises NFCC avec les données Spotify
Nous voulons maintenant écrire un URI d'album Spotify sur une balise NFC. Chacune de ces balises est ce que vous utiliserez pour dire au Raspberry Pi de lire un album particulier.
Vous pouvez écrire sur une balise NFC à l'aide d'un téléphone Android, mais je trouve qu'il est plus facile de le faire via un mac ou un PC, car il est alors plus facile d'obtenir les URI Spotify à partir de l'application de bureau Spotify.
Branchez votre lecteur USB NFC sur votre PC ou Mac. J'utilise l'ACR122U d'American Card Systems.
Téléchargez les outils NFC sur votre PC ou Mac. Installez-le et ouvrez-le.
Il peut parfois être un peu lent à se connecter au lecteur et peut dire qu'il ne peut pas du tout trouver le lecteur. Accédez à l'onglet Autre dans les outils NFC et cliquez de temps en temps sur le bouton Lecteur NFC connecté. Vous devrez peut-être débrancher et rebrancher le lecteur plusieurs fois avant qu'il ne le trouve.
Finalement, il vous donnera la possibilité de choisir votre lecteur dans une liste et de dire qu'il est connecté. Allez dans l'onglet Informations qui n'affichera rien d'autre que "En attente d'un tag NFC".
Prenez un tag NFC vierge. Mettez-le sur le lecteur et laissez-le là. Les outils NFC afficheront les informations sur la balise.
Accédez à l'onglet Écrire et cliquez sur Ajouter un enregistrement > Texte. (Attention à ne pas choisir d'URL ou d'URI - je sais que c'est tentant car vous copiez un URI, mais vous voulez du texte)
Prenez un URI de Spotify en utilisant la méthode que nous avons utilisée précédemment. Si vous voulez un exemple simple, voici notre album John Grant d'avant.
spotify:album:2dfTV7CktUEBkZCHiB7VQB
Cliquez sur OK, puis sur Écrire (n'oubliez pas cette dernière étape - elle ne l'écrit pas tant que vous n'avez pas cliqué dessus). Il vous dira qu'il a écrit la balise avec succès.
Retirez l'étiquette du lecteur
Étape 20: Configurer le lecteur NFC sur le Raspberry Pi
Branchez votre lecteur NFC sur l'un des ports USB de votre Raspberry Pi.
Nous utiliserons la bibliothèque Python nfcpy pour communiquer avec le lecteur NFC. Installez-le en tapant ce qui suit sur votre ligne de commande Pi:
pip install -U nfcpy
Nous pouvons alors vérifier si cette bibliothèque est capable de voir notre lecteur NFC en tapant ce qui suit:
python -m nfc
Si cela a fonctionné, vous verrez ce qui suit:
Il s'agit de la version 1.0.3 de nfcpy exécutée en Python 2.7.16 sur Linux-4.19.97-v7+-armv7l-with-debian-10.3
Je recherche maintenant sur votre système des appareils sans contact ** trouvé ACS ACR122U PN532v1.6 à usb:001:011 Je n'essaie pas de périphériques série parce que vous ne me l'avez pas dit -- ajoutez l'option '--search-tty' me faire regarder - mais attention, cela peut casser d'autres développeurs en série
Cependant, il y a de fortes chances que vous receviez un message d'erreur indiquant que le lecteur a été trouvé mais que votre utilisateur (pi) n'a pas la permission d'y accéder. Si vous obtenez ce message d'erreur, il vous expliquera également comment résoudre le problème, en tapant deux commandes qui ressemblent un peu à ce qui suit:
sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"04e6\", ATTRS{idProduct}==\"5591\", GROUP= \"plugdev\" >> /etc/udev/rules.d/nfcdev.rules'
contrôle sudo udevadm -R
Copiez et exécutez les deux commandes qu'il vous donne (pas exactement ce qui est ci-dessus, car les vôtres peuvent être différentes), puis débranchez et rebranchez votre lecteur NFC du port USB.
Essayez à nouveau la commande check:
python -m nfc
Cette fois, il devrait dire qu'il l'a trouvé sans messages d'erreur.
Étape 21: Installez les scripts Python Vinylemulator
Nous avons maintenant tous les blocs de construction en place:
- Notre Raspberry Pi est capable d'écouter l'entrée NFC
- Notre Raspberry Pi est capable de dire à Sonos de lire les listes de lecture Spotify lorsqu'il reçoit un URI Spotify
- Nous avons une balise NFC avec un URI Spotify stocké dessus
Maintenant, nous devons rassembler tous ces éléments constitutifs en quelque chose d'utile. Cela se fait via un court script python que j'ai écrit (avec beaucoup d'aide des précédents projets NFC/Spotify/Sonos) qui s'appelle vinylemulator.
Vous pouvez afficher le code source des fichiers sur github:
Pour l'installer sur notre Raspberry Pi, nous devons le cloner à partir de github avec la commande suivante:
git clone
Étape 22: Personnaliser Vinylemulator
Ouvrez le gestionnaire de fichiers Raspberry Pi et accédez à accueil > pi > vinylemulator
Ouvrez le fichier usersettings.py
L'une des lignes de ce fichier indiquera:
sonosroom="Salle à manger"
Remplacez "Salle à manger" par le nom de la salle Sonos que vous souhaitez contrôler.
Il existe également un paramètre dans ce fichier qui vous permet de personnaliser l'adresse IP du sonos-http-api. Vous devriez pouvoir laisser cela inchangé en tant que "localhost", ce qui signifie simplement qu'il utilisera le Raspberry Pi sur lequel il s'exécute.
Enregistrez le fichier et fermez-le.
Étape 23: Testez l'émulateur de vinyle
Accédez à votre invite de commande Raspberry Pi.
Saisissez la commande suivante:
python vinylemulator/readnfc.py
Si tout va bien, cela chargera le script et dira que le lecteur est prêt. Le voyant du lecteur doit passer au vert.
Mettez le tag NFC sur le lecteur, qui émettra un bip.
Le terminal affichera ce qu'il a lu dans la balise NFC et affichera l'adresse de requête HTTP qu'il a envoyée. L'album de votre choix doit être lu sur vos haut-parleurs Sonos.
Ce script continuera à s'exécuter jusqu'à ce que vous fermiez la fenêtre du terminal. Vous pouvez appuyer sur différentes balises NFC d'album et cela passera à cet album.
Étape 24: faire fonctionner Vinylemulator en permanence et au démarrage
Tout comme le sonos-http-api, nous voulons que vinylemulator s'exécute tout le temps plutôt que juste au moment où nous l'appelons. Nous pouvons utiliser pm2 pour recommencer.
Fermez d'abord toutes les instances de vinylemulator que vous exécutez en fermant leurs fenêtres de terminal.
Ouvrez ensuite une nouvelle fenêtre de terminal et tapez les deux commandes suivantes:
pm2 démarrer vinylemulator/readnfc.py
pm2 enregistrer
Vérifions si cela a fonctionné en redémarrant le Raspberry Pi. (Vous pouvez soit taper sudo reboot, soit le faire à partir du menu Raspberry avec votre souris.
Attendez que le Pi redémarre et voyez qu'il fonctionne en appuyant sur une étiquette NFC sur le lecteur. Tu devrais avoir de la musique.
Étape 25: Félicitez-vous
Tout est désormais fonctionnel. Vous pouvez déplacer le Raspberry Pi là où vous prévoyez de l'installer. Il redémarrera et fonctionnera comme vous l'avez configuré à chaque fois que vous le branchez.
Vos prochaines tâches sont les plus amusantes: rendre le tout beau.
Étape 26: Rendez-le beau - Cachez votre lecteur
La première partie pour le rendre beau est de cacher le méchant lecteur NFC en plastique blanc quelque part.
J'ai opté pour une option résolument low-tech consistant à le coller sous un comptoir à côté de mon Sonos Play:5. Le bois du comptoir est suffisamment fin pour que le NFC puisse passer, alors je joue de la musique en tapant sur un tag NFC sur un endroit magique et invisible.
Conseillé:
Comment créer une configuration DJ pour les débutants - Style vinyle ! : 7 étapes
Comment construire une configuration DJ pour les débutants - Style vinyle ! : Dans ce Instructable, je vais vous montrer comment construire une configuration DJ avec le style de platine classique à l'aide de vinyle. Que vous soyez un amateur ou que vous souhaitiez devenir un professionnel, et éventuellement faire le tour du monde en gagnant un revenu, ces étapes vous
Sonos Like Spotify Wifi Speaker: 9 étapes (avec photos)
Sonos Like Spotify Wifi Speaker : Dans ce projet, nous allons construire un haut-parleur Wifi intégrant le client Spotify. Cela signifie que vous pouvez facilement choisir dans Spotify de jouer sur ce haut-parleur spécifique. Vous n'avez pas à vous soucier d'un bluetooth merdique car il est basé sur l'Ethernet. Ton
TinyDice : PCB professionnels à la maison avec coupe-vinyle : 10 étapes (avec photos)
TinyDice : PCB professionnels à la maison avec un coupe-vinyle : cette instructable consiste en un guide étape par étape documentant une méthode de fabrication de PCB de qualité professionnelle à la maison grâce à l'utilisation d'un coupe-vinyle, de manière fiable, simple et efficace. Cette méthode permet la production de consis
Instructions sur l'utilisation d'un coupe-vinyle MH871-MK2 : 11 étapes
Instructions sur l'utilisation d'un coupe-vinyle MH871-MK2 : Bonjour, je m'appelle Ricardo Greene et j'ai donné des instructions sur l'utilisation d'un coupe-vinyle MH871-MK2
Platine vinyle de valise (avec ampli et préampli intégrés) : 6 étapes
Platine vinyle de valise (avec ampli et préampli intégrés) : Salut tout le monde ! Veuillez supporter avec moi car il s'agit de mon premier instructable. Je m'excuse d'avance de ne pas avoir pris assez de photos pendant que je le construisais, mais c'est relativement simple et peut être personnalisé pour répondre aux envies créatives de chacun ! Mon inspiration pour le