Sommario:
- Passaggio 1: Materiali di consumo necessari 1: Raspberry Pi
- Passaggio 2: materiali di consumo necessari 2: lettore NFC
- Passaggio 3: materiali di consumo necessari 3: tag NFC
- Passaggio 4: scarica il sistema operativo Raspberry Pi su una scheda SD
- Passaggio 5: abilitare SSH sull'immagine del sistema operativo Raspberry Pi
- Passaggio 6: opzionale: configura il Wi-Fi sul tuo Raspberry Pi
- Passaggio 7: accendi il tuo Raspberry Pi
- Passaggio 8: trova l'indirizzo IP del tuo Raspberry Pi
- Passaggio 9: connettiti alla riga di comando del tuo Raspberry Pi
- Passaggio 10: configurare la GUI del sistema operativo Raspberry Pi
- Passaggio 11: connettersi e configurare la GUI di Raspberry Pi
- Passaggio 12: installare Node.js e NPM
- Passaggio 13: installare l'API HTTP di SONOS
- Passaggio 14: eseguire costantemente l'API HTTP di Sonos
- Passaggio 15: riproduci un po' di Spotify
- Passaggio 16: trova gli URI di Spotify
- Passaggio 17: una nota sugli URI di Spotify
- Passaggio 18: configurare Raspberry Pi per inviare richieste
- Passaggio 19: generare tag NFCC con dati Spotify
- Passaggio 20: configurare il lettore NFC sul Raspberry Pi
- Passaggio 21: installare gli script Python di Vinylemulator
- Passo 22: Personalizza Vinylemulator
- Passaggio 23: prova Vinylemulator
- Passaggio 24: fai in modo che Vinylemulator venga eseguito costantemente e all'avvio
- Passaggio 25: congratularsi con te stesso
- Passaggio 26: rendilo bello - Nascondi il tuo lettore
Video: Sonos Spotify Vinyl Emulatore: 26 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Si prega di notare che questa non è l'ultima serie di istruzioni per questo progetto:
Visita https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d per l'ultima serie di istruzioni e supporto
Ascoltare musica su vinile è fantastico. È fisico e tattile. Ascolti un intero album piuttosto che brani casuali. Ti accorgi quando è finita e scegli consapevolmente qualcos'altro. Puoi creare una raccolta e sfogliarla invece di dover cercare esattamente ciò che desideri.
È anche costoso e ingombrante, soprattutto se si considera che i soldi spesi per il vinile sono molto probabilmente un duplicato di musica a cui si ha già accesso tramite un servizio di streaming a cui si è abbonati.
Questo progetto tenta di replicare la tattilità e gli aspetti di creazione di collezioni del vinile facendo affidamento su Spotify per fornire effettivamente la musica. Posizionando un oggetto fisico su un lettore NFC collegato a un Raspberry Pi (entrambi i quali possono essere nascosti) inizierà la riproduzione dell'album associato a quel tag.
Ti guiderò attraverso tutti i passaggi, dalla configurazione del Raspberry Pi alla codifica dei tag NFC. Questo è il mio primissimo progetto Raspberry Pi e il mio primo codice Python, quindi ho imparato entrambi durante lo sviluppo di questo. In quanto tali, queste istruzioni presuppongono letteralmente zero conoscenze precedenti e illustrano ogni passaggio.
Il costo totale per i componenti essenziali per costruirlo è di circa £ 50-60.
Mi piacerebbe vedere cosa costruisci!
Passaggio 1: Materiali di consumo necessari 1: Raspberry Pi
Il back-end che si interfaccia con la tua rete, Sonos e Spotify sarà gestito da un Raspberry Pi. C'è davvero poco che ti serve per farlo funzionare.
Essenziale:
Raspberry Pi: ho usato un Raspberry Pi 3 Model B+ ma funzionerà anche con un Raspberry Pi 3 Model A+ (£ 23)
Alimentatore USB: ne avevo uno in giro - ce n'è uno ufficiale disponibile se non lo fai (£ 9)
Scheda Micro SD: ne ho una da 32 GB, che è abbastanza per questa applicazione, su Amazon (£ 6)
Alcuni dispositivi Sonos in esecuzione sulla tua rete (immagino che tu li abbia già se sei qui…)
Un account Spotify Premium
Consigliato:
Un caso per il Pi: ci sono molte opzioni, a partire da £ 5
Una bottiglia di California Zinfandel decente: consiglio Ridge, ma ne sono disponibili altri
Passaggio 2: materiali di consumo necessari 2: lettore NFC
Queste istruzioni sono costruite per un lettore NFC ACR122U che si collega tramite USB.
ACR122U
Ho comprato questo da Amazon per £ 38 (soprattutto perché aveva la consegna prime) ma ci sono opzioni più economiche per acquistare questo stesso lettore.
Confusamente, l'ACR122U sembra essere venduto con un mucchio di marchi diversi (il mio è arrivato con il marchio tutt'altro che rassicurante "Yosoo") ma da quello che posso dire sono tutti uguali e costruiti da American Card Systems.
Il più economico che ho trovato l'ACR122U pubblicizzato è £ 21 inclusa la spedizione, ma arriva direttamente dalla Cina, quindi potrebbe essere necessario aspettare un po'.
Altre opzioni
Questo progetto si basa su una libreria Python chiamata nfcpy che mantiene un elenco di dispositivi supportati qui:
In teoria questo progetto dovrebbe funzionare con uno qualsiasi di quelli in quell'elenco con poca integrazione.
Un'opzione allettante è l'Adafruit PN532 che è una scheda che dovrebbe collegarsi direttamente al tuo Raspberry Pi usando cavi jumper. L'ho provato e l'ho trovato un vero disastro. Richiede la saldatura, per esempio.
Un vantaggio è, superficialmente, che è più piccolo ma in realtà la scheda ha circa le stesse dimensioni del budello dell'ACR122U. Se hai davvero bisogno di spazio per la tua applicazione, puoi rimuovere la plastica dall'ACR122U e utilizzare semplicemente la scheda.
Passaggio 3: materiali di consumo necessari 3: tag NFC
Per ogni album che vuoi creare, avrai bisogno di un tag NFC che soddisfi lo standard NTAG213.
Ci sono molti posti dove comprarli.
Ho acquistato il mio primo lotto da Amazon, dove ho ricevuto una confezione da 10 per £ 9 (inclusa la consegna Prime)
Il meglio fornito che ho trovato qui nel Regno Unito è Seritag: hanno una selezione davvero ampia di stili diversi, ottimi consigli sul loro sito Web, sai esattamente cosa ottieni (non sempre vero su Amazon). Non hanno un ordine minimo e un sacco di opzioni. I tag iniziano a 27p per tag
Passaggio 4: scarica il sistema operativo Raspberry Pi su una scheda SD
Sul tuo PC o Mac, scarica ed esegui l'applicazione imager Raspberry PI.
Inserisci la scheda SD su cui desideri installare il sistema operativo Raspberry Pi.
Fare clic su SCEGLI OS e selezionare il Rasbian predefinito.
Fai clic su SCEGLI SCHEDA SD e seleziona la scheda SD che hai collegato.
Clicca su SCRIVI. Questo potrebbe richiedere del tempo.
Una volta fatto, ti dirà di rimuovere la scheda SD, cosa che dovresti fare. Ma poi ricollegalo perché ci sono alcuni punti di pulizia che devi fare prima.
Passaggio 5: abilitare SSH sull'immagine del sistema operativo Raspberry Pi
Una volta che il sistema operativo è stato scritto sulla scheda SD, sono necessarie alcune attività aggiuntive.
Vogliamo accedere al Raspberry Pi senza collegare una tastiera o un monitor (noto anche come "headless"), cosa che possiamo fare sulla nostra rete locale usando il nostro PC o Mac su un protocollo chiamato SSH. Tuttavia, per motivi di sicurezza SSH è disabilitato per impostazione predefinita. Dobbiamo abilitarlo.
Possiamo farlo creando un file vuoto chiamato:
ssh
nella scheda SD che abbiamo appena creato. È importante che questo non abbia alcun tipo di estensione (es..txt). Il file stesso non deve contenere alcun contenuto: solo la sua esistenza abiliterà SSH all'avvio del Pi.
Passaggio 6: opzionale: configura il Wi-Fi sul tuo Raspberry Pi
Puoi saltare questo passaggio se prevedi di collegare il tuo Raspberry Pi al router tramite Ethernet. (Anche se potresti voler riflettere bene su questa decisione: farlo funzionare su Wi-Fi rende la vita molto più semplice in termini di posizionamento)
Crea un file di testo semplice chiamato wpa_supplicant.conf nella directory principale della scheda SD.
Inserisci il testo seguente nel file:
paese=gb
update_config=1 ctrl_interface=/var/run/wpa_supplicant network={ scan_ssid=1 ssid="MyNetworkSSID" psk="MyPassword" }
Modificare il paese come appropriato (GB è il Regno Unito, gli Stati Uniti sono gli Stati Uniti, DE è la Germania, ecc.)
Cambia le credenziali Wi-Fi lì per essere i dettagli del tuo router Wi-Fi effettivo.
Salva il file.
Espellere in sicurezza la scheda SD.
Passaggio 7: accendi il tuo Raspberry Pi
Inserisci la scheda SD appena creata nel tuo Raspberry Pi.
Collega il tuo Raspberry Pi all'alimentazione tramite il cavo USB. Aspetta un minuto che si avvii.
Passaggio 8: trova l'indirizzo IP del tuo Raspberry Pi
Ora devi trovare l'indirizzo IP del Raspberry Pi in modo da poterti connettere ad esso. Puoi farlo in due modi:
- tramite la pagina di configurazione del router: se disponi di un router moderno come eero, è semplicissimo;
- o tramite un'app per smartphone disponibile per iOS e Android chiamata "fing" - scaricala, connettiti al router e cerca i dispositivi - uno di questi dovrebbe chiamarsi "Raspberry" - questo sarà l'indirizzo IP di cui hai bisogno.
Passaggio 9: connettiti alla riga di comando del tuo Raspberry Pi
Apri Terminale sul tuo Mac (o se stai usando Windows, scarica e usa Putty).
Immettere il seguente comando:
ssh pi@[indirizzo IP del tuo Pi]
Accetta tutti gli avvisi di sicurezza che ricevi. Ti verrà richiesta la password per l'utente pi predefinito che è
lampone
Passaggio 10: configurare la GUI del sistema operativo Raspberry Pi
Ora sei connesso al tuo Pi tramite la riga di comando, il che è fantastico ma vuoi anche configurarlo in modo da poter accedere all'interfaccia utente grafica a cui accederemo tramite VNC (Virtual Network Computing). Com'era prevedibile, dobbiamo anche abilitare questo.
Prima di tutto controlla che il tuo software Pi sia aggiornato inserendo i seguenti due comandi (ognuno seguito da invio) nella riga di comando:
sudo apt update
sudo apt install realvnc-vnc-server realvnc-vnc-viewer
Quindi, apri il menu delle impostazioni di Raspberry Pi inserendo:
sudo raspi-config
Passare a Opzioni di interfaccia > VNC > Sì.
Uscire dall'applicazione di configurazione premendo il tasto Esc e riavviare il Pi dalla riga di comando digitando:
sudo reboot
Passaggio 11: connettersi e configurare la GUI di Raspberry Pi
Scarica e apri il visualizzatore VNC.
Digita l'indirizzo IP per il tuo Raspberry Pi e premi Connetti. Ti chiederà nome utente e password che sono:
Nome utente = pi
Password = lampone
Questo dovrebbe avviarti alla GUI.
Ti verrà chiesto di confermare la tua geografia e il layout della tastiera.
Ti chiederà quindi di cambiare la password (buona idea).
Ti verrà chiesto di impostare i dettagli del Wi-Fi, ma puoi saltarlo perché stanno già funzionando. (Anche se sei in esecuzione su Ethernet e hai dei ripensamenti, ora è la tua occasione… ma tieni presente che il tuo indirizzo IP potrebbe cambiare)
Quindi controllerà, scaricherà e installerà gli aggiornamenti (potrebbe volerci un po' di tempo).
Una volta completata la procedura guidata di configurazione, ti consiglio di modificare la risoluzione dello schermo poiché l'impostazione predefinita è piuttosto piccola. Puoi farlo facendo clic sul Raspberry in alto a sinistra> Preferenze> Configurazione Raspberry Pi> Display> Imposta risoluzione
Dovrai riavviare il Pi ancora una volta per far sì che questo abbia effetto.
Passaggio 12: installare Node.js e NPM
Quindi vuoi caricare la riga di comando di Raspberry Pi per installare le dipendenze di cui abbiamo bisogno.
Puoi farlo collegandoti tramite VNC e facendo clic sul pulsante nella parte superiore che sembra una riga di comando; oppure puoi connetterti direttamente dal tuo Mac/PC usando Terminal e Putty come abbiamo fatto in precedenza. Se sei meno abituato a lavorare con il Raspberry Pi, è più facile fare il primo.
(Suggerimento: puoi copiare il testo dal tuo Mac/PC e incollarlo sul Raspberry Pi tramite VNC premendo CONTROL-V, ma se stai cercando di incollare nel Terminale, devi premere CONTROL-SHIFT-V)
Il primo compito è controllare di nuovo che il software sia aggiornato digitando i due comandi seguenti. Potrebbero volerci un po' di tempo per il download e l'installazione.
sudo apt-get update
sudo apt-get upgrade
Quindi vuoi scaricare e installare node.js e NPM (non preoccuparti troppo di cosa sono, sono utili e necessari per le nostre prossime attività) digitando quanto segue:
sudo apt-get install nodejs npm
Ti verrà chiesto un paio di volte se sei felice di occupare spazio su disco con questi - quindi premi Y
Passaggio 13: installare l'API HTTP di SONOS
La base del back-end per il nostro progetto è il pacchetto node-sonos-http-api creato da jishi. Puoi leggere tutto qui:
Lo scaricheremo da github con il seguente comando inserito nella riga di comando:
git clone
e lo installeremo con i seguenti comandi
cd node-sonos-http-api
npm install --produzione
Possiamo quindi eseguirlo con il seguente comando:
npm inizio
Una volta fatto, dovremmo verificare che funzioni.
Prima di tutto, apri il browser Internet sul nostro Raspberry Pi e vai a https://localhost:5005/. Dovrebbe aprirsi una bella interfaccia con il logo Sonos e della documentazione su come funziona l'API.
Quindi, controlliamo che funzioni dalla rete più ampia utilizzando un browser su un altro PC o Mac sulla stessa rete e navigando su https://[theIPaddressofyourPi]:5005/ e verificando se otteniamo lo stesso risultato. Dovremmo.
Ora faremo effettivamente in modo che il sistema faccia qualcosa. Usa un browser e vai a:
192.168.4.102:5005/Sala da pranzo/playpause
Dovresti sostituire l'indirizzo IP sopra con l'indirizzo del tuo Raspberry Pi e "Sala da pranzo" con uno dei nomi delle tue zone Sonos. Dovrebbe riprodurre o mettere in pausa (a seconda che la musica sia già in riproduzione o meno) la musica in quella stanza. Ovviamente qualcosa deve essere nella coda di Sonos affinché funzioni.
Andando avanti, utilizzerò l'indirizzo IP sopra e Dining Room come esempi in questo tutorial. Ovviamente dovresti sostituirli con il tuo indirizzo IP e il nome della tua zona di volta in volta.
Passaggio 14: eseguire costantemente l'API HTTP di Sonos
È fantastico che l'API HTTP di Sonos sia in esecuzione, ma cosa succede se si blocca? O perdi potenza o devi riavviare il tuo Raspberry Pi?
Puoi vedere l'effetto chiudendo la finestra del terminale e riprovando quello che abbiamo appena provato. Non funzionerà perché l'API HTTP è stata interrotta insieme alla finestra del terminale.
In realtà vogliamo che questo funzioni costantemente e lo faccia ogni volta dall'avvio. Lo facciamo con una cosa interessante chiamata PM2.
In una nuova finestra di terminale, installalo ed eseguilo come segue:
sudo npm install -g pm2
stato pm2
Ora facciamo eseguire la nostra API HTTP Sonos:
cd node-sonos-http-api
pm2 start npm -- avvia pm2 avvio systemd
Quest'ultimo comando genera qualcosa che assomiglia un po' a:
sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
Copia ciò che genera il tuo Pi (non il testo esatto sopra - il tuo potrebbe essere diverso) e inseriscilo nella riga di comando. Questo indica al sistema di eseguire ogni volta PM2 all'avvio.
Infine, inserisci:
pm2 salva
che salva tutto.
Ora verifica se ha funzionato riavviando il tuo Raspberry Pi con il comando
sudo reboot
Si spera che una volta riavviato il Pi, avvii anche PM2 e, a sua volta, l'API HTTP Sonos. Puoi verificarlo navigando utilizzando un browser sulla stessa rete fino all'indirizzo utilizzato in precedenza e visualizzando il logo Sonos e le istruzioni:
192.168.4.102:5005/
è quello che fa per me, ma il tuo dipenderà dall'indirizzo IP.
Passaggio 15: riproduci un po' di Spotify
Verifichiamo che il servizio possa accedere a Spotify.
Apri un browser e vai al seguente indirizzo (ovviamente sostituendolo con il tuo indirizzo IP e il nome della stanza):
192.168.4.102:5005/Sala da pranzo/spotify/now/spotify/spotify:album:2dfTV7CktUEBkZCHiB7VQB
Dovresti sentire un po' di John Grant. Godere.
Passaggio 16: trova gli URI di Spotify
Strano, lo so, ma non a tutti piace John Grant. Forse vuoi ascoltare qualcos'altro?
Puoi ottenere i collegamenti Spotify dalle app desktop, web o mobili, ma il desktop è di gran lunga il più semplice in quanto fornisce l'URI esattamente nel formato che desideri, quindi inizia con quello.
Nell'app desktop Spotify accedi all'album che desideri ascoltare (forse Lemonade di Beyonce?)
Fare clic sui tre puntini accanto al pulsante del cuore.
Scendi nel menu su Condividi e scegli Copia URI Spotify
Questo copierà qualcosa come
spotify:album:7dK54iZuOxXFarGhXwEXfF
negli appunti, che è l'URI Spotify per l'album Lemondade di Beyonce.
Riavvia il browser e vai al seguente indirizzo (ovviamente sostituendo l'indirizzo IP e la stanza e incollando l'URI appena copiato):
192.168.4.102:5005/Sala da pranzo/spotify/now/[Spotify URI che vuoi riprodurre]
Dovresti sentire suonare la tua scelta.
Se preferisci utilizzare l'app Web, ti verrà fornito un collegamento Web (qualcosa come il seguente):
open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF
devi convertirlo nel formato spotify:album:code sopra per farlo funzionare.
Passaggio 17: una nota sugli URI di Spotify
Gli URI di Spotify e il modo in cui si interfacciano con node-sonos-http-api sono intuitivi, per la maggior parte.
Puoi collegarti direttamente ad album, brani e playlist.
L'URI di un album ha il seguente aspetto:
spotify:album:6agCM9GJcebduMddgFmgsO
Un URI di traccia ha il seguente aspetto:
spotify:track:4fNDKbaeEjk2P4GrRE1UbW
Le playlist funzionano in modo leggermente diverso. Quando copi l'URI da Spotify, sarà simile a:
spotify:playlist:5huIma0YU4iusLcT2reVEU
Tuttavia, per farlo funzionare effettivamente sull'API è necessario aggiungere spotify:user: all'inizio di quanto sopra. Questo vale anche per le playlist pubbliche e, sì, significa che stai dicendo Spotify due volte.
Per essere molto chiari, user non ha bisogno di essere il nome di un particolare utente, solo l'utente di testo. Quindi l'URI corretto per la playlist sopra per farlo funzionare sarebbe:
spotify:utente:spotify:playlist:5huIma0YU4iusLcT2reVEU
Passaggio 18: configurare Raspberry Pi per inviare richieste
Piuttosto che digitare manualmente le richieste HTTP in un browser Web, vogliamo automatizzarlo in modo che il Raspberry Pi lo faccia da solo quando viene presentato con un determinato stimolo (il lettore NFC viene attivato).
Useremo una libreria chiamata request per consentire al nostro Raspberry Pi di farlo. Controlliamo che sia installato.
Apri il terminale sul tuo Pi e digita quanto segue:
sudo pip install richieste
È probabile che ritorni e dica che è già installato, nel qual caso ottimo. In caso contrario, lo installerà.
Passaggio 19: generare tag NFCC con dati Spotify
Ora vogliamo scrivere un URI dell'album Spotify su un tag NFC. Ognuno di questi tag è ciò che utilizzerai per dire al Raspberry Pi di riprodurre un determinato album.
Puoi scrivere su un tag NFC utilizzando un telefono Android, ma trovo che sia più semplice farlo tramite un Mac o un PC in quanto è più semplice ottenere gli URI di Spotify dall'app desktop Spotify.
Collega il tuo lettore NFC USB al tuo PC o Mac. Sto usando l'ACR122U di American Card Systems.
Scarica gli strumenti NFC sul tuo PC o Mac. Installalo e aprilo.
A volte può essere un po' lento connettersi al lettore e potrebbe dire che non riesce a trovare il lettore. Vai alla scheda Altro negli strumenti NFC e fai clic ogni tanto sul pulsante Lettore NFC connesso. Potrebbe essere necessario scollegare e ricollegare il lettore alcune volte prima che lo trovi.
Alla fine ti darà la possibilità di scegliere il tuo lettore da un elenco e dire che è connesso. Vai alla scheda Informazioni che non mostrerà nulla tranne "In attesa di un tag NFC".
Prendi un tag NFC vuoto. Mettilo sul lettore e lascialo lì. NFC Tools visualizzerà le informazioni sul tag.
Vai alla scheda Scrivi e fai clic su Aggiungi un record > Testo. (Fai attenzione a non scegliere URL o URI: so che è allettante perché stai copiando un URI, ma vuoi del testo)
Prendi un URI da Spotify usando il metodo che abbiamo usato in precedenza. Se vuoi un esempio facile, quello che segue è il nostro album di John Grant di prima.
spotify:album:2dfTV7CktUEBkZCHiB7VQB
Fare clic su OK e quindi fare clic su Scrivi (non dimenticare questo ultimo passaggio: in realtà non lo scrive finché non si fa clic su questo). Ti dirà che il tag è stato scritto correttamente.
Togli il tag dal lettore
Passaggio 20: configurare il lettore NFC sul Raspberry Pi
Collega il tuo lettore NFC a una delle porte USB del tuo Raspberry Pi.
Useremo la libreria Python nfcpy per comunicare con il lettore NFC. Installalo digitando quanto segue sulla riga di comando di Pi:
pip install -U nfcpy
Possiamo quindi verificare se questa libreria è in grado di vedere il nostro lettore NFC digitando quanto segue:
python -m nfc
Se ha funzionato, vedrai quanto segue:
Questa è la versione 1.0.3 di nfcpy eseguita in Python 2.7.16 su Linux-4.19.97-v7+-armv7l-with-debian-10.3
Ora sto cercando nel tuo sistema dispositivi contactless ** ho trovato ACS ACR122U PN532v1.6 su usb:001:011 Non sto provando dispositivi seriali perché non me l'hai detto -- aggiungi l'opzione '--search-tty' per farmi guardare, ma attenzione che questo potrebbe danneggiare altri sviluppatori seriali
Tuttavia ci sono buone probabilità che tu riceva un messaggio di errore che dice che il lettore è stato trovato ma il tuo utente (pi) non ha il permesso di accedervi. Se ricevi questo messaggio di errore, ti spiegherà anche come risolvere il problema, ovvero digitando due comandi che assomigliano un po' ai seguenti:
sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"04e6\", ATTRS{idProduct}==\"5591\", GROUP= \"plugdev\" >> /etc/udev/rules.d/nfcdev.rules'
sudo udevadm control -R
Copia ed esegui entrambi i comandi che ti dà (non esattamente quello sopra, poiché il tuo potrebbe essere diverso), quindi scollega e ricollega il lettore NFC dalla porta USB.
Riprova il comando check:
python -m nfc
Questa volta dovrebbe dire che l'ha trovato senza messaggi di errore.
Passaggio 21: installare gli script Python di Vinylemulator
Ora abbiamo tutti gli elementi costitutivi a posto:
- Il nostro Raspberry Pi è in grado di ascoltare l'input NFC
- Il nostro Raspberry Pi è in grado di dire a Sonos di riprodurre le playlist di Spotify quando viene fornito un URI di Spotify
- Abbiamo un tag NFC con un URI Spotify memorizzato su di esso
Ora dobbiamo trasformare tutti questi elementi costitutivi in qualcosa di utile. Questo viene fatto attraverso un breve script Python che ho scritto (con molto aiuto dai precedenti progetti NFC/Spotify/Sonos) che si chiama vinilemulator.
Puoi visualizzare il codice sorgente per i file su github:
Per installarlo sul nostro Raspberry Pi dobbiamo clonarlo da github con il seguente comando:
git clone
Passo 22: Personalizza Vinylemulator
Apri il file manager Raspberry Pi e vai a home> pi> vinilemulator
Apri il file usersettings.py
Una delle righe in questo file leggerà:
sonosroom="Sala da pranzo"
Cambia "Sala da pranzo" con il nome della stanza Sonos che desideri controllare.
C'è anche un'impostazione in questo file che consente di personalizzare l'indirizzo IP di sonos-http-api. Dovresti essere in grado di lasciare questo invariato come "localhost", il che significa semplicemente che utilizzerà il Raspberry Pi su cui è in esecuzione.
Salva il file e chiudilo.
Passaggio 23: prova Vinylemulator
Vai al prompt dei comandi di Raspberry Pi.
Immettere il seguente comando:
python vinilemulator/readnfc.py
Se tutto va bene, questo caricherà lo script e dirà che il lettore è pronto. La spia sul lettore dovrebbe diventare verde.
Metti il tag NFC sul lettore, che emetterà un segnale acustico.
Il terminale mostrerà ciò che ha letto dal tag NFC e mostrerà l'indirizzo della richiesta HTTP che ha inviato. Il tuo album preferito dovrebbe essere riprodotto dagli altoparlanti Sonos.
Questo script continuerà a funzionare finché non chiudi la finestra del terminale. Puoi toccare diversi tag NFC dell'album e passerà a quell'album.
Passaggio 24: fai in modo che Vinylemulator venga eseguito costantemente e all'avvio
Proprio come sonos-http-api, vogliamo che l'emulatore di vinile funzioni tutto il tempo anziché solo quando lo chiamiamo. Possiamo usare pm2 per farlo di nuovo.
Per prima cosa chiudi tutte le istanze di vinilemulator che stai eseguendo chiudendo le loro finestre di terminale.
Quindi apri una nuova finestra di terminale e digita i seguenti due comandi:
pm2 avvia vinilemulator/readnfc.py
pm2 salva
Controlliamo se ha funzionato riavviando il Raspberry Pi. (Puoi digitare sudo reboot o farlo dal menu Raspberry con il mouse.
Attendi che il Pi si riavvii e verifica che funzioni toccando un tag NFC sul lettore. Dovresti prendere della musica.
Passaggio 25: congratularsi con te stesso
Adesso è tutto funzionante. Puoi spostare il Raspberry Pi ovunque tu abbia intenzione di posizionarlo. Si riavvierà e funzionerà nel modo in cui l'hai impostato ogni volta che lo colleghi.
I tuoi prossimi compiti sono quelli divertenti: rendere tutto bello.
Passaggio 26: rendilo bello - Nascondi il tuo lettore
La prima parte per renderlo bello è nascondere da qualche parte il brutto lettore NFC di plastica bianca.
Sono andato con un'opzione decisamente low-tech di attaccarlo alla parte inferiore di un contatore accanto al mio Sonos Play:5. Il legno del bancone è abbastanza sottile da poter passare attraverso l'NFC, quindi suono la musica toccando un tag NFC in un punto magico e invisibile.
Consigliato:
Come installare, eseguire e collegare un controller a un emulatore: 7 passaggi
Come installare, eseguire e collegare un controller a un emulatore: sei mai stato seduto a ricordare la tua infanzia da giovane giocatore e a volte vorresti poter rivisitare quelle vecchie gemme del passato? Bene, c'è un'app per questo… più specificamente c'è una comunità di giocatori che creano programmi
Istruzioni per l'emulatore di gioco Raspberry Pi: 7 passaggi
Istruzioni per l'emulatore di gioco Raspberry Pi: tutti amano giocare. Anche quando facciamo un lavoro serio. Ed è naturale perché tutti meritano riposo, svago o tempo libero. E, naturalmente, difficilmente possiamo rifiutarci di aver giocato al nostro gioco preferito. Ricordo il tempo in cui un tipo
Sonos Like Spotify Wifi Speaker: 9 passaggi (con immagini)
Sonos Like Spotify Wifi Speaker: In questo progetto costruiremo un altoparlante Wifi con Spotify Client integrato. Ciò significa che puoi facilmente scegliere in Spotify di riprodurre su quell'altoparlante specifico. Non devi avere a che fare con il bluetooth scadente poiché è basato su ethernet. Tuo
Emulatore di calcolatrice scientifica HP-35 con Arduino Uno: 4 passaggi
Emulatore di calcolatrice scientifica HP-35 con Arduino Uno: l'obiettivo di questo progetto è eseguire il seguente simulatore https://www.hpmuseum.org/simulate/hp35sim/hp35sim….su un Arduino Uno con TFTLCD e Touch Screen simile la calcolatrice scientifica HP-35 originale. Emula il codice originale memorizzato
GamePi - la console dell'emulatore portatile: 17 passaggi (con immagini)
GamePi - la console di emulazione portatile: Intro: questa istruzione descrive la costruzione di una console di emulazione portatile alimentata da Raspberry Pi 3 - l'ho battezzata GamePi. Esistono molte istruzioni simili per tali dispositivi, ma per i miei gusti la maggior parte di esse è troppo grande, troppo piccola