Índice:

RFID Jukebox: 3 etapas (com imagens)
RFID Jukebox: 3 etapas (com imagens)
Anonim
Image
Image
RFID Jukebox
RFID Jukebox

Esta é a minha entrada no concurso "Áudio" - se você estiver interessado nisso, por favor, vote

Esta postagem tentará criar uma versão "amigável para rolagem" do vídeo de instruções incluído no topo desta postagem

O vídeo apresenta muitos detalhes sobre o fluxo de controle e o software que estou usando. Dê uma olhada nisso se quiser saber mais.

O fluxo é o seguinte:

Operação normal - Lendo cartas e acionando o Spotify para reproduzir músicas:

1) A etiqueta RFID é lida por um leitor de cartão compatível

2) O leitor de cartão cospe os dados seriais de cada cartão para um Arduino

3) Arduino "imprime em série" os dados que recebe em um raspberry pi

4) Pi recebe o ID do cartão do Arduino. Pi procura o ID do cartão em uma tabela para encontrar o URI do Spotify correspondente

5) Pi chama a API do Spotify para reproduzir o URI selecionado

Fase de configuração: associando tag RFID a um URI do Spotify

1) a 3) de cima

4) Pi espera um argumento de linha de comando com o URI específico do Spotify que você deseja associar ao cartão

5) Pi cria uma nova entrada (ou substitui se o ID do cartão já for encontrado na tabela) para o par CardID, SpotifyURI

Portanto, você não está "programando" essas tags. Essas tags têm seu próprio microcontrolador embutido que modula o campo proveniente da bobina do leitor de acordo com o seu ID específico. Tudo o que você está fazendo é criar um dicionário de pares de valores-chave para o pi ler.

Por exemplo, digamos que eu tenha um cartão com ID "2_54_57_53_23_33_3". Inicialmente, não sei qual é o ID, mas quando li a saída do Arduino após digitalizá-lo, é isso que sai.

Digamos que eu queira fazer este cartão tocar o álbum dos maiores sucessos de Al Green quando for digitalizado. Para fazer isso, eu iria ao Spotify e copiaria o URI do álbum, obtendo "spotify: album: 6W0V8B0fJItvOwC8v114rZ". Agora, como visto no vídeo, forneço este URI para um programa python para associar o ID do cartão de "2_54_57_53_23_33_3" com o URI do spotify de "spotify: album: 6W0V8B0fJItvOwC8v114rZ" em uma tabela. A "Chave" é o ID do cartão e o "valor" é o URI.

Agora, quando eu implantar o programa principal, e meu pi receber um ID de cartão de "2_54_57_53_23_33_3", ele o pesquisará na tabela, reunirá o URI associado a ele e fornecerá o URI como um argumento para a API do Spotify.

Suprimentos

Computador dedicado (raspberry pi é o melhor para este tutorial)

Módulo leitor de cartão RFID para conectar ao computador dedicado

Cartões RFID compatíveis com o seu leitor

Opcional, mas recomendado: um Arduino sobressalente como intermediário entre o leitor e o computador para economizar tempo de desenvolvimento

Etapa 1: Visão geral do código

Visão geral do código
Visão geral do código
Visão geral do código
Visão geral do código

As capturas de tela anexadas mostram a estrutura de código básica para interface com Serial no Arduino e pi. A vantagem de usar o Arduino como intermediário é que posso conectá-lo diretamente à porta USB do Pi como uma entrada serial. Isso me salvou de muita dor de cabeça, pois agora não preciso saber como configurar os pinos GPIO como entrada serial.

Minha combinação particular de cartão / leitor me dá o resultado incomum de que todos os cartões começam com 2 e terminam com 3. Isso me deu uma maneira rápida e suja de saber quando uma transmissão está começando ou terminando. Dependendo dos cartões / leitoras que você possui, seu código terá que mudar.

Etapa 2: Integração Spotify

Image
Image
Integração Spotify
Integração Spotify
Integração Spotify
Integração Spotify
Integração Spotify
Integração Spotify

Agora, a parte difícil - fazer a interface com o Spotify. Contei muito com 3 recursos aqui:

1) O projeto Spotifyd, que permite que seu dispositivo apareça como um alto-falante extra para sua conta Spotify.

2) O projeto Diskplayer, no qual um cara aleatório escreveu seus próprios scripts go para fazer a interface com a API do Spotify

3) Este homem lindo que faz OAUTH com o Spotify. Sem ele, eu teria perdido muito mais horas.

Primeiro instale o Spotifyd e teste-o para ter certeza de que o pi aparece como um alto-falante para sua conta.

Então, quando isso funcionar, usei o Diskplayer para testar a API do spotify. É aqui que ele pedirá que você forneça um token de API do Spotify. Se você estiver executando uma configuração sem periféricos como eu, não conseguirá abri-la em um navegador no pi. Por esse motivo, você precisará seguir as etapas listadas no vídeo acima na etapa 3). Este projeto não teria acontecido sem o homem naquele vídeo!

Etapa 3: Como fazer com que pareça mais agradável

Fazendo com que pareça mais agradável!
Fazendo com que pareça mais agradável!

Depois que tudo funcionar, você ficará com uma confusão de fios que tocam tudo o que você quiser do Spotify. Para limpar, coloque tudo em uma caixa e imprima algumas etiquetas para seus cartões! Usei etiquetas Avery 22822 (que vêm com um modelo em branco do Photoshop para impressão em casa). Consegui extrair imagens do google e colocá-las no modelo do photoshop conforme necessário. Depois de algumas horas aprendendo Photoshop, imprimi e colei as etiquetas em minhas etiquetas RFID em branco.

Eu me diverti muito com este projeto e vou usá-lo no futuro para entreter as pessoas em meu apartamento. Eu / Avise-me se você acabar fazendo isso sozinho!

Estou inscrevendo isso no concurso "Áudio" - se você gostou, sinta-se à vontade para votar nele. Obrigado!

Recomendado: