Índice:

Emulador de vinil Sonos Spotify: 26 etapas
Emulador de vinil Sonos Spotify: 26 etapas
Anonim
Image
Image
Emulador de vinil Sonos Spotify
Emulador de vinil Sonos Spotify

Observe que este não é o conjunto de instruções mais recente para este projeto:

Visite https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d para o conjunto mais recente de instruções e suporte

Ouvir música em vinil é ótimo. É físico e tátil. Você ouve um álbum inteiro em vez de faixas aleatórias. Você percebe quando acaba e conscientemente escolhe outra coisa. Você pode construir uma coleção e navegar por ela, em vez de procurar exatamente o que deseja.

Também é caro e volumoso, especialmente quando você considera que qualquer dinheiro gasto em vinil é muito provavelmente uma duplicata de música à qual você já tem acesso por meio de um serviço de streaming que assina.

Este projeto tenta replicar os aspectos de tato e construção de coleção do vinil enquanto confia no Spotify para realmente entregar a música. Colocar um objeto físico em um leitor NFC conectado a um Raspberry Pi (ambos os quais podem ser ocultos) iniciará a reprodução do álbum associado a essa tag.

Vou guiá-lo por todas as etapas - desde a configuração do Raspberry Pi até a codificação das tags NFC. Este é meu primeiro projeto Raspberry Pi e meu primeiro código Python, então eu aprendi ambos ao desenvolver isso. Como tal, essas instruções assumem literalmente zero conhecimento prévio e explicam cada etapa.

O custo total dos componentes essenciais para a construção é de aproximadamente £ 50-60.

Adoraria ver o que você constrói!

Etapa 1: suprimentos necessários 1: Raspberry Pi

O back-end que faz interface com sua rede, Sonos e Spotify, será executado por um Raspberry Pi. Na verdade, há muito pouco que você precisa para fazer isso funcionar.

Essencial:

Raspberry Pi: usei um Raspberry Pi 3 Modelo B +, mas também funcionará com um Raspberry Pi 3 Modelo A + (£ 23)

Fonte de alimentação USB: eu tinha uma - há uma oficial disponível se você não tiver (£ 9)

Cartão Micro SD: comprei um de 32 GB, que é suficiente para este aplicativo, na Amazon (£ 6)

Algum equipamento Sonos em execução na sua rede (suponho que você já o tenha, se estiver aqui …)

Uma conta Spotify Premium

Recomendado:

Um caso para o Pi: há muitas opções, a partir de £ 5

Uma garrafa de Zinfandel da Califórnia decente: eu recomendo Ridge, mas outros estão disponíveis

Etapa 2: suprimentos necessários 2: leitor NFC

Suprimentos necessários 2: Leitor NFC
Suprimentos necessários 2: Leitor NFC
Suprimentos necessários 2: Leitor NFC
Suprimentos necessários 2: Leitor NFC

Estas instruções foram criadas para um leitor NFC ACR122U que se conecta via USB.

ACR122U

Comprei este da Amazon por £ 38 (principalmente porque ele tinha entrega excelente), mas existem opções mais baratas para comprar este mesmo leitor.

Surpreendentemente, o ACR122U parece ser vendido com várias marcas diferentes (a minha vinha com a marca nada reconfortante "Yosoo"), mas pelo que posso dizer, eles são todos iguais e construídos pela American Card Systems.

O mais barato que encontrei para o ACR122U anunciado custa £ 21 incluindo frete, mas ele vem direto da China, então talvez você precise esperar um pouco por isso.

Outras opções

Este projeto se baseia em uma biblioteca python chamada nfcpy que mantém uma lista de dispositivos suportados aqui:

Em teoria, este projeto deve funcionar com qualquer um dos integrantes dessa lista, com pouca integração.

Uma opção tentadora é a Adafruit PN532, que é uma placa que deve se conectar diretamente ao seu Raspberry Pi usando cabos de jumper. Eu tentei e achei um verdadeiro faff. Requer solda, por exemplo.

Uma vantagem é, superficialmente, que é menor, mas na realidade a placa é quase do mesmo tamanho que as tripas do ACR122U. Se você realmente precisa de espaço para sua aplicação, pode retirar o plástico do ACR122U e apenas usar a placa.

Etapa 3: Suprimentos necessários 3: Tags NFC

Suprimentos necessários 3: Tags NFC
Suprimentos necessários 3: Tags NFC

Para cada álbum que você deseja criar, você precisará de uma etiqueta NFC que atenda ao padrão NTAG213.

Existem muitos lugares para comprar estes.

Comprei meu primeiro lote da Amazon, onde ganhei um pacote de 10 por £ 9 (incluindo entrega Prime)

O melhor fornecido que encontrei aqui no Reino Unido é o Seritag - eles têm uma seleção realmente ampla de estilos diferentes, ótimos conselhos em seu site, você sabe exatamente o que está recebendo (nem sempre é verdade na Amazon). Eles não têm um tamanho mínimo de pedido e uma tonelada de opções. Tags começam em 27p por tag

Etapa 4: Baixe o Raspberry Pi OS para um cartão SD

Baixe o Raspberry Pi OS para um cartão SD
Baixe o Raspberry Pi OS para um cartão SD
Baixe o Raspberry Pi OS para um cartão SD
Baixe o Raspberry Pi OS para um cartão SD

No seu PC ou Mac, baixe e execute o aplicativo Raspberry PI Imager.

Insira o cartão SD no qual deseja instalar o sistema operacional Raspberry Pi.

Clique em ESCOLHER OS e selecione o Rasbian padrão.

Clique em ESCOLHER CARTÃO SD e selecione o cartão SD que você conectou.

Clique em ESCREVER. Isso pode demorar um pouco.

Uma vez feito isso, ele dirá para você remover o cartão SD, o que você deve fazer. Mas, em seguida, conecte-o novamente, pois há alguns pontos de manutenção que você precisa fazer primeiro.

Etapa 5: ative o SSH na imagem do seu sistema operacional Raspberry Pi

Ativar SSH em sua imagem do Raspberry Pi OS
Ativar SSH em sua imagem do Raspberry Pi OS

Uma vez que o sistema operacional foi gravado no cartão SD, existem algumas tarefas adicionais que você precisa fazer.

Queremos acessar o Raspberry Pi sem conectar um teclado ou monitor (também conhecido como "sem cabeça"), o que podemos fazer em nossa rede local usando nosso PC ou Mac em um protocolo chamado SSH. No entanto, por motivos de segurança, o SSH é desabilitado por padrão. Precisamos habilitá-lo.

Podemos fazer isso criando um arquivo vazio chamado:

ssh

no cartão SD que acabamos de criar. É importante que não tenha nenhum tipo de extensão (por exemplo,.txt). O arquivo em si não precisa conter nenhum conteúdo - apenas sua existência habilitará o SSH quando o Pi for inicializado.

Etapa 6: opcional: configure o Wi-Fi no seu Raspberry Pi

Opcional: Configure Wifi em seu Raspberry Pi
Opcional: Configure Wifi em seu Raspberry Pi
Opcional: Configure Wifi em seu Raspberry Pi
Opcional: Configure Wifi em seu Raspberry Pi

Você pode pular esta etapa se planeja conectar o Raspberry Pi ao roteador por Ethernet. (Embora você possa querer pensar muito sobre essa decisão - funcionar por wi-fi torna a vida muito mais fácil em termos de posicionamento)

Crie um arquivo de texto simples chamado wpa_supplicant.conf no diretório raiz do cartão SD.

Insira o texto abaixo no arquivo:

country = gb

update_config = 1 ctrl_interface = / var / run / wpa_supplicant network = {scan_ssid = 1 ssid = "MyNetworkSSID" psk = "MyPassword"}

Altere o país conforme apropriado (GB é o Reino Unido, EUA são os EUA, DE é a Alemanha, etc.)

Altere as credenciais wi-fi lá para serem os detalhes reais do roteador wi-fi.

Salve o arquivo.

Ejete o cartão SD com segurança.

Etapa 7: Energize seu Raspberry Pi

Energize o seu Raspberry Pi
Energize o seu Raspberry Pi

Coloque o cartão SD que você acabou de criar no seu Raspberry Pi.

Conecte seu Raspberry Pi na alimentação por meio do cabo USB. Espere um minuto para que ele inicialize.

Etapa 8: Encontre o endereço IP do seu Raspberry Pi

Agora você precisa encontrar o endereço IP do Raspberry Pi para poder se conectar a ele. Você pode fazer isso de duas maneiras:

  • através da página de configuração do roteador - se você tiver um roteador moderno como o eero, isso é muito fácil;
  • ou através de um aplicativo para smartphone disponível para iOS e Android chamado "fing" - baixe, conecte-se ao seu roteador e procure dispositivos - um deles deve se chamar "Raspberry" - este será o endereço IP de que você precisa.

Etapa 9: conecte-se à linha de comando do Raspberry Pi

Conecte-se à linha de comando do Raspberry Pi
Conecte-se à linha de comando do Raspberry Pi

Abra o Terminal no seu mac (ou se você estiver usando o Windows, faça o download e use o Putty).

Digite o seguinte comando:

ssh pi @ [endereço IP do seu Pi]

Aceite todos os avisos de segurança que receber. Será solicitada a senha do usuário pi padrão, que é

framboesa

Etapa 10: Configurar a GUI do Raspberry Pi OS

Configurar a GUI do Raspberry Pi OS
Configurar a GUI do Raspberry Pi OS
Configurar a GUI do Raspberry Pi OS
Configurar a GUI do Raspberry Pi OS

Agora você está conectado ao seu Pi através da linha de comando, o que é ótimo, mas você também deseja configurá-lo para acessar a Interface Gráfica do Usuário que acessaremos via VNC (Virtual Network Computing). Previsivelmente, também precisamos habilitar isso.

Em primeiro lugar, verifique se o seu software Pi está atualizado inserindo os dois comandos a seguir (cada um seguido por enter) na linha de comando:

atualização do apt sudo

sudo apt install realvnc-vnc-server realvnc-vnc-viewer

Em seguida, abra o menu de configurações do Raspberry Pi digitando:

sudo raspi-config

Navegue até Opções de interface> VNC> Sim.

Saia do aplicativo de configuração pressionando a tecla Escape e reinicie o Pi a partir da linha de comando digitando:

sudo reboot

Etapa 11: conectar e configurar sua interface gráfica do Raspberry Pi

Conecte-se e configure sua interface gráfica do Raspberry Pi
Conecte-se e configure sua interface gráfica do Raspberry Pi
Conecte-se e configure sua interface do Raspberry Pi
Conecte-se e configure sua interface do Raspberry Pi

Baixe e abra o VNC Viewer.

Digite o endereço IP do seu Raspberry Pi e pressione conectar. Ele solicitará o nome de usuário e a senha, que são:

Nome de usuário = pi

Senha = framboesa

Isso deve inicializar você para a GUI.

Ele solicitará que você confirme sua geografia e o layout do teclado.

Em seguida, ele solicitará que você altere sua senha (boa ideia).

Será solicitado que você defina seus detalhes de wi-fi, mas você pode pular isso porque eles já estão funcionando. (Embora se você estiver executando em ethernet e tendo dúvidas, esta é sua chance … mas observe que seu endereço IP pode mudar)

Em seguida, ele verificará, fará o download e instalará as atualizações (pode demorar um pouco).

Depois de concluir o assistente de configuração, recomendo alterar a resolução da tela, pois o padrão é muito pequeno. Você pode fazer isso clicando em Raspberry no canto superior esquerdo> Preferências> Configuração do Raspberry Pi> Vídeo> Definir resolução

Você precisará reiniciar o Pi mais uma vez para que isso tenha efeito.

Etapa 12: Instale o Node.js e o NPM

Instale Node.js e NPM
Instale Node.js e NPM

Em seguida, você deseja carregar a linha de comando do Raspberry Pi para instalar as dependências de que precisamos.

Você pode fazer isso conectando-se via VNC e clicando no botão próximo ao topo que se parece com uma linha de comando; ou você pode se conectar diretamente de seu Mac / PC usando Terminal e Putty como fizemos anteriormente. Se você está menos acostumado a trabalhar com o Raspberry Pi, é mais fácil fazer o anterior.

(Dica: você pode copiar texto do seu Mac / PC e colá-lo no Raspberry Pi via VNC pressionando CONTROL-V, mas se estiver tentando colar no Terminal, pressione CONTROL-SHIFT-V)

O primeiro trabalho é verificar novamente se o software está atualizado digitando os dois comandos a seguir. Eles podem demorar um pouco para baixar e instalar.

sudo apt-get update

sudo apt-get upgrade

Em seguida, você deseja baixar e instalar node.js e NPM (não se preocupe muito com o que eles são, eles são úteis e necessários para nossas próximas tarefas) digitando o seguinte:

sudo apt-get install nodejs npm

Ele irá perguntar algumas vezes se você está feliz em ocupar espaço em disco com eles - então pressione Y

Etapa 13: Instale a API SONOS

A base do back-end para nosso projeto é o pacote node-sonos-http-api criado por jishi. Você pode ler tudo sobre isso aqui:

Faremos o download do github com o seguinte comando inserido na linha de comando:

git clone

e vamos instalá-lo com os seguintes comandos

cd node-sonos-http-api

npm install --production

Podemos então executá-lo com o seguinte comando:

npm start

Feito isso, devemos testar se está funcionando.

Em primeiro lugar, abra o navegador da Internet em nosso Raspberry Pi e navegue para https:// localhost: 5005 /. Uma boa interface deve ser aberta com o logotipo da Sonos e alguma documentação sobre como a API funciona.

A seguir, vamos verificar se isso está funcionando na rede mais ampla usando um navegador em outro PC ou Mac na mesma rede e navegando para https:// [theIPaddressofyourPi]: 5005 / e vendo se obtemos o mesmo resultado. Deveríamos.

Agora faremos com que o sistema faça alguma coisa. Use um navegador e navegue até:

192.168.4.102:5005/Sala de jantar / playpause

Você deve substituir o endereço IP acima pelo endereço do seu Raspberry Pi e "Dining Room" por um dos nomes das suas zonas Sonos. Ele deve reproduzir ou pausar (dependendo se a música já está tocando ou não) a música naquela sala. Obviamente, algo precisa estar na fila da Sonos para que isso funcione.

No futuro, usarei o endereço IP acima e a Sala de jantar como exemplos ao longo deste tutorial. Obviamente, você deve substituí-los pelo endereço IP e pelo nome da zona em cada ocasião.

Etapa 14: Faça a API Sonos HTTP rodar constantemente

Faça a API Sonos HTTP rodar constantemente
Faça a API Sonos HTTP rodar constantemente

É ótimo termos a API Sonos HTTP em execução, mas e se ela travar? Ou você perde energia ou precisa reiniciar o Raspberry Pi?

Você pode ver o efeito fechando a janela do terminal e tentando novamente o que acabamos de tentar. Não funcionará porque a API HTTP parou junto com a janela do terminal.

Na verdade, queremos que isso seja executado constantemente e sempre a partir da inicialização. Fazemos isso com uma coisa legal chamada PM2.

Em uma nova janela de terminal, instale e execute-o da seguinte maneira:

sudo npm install -g pm2

status pm2

Agora vamos fazer com que ele execute nossa API Sonos

cd node-sonos-http-api

pm2 start npm - start pm2 startup systemd

Este último comando gera algo que se parece um pouco com:

sudo env PATH = $ PATH: / usr / bin / usr / local / lib / node_modules / pm2 / bin / pm2 inicialização systemd -u pi --hp / home / pi

Copie o que seu Pi gera (não o texto exato acima - o seu pode ser diferente) e insira-o na linha de comando. Isso instrui o sistema a executar o PM2 na inicialização todas as vezes.

Finalmente, digite:

pm2 salvar

o que economiza tudo.

Agora teste se isso funcionou reiniciando seu Raspberry Pi com o comando

sudo reboot

Esperançosamente, assim que o Pi for reiniciado, ele também iniciará o PM2 e, por sua vez, a API Sonos HTTP. Você pode verificar isso navegando usando um navegador na mesma rede para o endereço que usamos antes e ver o logotipo e as instruções da Sonos:

192.168.4.102:5005/

é o que é pra mim, mas o seu vai depender do endereço IP.

Etapa 15: toque um pouco do Spotify

Vamos verificar se o serviço pode acessar o Spotify.

Abra um navegador e navegue até o seguinte endereço (obviamente substituindo pelo seu endereço IP e nome da sala):

192.168.4.102:5005/Sala de jantar / spotify / now / spotify / spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Você deveria ouvir um pouco de John Grant. Aproveitar.

Etapa 16: Encontre URIs do Spotify

Encontre URIs do Spotify
Encontre URIs do Spotify

Estranho, eu sei, mas nem todo mundo gosta de John Grant. Talvez você queira ouvir outra coisa?

Você pode obter os links do Spotify no desktop, web ou aplicativos móveis, mas o Desktop é de longe o mais fácil, pois fornece o URI exatamente no formato que você deseja, então comece com isso.

No aplicativo de desktop Spotify, navegue até o álbum que deseja ouvir (talvez Lemonade de Beyoncé?)

Clique nos três pequenos pontos ao lado do botão de coração.

Vá para baixo no menu para compartilhar e escolha Copiar URI do Spotify

Isso irá copiar algo como

spotify: album: 7dK54iZuOxXFarGhXwEXfF

para sua área de transferência, que é o URI do Spotify para o álbum Lemondade de Beyoncé.

Abra o navegador novamente e navegue até o seguinte endereço (obviamente substituindo o endereço IP e a sala e colando o URI que você acabou de copiar):

192.168.4.102:5005/Sala de jantar / spotify / agora / [URI do Spotify que você deseja reproduzir]

Você deve ouvir a sua jogada de escolha.

Se você preferir usar o aplicativo da web, ele fornecerá um link da web (algo como o abaixo):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

você precisa converter isso para o spotify: album: formato de código acima para que funcione.

Etapa 17: Uma observação sobre URIs do Spotify

Os URIs do Spotify e sua forma de interface com o node-sonos-http-api são intuitivos, em sua maior parte.

Você pode vincular diretamente a álbuns, faixas e listas de reprodução.

Um URI de álbum se parece com:

spotify: album: 6agCM9GJcebduMddgFmgsO

Um URI de faixa se parece com:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

As listas de reprodução funcionam de maneira um pouco diferente. Quando você copia o URI do Spotify, ele se parece com:

spotify: playlist: 5huIma0YU4iusLcT2reVEU

No entanto, para realmente fazê-lo funcionar na API, você precisa adicionar spotify: user: ao início do acima. Isso se aplica até mesmo a listas de reprodução públicas e, sim, significa que você está dizendo spotify duas vezes.

Para ser bem claro, o usuário não precisa ser o nome de um usuário específico, apenas o usuário de texto. Portanto, o URI correto para que a lista de reprodução acima funcione seria:

spotify: usuário: spotify: playlist: 5huIma0YU4iusLcT2reVEU

Etapa 18: configurar o Raspberry Pi para enviar solicitações

Configure o Raspberry Pi para enviar solicitações HTTP
Configure o Raspberry Pi para enviar solicitações HTTP

Em vez de digitar manualmente as solicitações HTTP em um navegador da web, queremos automatizá-lo para que o Raspberry Pi faça isso sozinho quando for apresentado a determinado estímulo (o leitor NFC sendo acionado).

Estaremos usando uma biblioteca chamada solicitações para permitir que nosso Raspberry Pi faça isso. Vamos verificar se ele está instalado.

Abra o terminal no seu Pi e digite o seguinte:

pedidos de instalação sudo pip

É provável que ele volte e diga que já está instalado; nesse caso, ótimo. Caso contrário, ele o instalará.

Etapa 19: Gerar tag (s) NFCC com dados Spotify

