Obsah:

Emulátor vinylu Sonos Spotify: 26 krokov
Emulátor vinylu Sonos Spotify: 26 krokov

Video: Emulátor vinylu Sonos Spotify: 26 krokov

Video: Emulátor vinylu Sonos Spotify: 26 krokov
Video: Broke 90 in Smart Tv 2024, Júl
Anonim
Image
Image
Vinylový emulátor Sonos Spotify
Vinylový emulátor Sonos Spotify

Upozorňujeme, že toto nie je najnovšia sada pokynov pre tento projekt:

Najnovšiu sadu pokynov a podpory nájdete na stránke

Počúvanie hudby na vinyle je skvelé. Je to fyzické a hmatateľné. Počúvate celý album, a nie náhodné skladby. Všimnete si, keď skončí, a vedome si vyberiete niečo iné. Môžete si vytvoriť zbierku a prehľadávať ju, a nie hľadať presne to, čo chcete.

Je to tiež drahé a objemné, najmä keď si uvedomíte, že akékoľvek peniaze, ktoré vynaložíte na vinyl, sú veľmi pravdepodobne duplikátom hudby, ku ktorej už máte prístup prostredníctvom streamovacej služby, ktorú si predplatíte.

Tento projekt sa pokúša replikovať hmatové a zbierkové aspekty vinylu, pričom sa spolieha na to, že hudbu skutočne dodá Spotify. Umiestnením fyzického predmetu na čítačku NFC pripojenou k Raspberry Pi (oba je možné skryť) sa začne prehrávať album spojený s touto značkou.

Prevediem vás všetkými krokmi - od nastavenia Raspberry Pi po kódovanie značiek NFC. Toto je môj úplne prvý projekt Raspberry Pi a môj prvý kód v Pythone, takže som sa pri jeho vývoji naučil obidve. Tieto pokyny ako také predpokladajú doslova nulové predchádzajúce znalosti a prehovoria vás každým krokom.

Celkové náklady na základné komponenty na stavbu sú približne 50-60 libier.

Rád by som videl, čo staviate!

Krok 1: Potrebný spotrebný materiál 1: Raspberry Pi

Zadné rozhranie, ktoré je prepojené s vašou sieťou, Sonos a Spotify, bude prevádzkovať Raspberry Pi. Na to, aby ste to zvládli, je v skutočnosti veľmi málo.

Nevyhnutné:

Raspberry Pi: Použil som Raspberry Pi 3 Model B+, ale bude fungovať aj s Raspberry Pi 3 Model A+ (23 GBP)

Napájanie USB: Nechal som sa pohádzať - ak nie, je k dispozícii oficiálny (9 GBP)

Karta Micro SD: Na Amazone som dostal 32 GB, čo je na túto aplikáciu dosť (6 GBP)

Niektoré zariadenia Sonos bežiace vo vašej sieti (predpokladám, že už ich máte, ak ste tu …)

Účet Spotify Premium

Odporúčané:

Prípad pre Pi: existuje veľa možností, od 5 libier

Fľaša slušného kalifornského Zinfandelu: Odporúčam Ridge, ale sú k dispozícii aj iné

Krok 2: Požadovaný spotrebný materiál 2: NFC čítačka

Požadovaný spotrebný materiál 2: NFC čítačka
Požadovaný spotrebný materiál 2: NFC čítačka
Požadovaný spotrebný materiál 2: NFC čítačka
Požadovaný spotrebný materiál 2: NFC čítačka

Tieto pokyny sú navrhnuté pre čítačku ACR122U NFC, ktorá sa pripája cez USB.

ACR122U

Kúpil som tento od Amazonu za 38 libier (väčšinou preto, že mal prvotriedne doručenie), ale existujú lacnejšie možnosti, ako si kúpiť rovnakú čítačku.

Mätúce sa zdá, že ACR122U sa predáva pod mnohými rôznymi značkami (tie moje spadali pod veľmi upokojujúcu značku „Yosoo“), ale podľa toho, čo môžem povedať, sú všetky rovnaké a skonštruované spoločnosťou American Card Systems.

Najlacnejší inzerát, ktorý som našiel, je ACR122U, 21 libier vrátane poštovného, ktorý však pochádza priamo z Číny, takže si naň budete možno musieť chvíľu počkať.

Ďalšie možnosti

Tento projekt sa opiera o pythonovú knižnicu s názvom nfcpy, ktorá tu udržiava zoznam podporovaných zariadení:

Tento projekt by teoreticky mal fungovať s kýmkoľvek z tých, ktorí sú na tomto zozname, s malou integráciou.

Jednou z lákavých možností je Adafruit PN532, čo je doska, ktorá by sa mala pomocou prepojovacích káblov pripojiť priamo k vášmu Raspberry Pi. Skúsil som to a zistil som, že je to skutočný faff. Vyžaduje to napríklad spájkovanie.

Jednou z jeho výhod je, že je povrchne menší, ale v skutočnosti je doska zhruba rovnaká ako vnútornosti ACR122U. Ak vás skutočne tlačí priestor pre vašu aplikáciu, môžete plast z ACR122U odstrániť a jednoducho použiť dosku.

Krok 3: Požadovaný spotrebný materiál 3: Značky NFC

Požadovaný spotrebný materiál 3: Značky NFC
Požadovaný spotrebný materiál 3: Značky NFC

Pre každý album, ktorý chcete vytvoriť, budete potrebovať značku NFC, ktorá spĺňa normu NTAG213.

Existuje veľa miest na nákup týchto.

Kúpil som svoju prvú dávku z Amazonu, kde som dostal balenie po 10 za 9 libier (vrátane dodávky Prime)

Najlepšie dodávaný, aký som tu vo Veľkej Británii našiel, je Seritag - majú skutočne široký výber rôznych štýlov, skvelé rady na svojich webových stránkach, presne viete, čo dostanete (na Amazone to nie je vždy pravda). Nemajú minimálnu veľkosť objednávky a veľa možností. Štítky začínajú na 27 p na značku

Krok 4: Stiahnite si Raspberry Pi OS na kartu SD

Stiahnite si Raspberry Pi OS na kartu SD
Stiahnite si Raspberry Pi OS na kartu SD
Stiahnite si Raspberry Pi OS na kartu SD
Stiahnite si Raspberry Pi OS na kartu SD

Na svojom počítači PC alebo Mac si stiahnite a spustite aplikáciu Raspberry PI imager.

Vložte kartu SD, na ktorú chcete nainštalovať operačný systém Raspberry Pi.

Kliknite na CHOOSE OS a vyberte predvolený Rasbian.

Kliknite na VYBERTE SI KARTU SD a vyberte kartu SD, ktorú ste zapojili.

Kliknite na ZÁPIS. Môže to chvíľu trvať.

Akonáhle je to hotové, povie vám, aby ste vybrali kartu SD, čo by ste mali urobiť. Potom ho však znova zapojte, pretože je tu niekoľko bodov starostlivosti o domácnosť, ktoré musíte urobiť ako prvé.

Krok 5: Povoľte SSH na svojom obrázku Raspberry Pi OS

Povoľte SSH na svojom obrázku Raspberry Pi OS
Povoľte SSH na svojom obrázku Raspberry Pi OS

Akonáhle je operačný systém zapísaný na kartu SD, musíte vykonať niekoľko ďalších úloh.

Chceme mať prístup k Raspberry Pi bez zapojenia klávesnice alebo monitora (alias „bezhlavého“), čo môžeme vykonávať prostredníctvom našej lokálnej siete pomocou počítača PC alebo Mac prostredníctvom protokolu s názvom SSH. Z bezpečnostných dôvodov je však SSH predvolene vypnuté. Musíme to povoliť.

Môžeme to urobiť vytvorením prázdneho súboru s názvom:

ssh

na SD kartu, ktorú sme práve vytvorili. Je dôležité, aby toto nemalo žiadne rozšírenie (napr.. Txt). Samotný súbor nemusí obsahovať žiadny obsah - iba jeho existencia umožní SSH pri spustení Pi.

Krok 6: Voliteľné: Nastavte na svojom Raspberry Pi Wi -Fi

Voliteľné: Nastavte na svojom Raspberry Pi Wi -Fi
Voliteľné: Nastavte na svojom Raspberry Pi Wi -Fi
Voliteľné: Nastavte Wi -Fi na svojom Raspberry Pi
Voliteľné: Nastavte Wi -Fi na svojom Raspberry Pi

Tento krok môžete preskočiť, ak plánujete pripojiť svoj Raspberry Pi k smerovaču ethernetom. (Aj keď by ste sa mali nad týmto rozhodnutím poriadne zamyslieť - keď ho spustíte cez Wi -Fi, výrazne vám uľahčí život, pokiaľ ide o jeho umiestnenie.)

V koreňovom adresári karty SD vytvorte súbor obyčajného textu s názvom wpa_supplicant.conf.

Do súboru vložte nasledujúci text:

krajina = GB

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

Podľa potreby zmeňte krajinu (GB je Spojené kráľovstvo, USA je USA, DE je Nemecko atď.)

Zmeňte prihlasovacie údaje wifi tam, aby obsahovali vaše skutočné podrobnosti o routeri wifi.

Uložte súbor.

Bezpečne vysuňte kartu SD.

Krok 7: Zapnite Raspberry Pi

Zapnite Raspberry Pi
Zapnite Raspberry Pi

Vložte kartu SD, ktorú ste práve vytvorili, do svojho Raspberry Pi.

Pripojte svoj Raspberry Pi k napájaniu pomocou kábla USB. Počkajte chvíľu, kým sa spustí.

Krok 8: Nájdite IP adresu vášho Raspberry Pi

Teraz musíte nájsť IP adresu Raspberry Pi, aby ste sa k nej mohli pripojiť. Môžete to urobiť dvoma spôsobmi:

  • prostredníctvom stránky nastavenia smerovača - ak máte moderný smerovač, ako je eero, je to veľmi jednoduché;
  • alebo prostredníctvom aplikácie pre smartfóny dostupnej pre iOS a Android s názvom „fing“- stiahnite si ju, pripojte sa k smerovaču a vyhľadajte zariadenia - jedno z nich by sa malo volať „Raspberry“- bude to adresa IP, ktorú potrebujete.

Krok 9: Pripojte sa k svojmu príkazovému riadku Raspberry Pi

Pripojte sa k svojmu príkazovému riadku Raspberry Pi
Pripojte sa k svojmu príkazovému riadku Raspberry Pi

Otvorte Terminal na počítači Mac (alebo ak používate Windows, stiahnite si a použite Putty).

Zadajte nasledujúci príkaz:

ssh pi@[IP adresa vášho Pi]

Prijmite všetky bezpečnostné upozornenia, ktoré dostanete. Budete vyzvaní na zadanie hesla pre predvoleného používateľa pí, ktorým je

malina

Krok 10: Nastavte GUI Raspberry Pi OS

Nastavte grafické rozhranie OS Raspberry Pi
Nastavte grafické rozhranie OS Raspberry Pi
Nastavte grafické rozhranie OS Raspberry Pi
Nastavte grafické rozhranie OS Raspberry Pi

Teraz ste pripojení k svojmu Pi pomocou príkazového riadku, čo je skvelé, ale chcete to tiež nastaviť, aby ste mali prístup k grafickému používateľskému rozhraniu, ku ktorému budeme mať prístup prostredníctvom VNC (Virtual Network Computing). Predvídateľne to musíme tiež povoliť.

Najprv skontrolujte, či je váš softvér Pi aktuálny, zadaním nasledujúcich dvoch príkazov (po ktorých nasleduje kláves Enter) do príkazového riadka:

sudo apt aktualizácia

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

Potom otvorte ponuku nastavení Raspberry Pi zadaním:

sudo raspi-config

Prejdite na Možnosti rozhrania> VNC> Áno.

Ukončite konfiguračnú aplikáciu stlačením klávesu Escape a reštartujte Pi z príkazového riadka zadaním:

sudo reštart

Krok 11: Pripojte sa k svojmu grafickému rozhraniu Raspberry Pi a nastavte ho

Pripojte sa k svojmu grafickému rozhraniu Raspberry Pi a nastavte ho
Pripojte sa k svojmu grafickému rozhraniu Raspberry Pi a nastavte ho
Pripojte sa k svojmu grafickému rozhraniu Raspberry Pi a nastavte ho
Pripojte sa k svojmu grafickému rozhraniu Raspberry Pi a nastavte ho

Stiahnite si a otvorte prehliadač VNC.

Zadajte adresu IP svojho Raspberry Pi a stlačte tlačidlo Pripojiť. Zobrazí sa výzva na zadanie používateľského mena a hesla, ktoré sú tieto:

Používateľské meno = pi

Heslo = malina

To by vás malo zaviesť do GUI.

Zobrazí sa výzva na potvrdenie geografie a rozloženia klávesnice.

Potom vás vyzve na zmenu hesla (dobrý nápad).

Požiada vás, aby ste nastavili podrobnosti o wifi, ale môžete to preskočiť, pretože už fungujú. (Hoci ak bežíte na ethernete a rozmýšľate, teraz máte šancu … ale všimnite si si, že sa vaša IP adresa môže zmeniť)

Potom vyhľadá, stiahne a nainštaluje aktualizácie (môže to chvíľu trvať).

Po dokončení sprievodcu nastavením by som odporučil zmeniť rozlíšenie obrazovky, pretože predvolené nastavenie je dosť malé. Môžete to urobiť kliknutím na Raspberry vľavo hore> Predvoľby> Konfigurácia Raspberry Pi> Displej> Nastaviť rozlíšenie

Aby sa to prejavilo, budete musieť Pi znova reštartovať.

Krok 12: Nainštalujte Node.js a NPM

Nainštalujte Node.js a NPM
Nainštalujte Node.js a NPM

Ďalej chcete načítať príkazový riadok Raspberry Pi a nainštalovať potrebné závislosti.

Môžete to urobiť buď pripojením prostredníctvom VNC a kliknutím na tlačidlo v hornej časti, ktoré vyzerá ako príkazový riadok; alebo sa môžete pripojiť priamo z počítača Mac/PC pomocou Terminal a Putty, ako sme to urobili predtým. Ak ste menej zvyknutí pracovať s Raspberry Pi, potom je jednoduchšie vykonať prvý.

(Tip: Môžete skopírovať text z počítača Mac/PC a prilepiť ho na Raspberry Pi prostredníctvom VNC stlačením klávesu CONTROL-V, ale ak sa pokúšate vložiť do terminálu, musíte stlačiť kláves CONTROL-SHIFT-V)

Prvou úlohou je znova skontrolovať, či je váš softvér aktuálny, zadaním nasledujúcich dvoch príkazov. Sťahovanie a inštalácia môže chvíľu trvať.

sudo apt-get aktualizácia

sudo apt-get upgrade

Ďalej budete chcieť stiahnuť a nainštalovať node.js a NPM (príliš sa nestarajte o to, čo sú, sú užitočné a nevyhnutné pre naše ďalšie úlohy) zadaním nasledujúceho príkazu:

sudo apt-get install nodejs npm

Niekoľkokrát sa vás opýta, či s nimi zaberáte miesto na disku - stlačte kláves Y

Krok 13: Nainštalujte rozhranie SONOS HTTP API

Nainštalujte rozhranie SONOS HTTP API
Nainštalujte rozhranie SONOS HTTP API
Nainštalujte rozhranie SONOS HTTP API
Nainštalujte rozhranie SONOS HTTP API

Základom backendu pre náš projekt je balík node-sonos-http-api vytvorený spoločnosťou jishi. Všetko o tom si môžete prečítať tu:

Stiahneme to z githubu pomocou nasledujúceho príkazu zadaného do príkazového riadka:

klon git

a nainštalujeme ho pomocou nasledujúcich príkazov

cd uzol-sonos-http-api

npm install --production

Potom ho môžeme spustiť pomocou nasledujúceho príkazu:

npm začiatok

Akonáhle je to hotové, mali by sme otestovať, či to funguje.

Najprv otvorte internetový prehliadač na našom Raspberry Pi a prejdite na stránku https:// localhost: 5005/. Malo by sa otvoriť pekné rozhranie s logom Sonos a dokumentáciou o tom, ako API funguje.

Ďalej skontrolujeme, či to funguje zo širšej siete, a to pomocou prehliadača na inom počítači PC alebo Mac v tej istej sieti, prejdite na stránku https:// [theIPaddressofyourPi]: 5005/a zistite, či dosiahneme rovnaký výsledok. Mali by sme.

Teraz skutočne prinútime systém niečo urobiť. Použite prehliadač a prejdite na:

192.168.4.102:5005/Jedáleň/hracia pauza

Vyššie uvedenú adresu IP by ste mali nahradiť adresou vášho Raspberry Pi a „Jedálne“jedným z názvov vašich zón Sonos. Malo by buď prehrať alebo pozastaviť (v závislosti od toho, či hudba už hrá alebo nie) hudbu v danej miestnosti. Na to, aby to fungovalo, musí byť evidentne niečo vo fronte Sonos.

V budúcnosti budem ako príklad v tomto návode používať vyššie uvedenú IP adresu a jedáleň. Očividne by ste ich mali vždy nahradiť svojou IP adresou a názvom zóny.

Krok 14: Nechajte Sonos HTTP API bežať neustále

Nechajte rozhranie Sonos HTTP API bežať neustále
Nechajte rozhranie Sonos HTTP API bežať neustále

Je skvelé, že máme spustené rozhranie Sonos HTTP API, ale čo keď zlyhá? Alebo stratíte napájanie alebo potrebujete reštartovať počítač Raspberry Pi?

Účinok môžete vidieť zatvorením okna terminálu a opakovaním toho, čo sme práve vyskúšali. Nebude to fungovať, pretože HTTP API sa zastavilo spolu s oknom terminálu.

V skutočnosti chceme, aby to bežalo neustále a aby to bolo vždy od spustenia. Robíme to pomocou skvelej veci s názvom PM2.

V novom okne terminálu ho nainštalujte a spustite nasledovne:

sudo npm install -g pm2

stav pm2

Teraz poďme spustiť naše Sonos HTTP API:

cd uzol-sonos-http-api

pm2 start npm - start pm2 startup systemd

Tento posledný príkaz generuje niečo, čo vyzerá trochu takto:

sudo env PATH = $ PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp/home/pi

Skopírujte, čo generuje váš Pi (nie presný text vyššie - váš môže byť iný) a zadajte ho do príkazového riadka. Toto dáva systému pokyn, aby pri každom spustení spustil PM2.

Nakoniec zadajte:

pm2 uložiť

čo všetko zachráni.

Teraz vyskúšajte, či to fungovalo, reštartovaním vášho Raspberry Pi príkazom

sudo reštart

Našťastie sa po reštarte Pi spustí aj PM2 a následne API Sonos HTTP. Môžete to skontrolovať tak, že v prehliadači v tej istej sieti prejdete na adresu, ktorú sme používali predtým, a pozriete si logo Sonos a pokyny:

192.168.4.102:5005/

je to, čo je pre mňa, ale vaše bude závisieť od adresy IP.

Krok 15: Zahrajte si nejaký Spotify

Skontrolujme, či má služba prístup k Spotify.

Otvorte prehliadač a prejdite na nasledujúcu adresu (samozrejme nahradenú vašou IP adresou a názvom miestnosti):

192.168.4.102:5005/Dating Room/spotify/now/spotify/spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Mali by ste počuť nejakého Johna Granta. Užite si to.

Krok 16: Nájdite URI Spotify

Nájdite Spotify URI
Nájdite Spotify URI

Je to zvláštne, viem, ale nie každý má rád Johna Granta. Chcete si ešte vypočuť niečo iné?

Odkazy na Spotify môžete získať z počítačových, webových alebo mobilných aplikácií, ale počítač je zďaleka najľahší, pretože poskytuje URI presne v požadovanom formáte, takže s tým začnite.

V počítačovej aplikácii Spotify prejdite na album, ktorý chcete počúvať (možno Lemonade od Beyonce?)

Kliknite na tri malé bodky vedľa tlačidla srdca.

Prejdite v ponuke nadol na položku Zdieľať a vyberte položku Kopírovať URI Spotify

Toto bude kopírovať niečo podobné

spotify: album: 7dK54iZuOxXFarGhXwEXfF

do vašej schránky, ktorá je identifikátorom URI Spotify pre album Beyonce's Lemondade.

Znova zapnite prehliadač a prejdite na nasledujúcu adresu (samozrejme nahradením adresy IP a miestnosti a vložením identifikátora URI, ktorý ste práve skopírovali):

192.168.4.102:5005/Dating Room/spotify/now/[Spotify URI, ktoré chcete hrať]

Mali by ste počuť, ako si vyberiete.

Ak dávate prednosť používaniu webovej aplikácie, poskytne vám webový odkaz (niečo ako nižšie):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

aby to fungovalo, musíte to previesť do vyššie uvedeného formátu spotify: album: kód.

Krok 17: Poznámka k identifikátorom URI Spotify

URI Spotify a spôsob, akým komunikujú s uzlom-sonos-http-api, sú z väčšej časti intuitívne.

Môžete odkazovať priamo na albumy, skladby a zoznamy skladieb.

Identifikátor URI albumu vyzerá takto:

spotify: album: 6agCM9GJcebduMddgFmgsO

URI stopy vyzerá takto:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

Zoznamy skladieb fungujú trochu inak. Keď skopírujete URI zo Spotify, bude to vyzerať takto:

spotify: zoznam skladieb: 5huIma0YU4iusLcT2reVEU

Aby to však skutočne fungovalo na rozhraní API, musíte na začiatok vyššie pridať spotify: user: To platí dokonca aj pre verejné zoznamy skladieb, a áno, znamená to, že hovoríte dvakrát o spotify.

Aby bolo úplne jasné, používateľ nemusí byť meno konkrétneho používateľa, stačí mu textový používateľ. Správny URI pre vyššie uvedený zoznam skladieb, aby fungoval, by teda bol:

spotify: používateľ: spotify: zoznam skladieb: 5huIma0YU4iusLcT2reVEU

Krok 18: Nastavte Raspberry Pi na odosielanie požiadaviek

Nastavte Raspberry Pi na odosielanie žiadostí HTTP
Nastavte Raspberry Pi na odosielanie žiadostí HTTP

Namiesto toho, aby sme ručne zadávali požiadavky HTTP do webového prehliadača, chceme to zautomatizovať, aby to Raspberry Pi urobilo samo, keď sa mu zobrazí určitý podnet (spustí sa čítačka NFC).

Na to, aby to náš Raspberry Pi umožnil, použijeme knižnicu s názvom požiadavky. Skontrolujme, či je nainštalovaný.

Otvorte terminál na svojom Pi a zadajte nasledujúci príkaz:

sudo pip inštalovať požiadavky

Je pravdepodobné, že sa vráti a povie, že je už nainštalovaný, v takom prípade je to skvelé. Ak nie, nainštaluje sa.

Krok 19: Generovanie značiek NFCC s údajmi Spotify

Generujte značky NFCC s údajmi Spotify
Generujte značky NFCC s údajmi Spotify
Generujte značky NFCC s údajmi Spotify
Generujte značky NFCC s údajmi Spotify
Generujte značky NFCC s údajmi Spotify
Generujte značky NFCC s údajmi Spotify
Generujte značky NFCC s údajmi Spotify
Generujte značky NFCC s údajmi Spotify

Teraz chceme zapísať URI albumu Spotify do značky NFC. Každý z týchto tagov použijete na to, aby ste Raspberry Pi povedali, aby prehral konkrétny album.

Na značku NFC môžete písať pomocou telefónu s Androidom, ale pre mňa je najľahšie to urobiť prostredníctvom počítača Mac alebo PC, pretože potom môžete získať najľahšie získanie identifikátorov URI Spotify z počítačovej aplikácie Spotify.

Pripojte svoju čítačku USB NFC k počítaču alebo Mac. Používam ACR122U od spoločnosti American Card Systems.

Stiahnite si NFC Tools do svojho PC alebo Mac. Nainštalujte a otvorte ho.

Pripojenie k čítačke môže byť niekedy trochu spomalené a môže sa povedať, že čítačku vôbec nemôže nájsť. V nástrojoch NFC prejdite na kartu Iné a často klikajte na tlačidlo Pripojená čítačka NFC. Možno budete musieť čítačku niekoľkokrát odpojiť a znova zapojiť, kým ju nenájde.

Nakoniec vám to umožní vybrať si čítačku zo zoznamu a povedať, že je pripojená. Prejdite na kartu Informácie, ktorá nezobrazuje nič okrem položky „Čakanie na značku NFC“.

Vezmite prázdny štítok NFC. Položte ho na čítačku a nechajte ho tam. Nástroje NFC zobrazia informácie o značke.

Prejdite na kartu Zápis a kliknite na položku Pridať záznam> Text. (Dávajte pozor, aby ste nevybrali URL alebo URI - viem, že je to lákavé, pretože kopírujete URI, ale chcete text)

Uchopte URI zo Spotify pomocou metódy, ktorú sme použili predtým. Ak chcete ľahký príklad, potom je nasledujúci náš album Johna Granta z minulosti.

spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Kliknite na tlačidlo OK a potom na položku Napísať (nezabudnite na tento posledný krok - v skutočnosti ho nenapíše, kým naň nekliknete). Povie vám, že je značka úspešne zapísaná.

Odstráňte štítok z čítačky

Krok 20: Nastavte čítačku NFC na Raspberry Pi

Nastavte čítačku NFC na Raspberry Pi
Nastavte čítačku NFC na Raspberry Pi

Pripojte svoju čítačku NFC k jednému z portov USB na vašom Raspberry Pi.

Na komunikáciu s čítačkou NFC použijeme knižnicu nfcpy Python. Nainštalujte ho zadaním nasledujúceho príkazu do príkazového riadka Pi:

pip install -U nfcpy

Potom môžeme skontrolovať, či táto knižnica vidí našu čítačku NFC, zadaním nasledujúceho príkazu:

python -m nfc

Ak to fungovalo, uvidíte nasledujúce:

Toto je verzia 1.0.3 nfcpy spustená v Pythone 2.7.16 v systéme Linux-4.19.97-v7+-armv7l-with-debian-10.3

Teraz vo vašom systéme hľadám bezkontaktné zariadenia ** nájdené ACS ACR122U PN532v1.6 na usb: 001: 011 neskúšam sériové zariadenia, pretože ste mi to nepovedali-pridajte možnosť „--search-tty“aby som sa pozrel - ale dajte si pozor, že to môže narušiť ostatné sériové zariadenia

Existuje však veľká pravdepodobnosť, že sa zobrazí chybové hlásenie, že čítačka sa našla, ale váš používateľ (pi) nemá povolenie na prístup k nej. Ak sa vám zobrazí toto chybové hlásenie, potom vám to tiež vysvetlí, ako problém vyriešiť, pretože zadáte dva príkazy, ktoré vyzerajú trochu nasledovne:

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

Skopírujte a spustite oba príkazy, ktoré vám poskytnú (nie presne to, čo je uvedené vyššie, pretože váš môže byť iný), potom odpojte a znova zapojte čítačku NFC z portu USB.

Skúste znova skontrolovať príkaz:

python -m nfc

Tentoraz by malo byť povedané, že je nájdený bez chybových hlásení.

Krok 21: Nainštalujte si skripty Vinylemulator Python

Teraz máme k dispozícii všetky stavebné prvky:

  • Náš Raspberry Pi dokáže počúvať vstup NFC
  • Náš Raspberry Pi je schopný prikázať Sonosu, aby hral zoznamy skladieb Spotify, ak im je poskytnutý identifikátor URI Spotify
  • Máme značku NFC, na ktorej je uložený identifikátor URI Spotify

Teraz musíme všetky tieto stavebné bloky pretiahnuť do niečoho užitočného. To sa deje prostredníctvom krátkeho skriptu pythonu, ktorý som napísal (s veľkou pomocou predchádzajúcich projektov NFC/Spotify/Sonos), ktorý sa nazýva vinylemulator.

Zdrojový kód súborov si môžete pozrieť na github:

Aby sme to nainštalovali na náš Raspberry Pi, musíme ho klonovať z githubu nasledujúcim príkazom:

klon git

Krok 22: Prispôsobte si Vinylemulator

Prispôsobte Vinylemulator
Prispôsobte Vinylemulator
Prispôsobte Vinylemulator
Prispôsobte Vinylemulator

Otvorte správcu súborov Raspberry Pi a prejdite na plochu> pi> vinylemulator

Otvorte súbor usersettings.py

Jeden z riadkov v tomto súbore bude znieť:

sonosroom = "Jedáleň"

Zmeňte „Jedáleň“na názov miestnosti Sonos, ktorú chcete ovládať.

V tomto súbore je tiež nastavenie, ktoré vám umožňuje prispôsobiť IP adresu sonos-http-api. Mali by ste to nechať nezmenené ako „localhost“, čo znamená, že bude používať Raspberry Pi, na ktorom beží.

Uložte súbor a zatvorte ho.

Krok 23: Otestujte Vinylemulator

Test Vinylemulator
Test Vinylemulator
Test Vinylemulator
Test Vinylemulator

Prejdite na príkazový riadok Raspberry Pi.

Zadajte nasledujúci príkaz:

python vinylemulator/readnfc.py

Ak je všetko v poriadku, nahraje sa skript a oznámi sa, že čítačka je pripravená. Svetlo na čítačke by malo svietiť na zeleno.

Vložte značku NFC na čítačku, ktorá zapípa.

Terminál ukáže, čo prečítal zo značky NFC, a ukáže adresu HTTP požiadavky, ktorú odoslal. Váš vybraný album by sa mal prehrávať z reproduktorov Sonos.

Tento skript bude fungovať, kým nezavriete okno terminálu. Môžete klepnúť na rôzne značky NFC albumu a prepne sa na daný album.

Krok 24: Nechajte Vinylemulator bežať neustále a pri spustení

Rovnako ako sonos-http-api chceme, aby vinylemulator bežal stále, nielen vtedy, keď ho nazveme. Na to môžeme znova použiť pm2.

Najprv zatvorte všetky spustené inštancie vinylemulátora zatvorením okien terminálov.

Potom otvorte nové okno terminálu a zadajte nasledujúce dva príkazy:

pm2 spustite vinylemulator/readnfc.py

pm2 uložiť

Skontrolujte, či to fungovalo, reštartovaním Raspberry Pi. (Môžete buď napísať sudo reboot, alebo to urobiť z ponuky Raspberry pomocou myši.

Klepnutím na značku NFC na čítačke počkajte, kým sa Pi znova spustí, a uvidíte, že funguje. Mali by ste dostať hudbu.

Krok 25: Blahoželáme si

Teraz je všetko funkčné. Raspberry Pi môžete premiestniť kdekoľvek, kam ho plánujete umiestniť. Kedykoľvek ho zapojíte, reštartuje sa a bude fungovať tak, ako ste ho nastavili.

Vaše ďalšie úlohy sú zábavné: urobiť to všetko krásnym.

Krok 26: Urobte to krásnym - skryte si čítačku

Nech je to krásne - skryte si čítačku
Nech je to krásne - skryte si čítačku
Nech je to krásne - skryte si čítačku
Nech je to krásne - skryte si čítačku
Nech je to krásne - skryte si čítačku
Nech je to krásne - skryte si čítačku
Nech je to krásne - skryte si čítačku
Nech je to krásne - skryte si čítačku

Prvá časť jej skrášľovania skrýva škaredú bielu plastovú čítačku NFC niekde.

Vybral som si rozhodne nízko technologickú možnosť, ako ho prilepiť na spodnú stranu pultu vedľa hry Sonos Play: 5. Drevo pultu je dostatočne tenké na to, aby ním prešiel NFC, a tak prehrávam hudbu poklepaním na značku NFC na magickom a neviditeľnom mieste.

Odporúča: