Inhoudsopgave:
Video: RFID Jukebox: 3 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Dit is mijn inzending voor de "Audio"-wedstrijd - als je hierin geïnteresseerd bent, geef me dan een stem
Dit bericht zal proberen een "scrollvriendelijke" versie te maken van de instructievideo bovenaan dit bericht
De video gaat uitgebreid in op de besturingsstroom en welke software ik gebruik. Kijk daar eens naar als je meer wilt weten.
De stroom is als volgt:
Normale werking - Kaarten lezen en Spotify activeren om nummers af te spelen:
1) RFID-tag wordt gelezen door een compatibele kaartlezer
2) Kaartlezer spuugt seriële gegevens voor elke kaart uit naar een Arduino
3) Arduino "Serial print" de gegevens die het ontvangt naar een Raspberry Pi
4) Pi ontvangt kaart-ID van Arduino. Pi zoekt de kaart-ID op in een tabel om de bijbehorende Spotify-URI te vinden
5) Pi roept Spotify API aan om geselecteerde URI af te spelen
Installatiefase: RFID-tag koppelen aan een Spotify-URI
1) t/m 3) van bovenaf
4) Pi verwacht een opdrachtregel arg met de specifieke Spotify-URI die u aan de kaart wilt koppelen
5) Pi maakt een nieuwe invoer (of overschrijft als de kaart-ID al in de tabel wordt gevonden) voor de kaart-ID, SpotifyURI-paar
U "programmeert" deze tags dus niet. Deze tags hebben hun eigen ingebouwde microcontroller die het veld dat uit de spoel van de lezer komt moduleert op de melodie van zijn specifieke ID. Het enige dat u doet, is een woordenboek maken van sleutel-, waardeparen waaruit de pi kan lezen.
Laten we bijvoorbeeld zeggen dat ik een kaart heb met ID "2_54_57_53_23_33_3". Ik weet in eerste instantie niet wat de ID is, maar als ik de uitvoer van de Arduino lees na het scannen, komt dit eruit.
Laten we zeggen dat ik deze kaart het album met de grootste hits van Al Green wil laten afspelen wanneer deze wordt gescand. Om dit te bereiken, zou ik naar Spotify gaan en de URI van het album kopiëren en "spotify:album:6W0V8B0fJItvOwC8v114rZ" krijgen. Nu, zoals te zien is in de video, lever ik deze URI aan een python-programma om de kaart-ID van "2_54_57_53_23_33_3" te koppelen aan de spotify-URI van "spotify:album:6W0V8B0fJItvOwC8v114rZ" in een tabel. De "Sleutel" is de kaart-ID en de "waarde" is de URI.
Wanneer ik nu het hoofdprogramma implementeer en mijn pi een kaart-ID van "2_54_57_53_23_33_3" ontvangt, zal het het opzoeken in de tabel, de bijbehorende URI verzamelen en de URI als argument aan de Spotify API leveren.
Benodigdheden
Toegewijde computer (raspberry pi is het beste voor deze tutorial)
RFID-kaartlezermodule om verbinding te maken met de speciale computer
RFID-kaarten compatibel met uw lezer
Optioneel maar aanbevolen: een reserve Arduino als tussenpersoon tussen de lezer en de computer om ontwikkelingstijd te besparen
Stap 1: Codeoverzicht
De bijgevoegde screenshots tonen de basiscodestructuur voor interfacing met Serial op de Arduino en pi. Het voordeel van het gebruik van de Arduino als tussenpersoon is dat ik hem rechtstreeks op de USB-poort van de Pi kan aansluiten als een seriële ingang. Dit heeft me een hoop hoofdpijn bespaard, omdat ik nu niet hoef te weten hoe ik de GPIO-pinnen als seriële ingang moet instellen.
Mijn specifieke kaart/lezer-combinatie geeft me het ongebruikelijke resultaat dat alle kaarten beginnen met een 2 en eindigen met een 3. Dit gaf me een snelle en vuile manier om te weten wanneer een transmissie begint of eindigt. Afhankelijk van de kaarten/lezer die je hebt, zal je code moeten veranderen.
Stap 2: Spotify-integratie
Nu voor het moeilijke deel - interfacing met Spotify. Ik vertrouwde hier zwaar op 3 bronnen:
1) Het Spotifyd-project, waarmee je apparaat als extra luidspreker voor je Spotify-account kan verschijnen.
2) Het Diskplayer-project, waarin een willekeurige man zijn eigen go-scripts schreef voor interfaces met de Spotify API
3) Deze mooie man die over OAUTH gaat met Spotify. Zonder hem had ik zoveel meer uren verspild.
Installeer eerst Spotifyd en test het om er zeker van te zijn dat de pi als luidspreker in je account verschijnt.
Toen dat eenmaal werkte, gebruikte ik Diskplayer om de spotify-API te testen. Hier wordt u gevraagd om een Spotify API-token te verstrekken. Als je een headless setup gebruikt zoals ik, kun je deze niet openen in een browser op de pi. Om deze reden moet u de stappen volgen die worden vermeld in de video hierboven in stap 3). Dit project zou niet zijn gebeurd zonder de man in die video!
Stap 3: Het er mooier uit laten zien
Zodra alles werkt, blijft er een wirwar van draden over die alles afspeelt wat je wilt van Spotify. Om het op te ruimen, stop je alles in een hoesje en print je wat labels voor je kaarten! Ik heb Avery 22822-labels gebruikt (die worden geleverd met een blanco Photoshop-sjabloon om thuis af te drukken). Ik was in staat om afbeeldingen van Google te halen en ze indien nodig in de photoshop-sjabloon te plaatsen. Na een paar uur Photoshop leren, heb ik de labels afgedrukt en op mijn blanco RFID-tags geplakt.
Ik heb veel plezier gehad met dit project en zal het in de toekomst gebruiken om mensen in mijn appartement te vermaken. I\Laat het me weten als je het zelf gaat maken!
Ik doe mee aan de "Audio"-wedstrijd -- als je het leuk vond, stem dan gerust. Bedankt!
Aanbevolen:
Jukebox: 13 stappen (met afbeeldingen)
Jukebox: Toen ik Volumio (open audiofiele muziekspeler) ontdekte, dacht ik dat het gebruikt kon worden om een geweldige jukebox te bouwen; en de rest is geschiedenis. De volgende instructable is meer een algemeen overzicht van hoe ik dit project heb gebouwd. Als zodanig zijn enkele van de kleine
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e
Random Song Jukebox (Raspberry Pi): 6 stappen (met afbeeldingen)
Random Song Jukebox (Raspberry Pi): na wat geklungel met een Google AIY Voice Kit voor Raspberry Pi, besloot ik de hardware opnieuw te gebruiken om een offline jukebox te maken. Wanneer een gebruiker op de bovenste knop drukt, wordt een willekeurig nummer dat op de Pi is opgeslagen, afgespeeld. De volumeknop is er om te helpen bij het aanpassen van de
Steampunk Pi Jukebox met Google Music: 11 stappen (met afbeeldingen)
Steampunk Pi Jukebox met Google Music: WAARSCHUWING!! Als je een soortgelijk project probeert te doen, begrijp dan dat je het potentieel hebt om asbest tegen te komen in een oude radio, meestal maar niet beperkt tot een soort hitteschild of isolatie. Doe je eigen onderzoek en neem voorzorgsmaatregelen.Ik