Gerar tag (s) NFCC com dados Spotify
Gerar tag (s) NFCC com dados Spotify
Gerar tag (s) NFCC com dados Spotify
Gerar tag (s) NFCC com dados Spotify
Gerar tag (s) NFCC com dados Spotify
Gerar tag (s) NFCC com dados Spotify
Gerar tag (s) NFCC com dados Spotify
Gerar tag (s) NFCC com dados Spotify

Agora queremos escrever um URI de álbum do Spotify para uma tag NFC. Cada uma dessas tags é o que você usará para dizer ao Raspberry Pi para tocar um álbum específico.

Você pode escrever para uma etiqueta NFC usando um telefone Android, mas acho mais fácil fazê-lo por meio de um Mac ou PC, pois você pode obter os URIs do Spotify mais facilmente no aplicativo Spotify para desktop.

Conecte seu leitor NFC USB em seu PC ou Mac. Estou usando o ACR122U da American Card Systems.

Baixe as ferramentas NFC para o seu PC ou Mac. Instale e abra.

Pode ser um pouco lento para se conectar ao leitor às vezes e pode dizer que não consegue encontrar o leitor. Vá para a guia Outro nas ferramentas NFC e clique de vez em quando no botão Leitor NFC conectado. Pode ser necessário desconectar e reconectar o leitor algumas vezes antes de localizá-lo.

Eventualmente, ele dará a você a opção de escolher o seu leitor em uma lista e dizer que ele está conectado. Vá para a guia Informações que não mostrará nada, exceto "Aguardando uma etiqueta NFC".

Pegue uma etiqueta NFC em branco. Coloque-o no leitor e deixe-o lá. As ferramentas NFC exibirão as informações sobre a tag.

Vá para a guia Gravar e clique em Adicionar um registro> Texto. (Cuidado para não escolher URL ou URI - sei que é tentador porque você está copiando um URI, mas quer texto)

Pegue um URI do Spotify usando o método que usamos anteriormente. Se você quiser um exemplo fácil, o seguinte é nosso álbum de John Grant anterior.

spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Clique em OK e, em seguida, clique em Gravar (não se esqueça desta última etapa - ele não grava até você clicar aqui). Ele dirá que a tag foi escrita com sucesso.

Tire a etiqueta do leitor

Etapa 20: configurar o leitor NFC no Raspberry Pi

Configurar o leitor NFC no Raspberry Pi
Configurar o leitor NFC no Raspberry Pi

Conecte seu leitor NFC em uma das portas USB em seu Raspberry Pi.

Usaremos a biblioteca nfcpy Python para nos comunicarmos com o leitor NFC. Instale-o digitando o seguinte na linha de comando do Pi:

pip install -U nfcpy

Podemos então verificar se esta biblioteca é capaz de ver nosso leitor NFC digitando o seguinte:

python -m nfc

Se funcionou, você verá o seguinte:

Esta é a versão 1.0.3 do nfcpy executado em Python 2.7.16 em Linux-4.19.97-v7 + -armv7l-with-debian-10.3

Agora estou procurando em seu sistema dispositivos sem contato ** encontrados ACS ACR122U PN532v1.6 em usb: 001: 011 Não estou tentando dispositivos seriais porque você não me disse - adicione a opção '--search-tty' para que eu esteja procurando - mas tome cuidado, pois isso pode quebrar outros desenvolvedores seriais

No entanto, há uma boa chance de você receber uma mensagem de erro dizendo que o leitor foi encontrado, mas seu usuário (pi) não tem permissão para acessá-lo. Se você receber essa mensagem de erro, ela também explicará como corrigir o problema, digitando dois comandos que se parecem com o seguinte:

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

Copie e execute ambos os comandos que ele fornece (não exatamente o que está acima, já que o seu pode ser diferente) e, em seguida, desconecte e reconecte o leitor NFC da porta USB.

Tente o comando de verificação novamente:

python -m nfc

Desta vez, deve-se dizer que foi encontrado sem mensagens de erro.

Etapa 21: Instale os scripts Python do Vinylemulator

Agora temos todos os blocos de construção no lugar:

  • Nosso Raspberry Pi é capaz de ouvir a entrada de NFC
  • Nosso Raspberry Pi é capaz de dizer à Sonos para tocar playlists do Spotify quando recebe um URI do Spotify
  • Temos uma tag NFC com um URI do Spotify armazenado nela

Agora precisamos transformar todos esses blocos de construção em algo útil. Isso é feito por meio de um pequeno script python que escrevi (com muita ajuda de projetos NFC / Spotify / Sonos anteriores), que é chamado vinylemulator.

Você pode ver o código-fonte dos arquivos em github:

Para instalar isso em nosso Raspberry Pi, precisamos cloná-lo do github com o seguinte comando:

git clone

Etapa 22: personalizar o vinilemulador

Personalizar vinilemulador
Personalizar vinilemulador
Personalizar vinilemulador
Personalizar vinilemulador

Abra o gerenciador de arquivos Raspberry Pi e navegue até home> pi> vinylemulator

Abra o arquivo usersettings.py

Uma das linhas deste arquivo irá ler:

sonosroom = "Sala de Jantar"

Altere "Dining Room" para o nome da sala Sonos que você deseja controlar.

Há também uma configuração neste arquivo que permite personalizar o endereço IP do sonos-http-api. Você deve conseguir deixar inalterado como "localhost", o que significa apenas que usará o Raspberry Pi em que está sendo executado.

Salve o arquivo e feche-o.

Etapa 23: Testar vinilemulador

Test Vinylemulator
Test Vinylemulator
Test Vinylemulator
Test Vinylemulator

Vá para o prompt de comando do Raspberry Pi.

Digite o seguinte comando:

python vinylemulator / readnfc.py

Se tudo estiver bem, isso carregará o script e dirá que o leitor está pronto. A luz no leitor deve ficar verde.

Coloque a etiqueta NFC no leitor, que emitirá um bipe.

O terminal mostrará o que leu da tag NFC e mostrará o endereço de solicitação HTTP que enviou. O álbum de sua escolha deve ser reproduzido nos alto-falantes Sonos.

Este script continuará em execução até que você feche a janela do terminal. Você pode tocar em diferentes tags NFC de álbum e ele mudará para esse álbum.

Etapa 24: Faça o Vinylemulator funcionar constantemente e na inicialização

Assim como o sonos-http-api, queremos que o vinilemulador funcione o tempo todo, e não apenas quando o chamamos. Podemos usar pm2 para fazer isso novamente.

Primeiro feche todas as instâncias do vinilemulador que você está executando, fechando suas janelas de terminal.

Em seguida, abra uma nova janela de terminal e digite os dois comandos a seguir:

pm2 start vinylemulator / readnfc.py

pm2 salvar

Vamos verificar se funcionou reiniciando o Raspberry Pi. (Você pode digitar sudo reboot ou fazê-lo no menu do Raspberry com o mouse.

Aguarde até que o Pi seja iniciado novamente e veja se ele funciona tocando em uma etiqueta NFC no leitor. Você deveria ter música.

Etapa 25: Parabenize-se

Agora tudo está funcional. Você pode mover o Raspberry Pi para qualquer lugar onde planeje colocá-lo. Ele irá reiniciar e operar da maneira que você configurou sempre que você conectá-lo.

Suas próximas tarefas são as divertidas: deixar tudo bonito.

Etapa 26: Deixe-o bonito - esconda o seu leitor

Make It Beautiful - Hide Your Reader
Make It Beautiful - Hide Your Reader
Make It Beautiful - Hide Your Reader
Make It Beautiful - Hide Your Reader
Make It Beautiful - Hide Your Reader
Make It Beautiful - Hide Your Reader
Make It Beautiful - Hide Your Reader
Make It Beautiful - Hide Your Reader

A primeira parte de torná-lo bonito é esconder o desagradável leitor NFC de plástico branco em algum lugar.

Optei por uma opção decididamente de baixa tecnologia de prendê-lo na parte de baixo de um balcão próximo ao meu Sonos Play: 5. A madeira do balcão é fina o suficiente para que o NFC possa passar, então toco música tocando uma etiqueta NFC em um local mágico e invisível.

Recomendado: