Inhoudsopgave:

RFID Jukebox: 3 stappen (met afbeeldingen)
RFID Jukebox: 3 stappen (met afbeeldingen)

Video: RFID Jukebox: 3 stappen (met afbeeldingen)

Video: RFID Jukebox: 3 stappen (met afbeeldingen)
Video: De TeleJukeBox - Handleiding en mogelijkheden 2024, November
Anonim
Image
Image
RFID-jukebox
RFID-jukebox

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

Codeoverzicht
Codeoverzicht
Codeoverzicht
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

Image
Image
Spotify-integratie
Spotify-integratie
Spotify-integratie
Spotify-integratie
Spotify-integratie
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

Het er mooier uit laten zien!
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: