Tartalomjegyzék:

Sonos Spotify Vinyl Emulator: 26 lépés
Sonos Spotify Vinyl Emulator: 26 lépés

Videó: Sonos Spotify Vinyl Emulator: 26 lépés

Videó: Sonos Spotify Vinyl Emulator: 26 lépés
Videó: LOOK OUT! 👀 Sonos’ AMP is FAR BETTER than you think it is 2024, Július
Anonim
Image
Image
Sonos Spotify vinil emulátor
Sonos Spotify vinil emulátor

Kérjük, vegye figyelembe, hogy ez nem a projekt legújabb utasítása:

Kérjük, látogasson el a https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d oldalra a legújabb utasításokért és támogatásért

Nagyszerű zenét hallgatni vinyl lemezről. Ez fizikai és tapintható. Egy egész albumot hallgat, nem pedig véletlenszerű számokat. Észreveszed, ha vége, és tudatosan mást választasz. Gyűjteményt építhet és böngészhet, ahelyett, hogy pontosan azt kellene keresnie, amit szeretne.

Ez is drága és terjedelmes, különösen, ha figyelembe vesszük, hogy a vinylre költött pénz nagy valószínűséggel olyan zene másolata, amelyhez már hozzáfér az előfizetett streaming szolgáltatáson keresztül.

Ez a projekt megpróbálja megismételni a vinil tapinthatóságát és gyűjteményépítő aspektusait, miközben a Spotify-ra támaszkodik a zene tényleges átadására. Ha egy fizikai objektumot egy Raspberry Pi -hez csatlakoztatott NFC -olvasón helyez el (mindkettő elrejthető), akkor elkezdődik a címkéhez társított album lejátszása.

Végigvezetem az összes lépést - a Raspberry Pi beállításától az NFC -címkék kódolásáig. Ez a legelső Raspberry Pi projektem és az első Python -kódom, ezért mindkettőt megtanítottam ennek fejlesztése közben. Mint ilyen, ezek az utasítások szó szerint feltételezik a korábbi ismereteket, és minden lépésről beszélnek.

Az építéshez szükséges alapvető alkatrészek teljes költsége körülbelül 50-60 font.

Szeretném látni, mit építesz!

1. lépés: Szükséges kellékek 1: Raspberry Pi

A hálózatot, a Sonos -t és a Spotify -t illesztő hátsó részt Raspberry Pi fogja futtatni. Valójában nagyon kevés kell ehhez.

Alapvető:

Raspberry Pi: Raspberry Pi 3 B+ modellt használtam, de Raspberry Pi 3 A+ modellel is működik (23 font)

USB tápegység: Volt egy fekvőhelyem - van hivatalos, ha nem (9 £)

Micro SD kártya: kaptam egy 32 GB -os kártyát, ami bőven elegendő ehhez az alkalmazáshoz az Amazon -on (6 font)

Néhány Sonos berendezés a hálózatán fut (feltételezem, hogy már rendelkezik ilyennel, ha itt van …)

Spotify Premium fiók

Ajánlott:

A Pi eset: sok lehetőség van, 5 fonttól kezdődően

Egy üveg tisztességes kaliforniai Zinfandel: Ajánlom a Ridge -et, de mások is kaphatók

2. lépés: Szükséges kellékek 2: NFC olvasó

Szükséges kellékek 2: NFC olvasó
Szükséges kellékek 2: NFC olvasó
Szükséges kellékek 2: NFC olvasó
Szükséges kellékek 2: NFC olvasó

Ez az utasítás egy ACR122U NFC olvasóhoz készült, amely USB -n keresztül csatlakozik.

ACR122U

Ezt az Amazon -tól vettem 38 fontért (főleg azért, mert elsődleges szállítással rendelkezett), de vannak olcsóbb lehetőségek ugyanazon olvasó megvásárlására.

Zavarba ejtő, hogy az ACR122U-t egy csomó különböző márkanév alatt árulják (az enyém a messze nem megnyugtató "Yosoo" márkanév alatt volt), de abból, amit elárulok, mindegyik ugyanaz, és az American Card Systems gyártotta őket.

A legolcsóbb, amit a meghirdetett ACR122U -n találtam, £ 21, beleértve a szállítást, de ez közvetlenül Kínából érkezik, ezért lehet, hogy várnia kell egy kicsit.

Egyéb opciók

Ez a projekt az nfcpy nevű python könyvtárra épül, amely a támogatott eszközök listáját vezeti itt:

Elméletileg ennek a projektnek együtt kell működnie a listán szereplőkkel, kevés integrációval.

Az egyik csábító lehetőség az Adafruit PN532, amely egy tábla, amelyet közvetlenül a Raspberry Pi -hez kell csatlakoztatni jumper kábelek segítségével. Kipróbáltam, és igazi szarnak találtam. Például forrasztást igényel.

Ennek egyik előnye felületesen, hogy kisebb, de valójában a tábla nagyjából akkora, mint az ACR122U belseje. Ha igazán igényli az alkalmazást, akkor lehúzhatja a műanyagot az ACR122U -ról, és csak használhatja a táblát.

3. lépés: Szükséges kellékek 3: NFC -címkék

Szükséges kellékek 3: NFC címkék
Szükséges kellékek 3: NFC címkék

Minden létrehozni kívánt albumhoz szüksége lesz egy NFC -címkére, amely megfelel az NTAG213 szabványnak.

Sok helyen lehet ezeket vásárolni.

Az első tételt az Amazon -tól vettem, ahol 10 fontot kaptam 9 fontért (beleértve a Prime szállítást)

Az Egyesült Királyságban a legjobban kínált termék a Seritag - a stílusok széles választéka, nagyszerű tanácsok vannak a weboldalukon, pontosan tudja, mit kap (nem mindig igaz az Amazon -on). Nincs minimális rendelési méretük és rengeteg lehetőségük. A címkék címkénként 27p -vel kezdődnek

Lépés: Töltse le a Raspberry Pi operációs rendszert SD -kártyára

Töltse le a Raspberry Pi operációs rendszert SD kártyára
Töltse le a Raspberry Pi operációs rendszert SD kártyára
Töltse le a Raspberry Pi operációs rendszert SD kártyára
Töltse le a Raspberry Pi operációs rendszert SD kártyára

Töltse le és futtassa a Raspberry PI képalkotó alkalmazást számítógépén vagy Mac számítógépén.

Helyezze be azt az SD -kártyát, amelyre a Raspberry Pi operációs rendszert telepíteni szeretné.

Kattintson az OS VÁLASZTÁS gombra, és válassza ki az alapértelmezett Rasbian -t.

Kattintson az SD -KÁRTYA VÁLASZTÁSA elemre, és válassza ki a csatlakoztatott SD -kártyát.

Kattintson az ÍRÁS gombra. Ez eltarthat egy ideig.

Miután elkészült, azt fogja mondani, hogy távolítsa el az SD -kártyát, amit meg kell tennie. De utána csatlakoztassa vissza, mert először néhány takarítási pontot kell elvégeznie.

5. lépés: Engedélyezze az SSH -t a Raspberry Pi OS képen

Engedélyezze az SSH -t a Raspberry Pi OS képen
Engedélyezze az SSH -t a Raspberry Pi OS képen

Miután az operációs rendszert az SD -kártyára írta, néhány további feladatot kell elvégeznie.

A Raspberry Pi -t billentyűzet vagy monitor csatlakoztatása nélkül szeretnénk elérni (más néven "fejetlen"), amit helyi hálózatunkon keresztül tehetünk meg PC vagy Mac segítségével, SSH nevű protokollon keresztül. Biztonsági okokból azonban az SSH alapértelmezés szerint le van tiltva. Engedélyeznünk kell.

Ezt megtehetjük egy üres fájl létrehozásával:

ssh

az imént létrehozott SD -kártyán. Fontos, hogy ennek ne legyen semmilyen kiterjesztése (pl. Txt). A fájlnak nem kell tartalmaznia semmilyen tartalmat - csak a létezése engedélyezi az SSH -t, amikor a Pi elindul.

6. lépés: Választható: Állítsa be a Wifi -t a Raspberry Pi -n

Opcionális: Állítsa be a Wifi -t a Raspberry Pi készüléken
Opcionális: Állítsa be a Wifi -t a Raspberry Pi készüléken
Opcionális: Állítsa be a Wifi -t a Raspberry Pi készüléken
Opcionális: Állítsa be a Wifi -t a Raspberry Pi készüléken

Ezt a lépést kihagyhatja, ha azt tervezi, hogy a Raspberry Pi -t Ethernet -hez csatlakoztatja az útválasztóhoz. (Bár érdemes alaposan átgondolni ezt a döntést - ha a wifi -n keresztül fut, sokkal könnyebbé teszi az életet ennek elhelyezése szempontjából)

Hozzon létre egy egyszerű szöveges fájlt wpa_supplicant.conf néven az SD -kártya gyökérkönyvtárában.

Illessze be az alábbi szöveget a fájlba:

ország = GB

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

Változtassa meg az országot (GB az Egyesült Királyság, USA az USA, DE Németország stb.)

Változtassa meg a wifi hitelesítési adatait, hogy azok legyenek a wifi útválasztó tényleges adatai.

Mentse a fájlt.

Biztonságosan vegye ki az SD -kártyát.

7. lépés: Kapcsolja be a Raspberry Pi -t

Kapcsolja be a Raspberry Pi -t
Kapcsolja be a Raspberry Pi -t

Helyezze a most létrehozott SD -kártyát a Raspberry Pi -be.

Csatlakoztassa a Raspberry Pi -t az áramellátáshoz az USB -kábelen keresztül. Várjon egy percet, amíg elindul.

Lépés: Keresse meg a Raspberry Pi IP -címét

Most meg kell találnia a Raspberry Pi IP -címét, hogy csatlakozhasson hozzá. Ezt kétféleképpen teheti meg:

  • az útválasztó beállítási oldalán keresztül - ha olyan modern útválasztója van, mint az eero, akkor ez rendkívül egyszerű;
  • vagy az iOS és az Android számára elérhető "fing" nevű okostelefon -alkalmazáson keresztül - töltse le, csatlakozzon az útválasztóhoz és keresse meg az eszközöket - az egyiket "Raspberry" -nek kell nevezni - ez lesz a szükséges IP -cím.

9. lépés: Csatlakozás a Raspberry Pi parancssorhoz

Csatlakozzon a Raspberry Pi parancssorához
Csatlakozzon a Raspberry Pi parancssorához

Nyissa meg a Terminált a Mac számítógépén (vagy ha Windows operációs rendszert használ, töltse le és használja a Putty alkalmazást).

Írja be a következő parancsot:

ssh pi@[a Pi IP -címed]

Fogadja el a kapott biztonsági figyelmeztetéseket. A rendszer kéri az alapértelmezett pi felhasználó jelszavát

málna

10. lépés: Állítsa be a Raspberry Pi OS grafikus felhasználói felületét

Állítsa be a Raspberry Pi OS grafikus felhasználói felületét
Állítsa be a Raspberry Pi OS grafikus felhasználói felületét
Állítsa be a Raspberry Pi OS grafikus felhasználói felületét
Állítsa be a Raspberry Pi OS grafikus felhasználói felületét

Mostantól csatlakozik a Pi -hez a parancssoron keresztül, ami nagyszerű, de azt is be szeretné állítani, hogy hozzáférhessen a grafikus felhasználói felülethez, amelyet VNC -n (Virtual Network Computing) keresztül fogunk elérni. Előreláthatólag ezt is engedélyeznünk kell.

Először ellenőrizze, hogy a Pi szoftver naprakész -e, írja be a következő két parancsot (mindegyik után az enter) a parancssorba:

sudo apt frissítés

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

Ezután nyissa meg a Raspberry Pi beállítások menüjét a következő lépésekkel:

sudo raspi-config

Lépjen az Interfészbeállítások> VNC> Igen lehetőségre.

Lépjen ki a konfigurációs alkalmazásból az Esc billentyű megnyomásával, és indítsa újra a Pi -t a parancssorból a következő beírásával:

sudo újraindítás

11. lépés: Csatlakozás a Raspberry Pi grafikus felhasználói felületéhez és beállítása

Csatlakozzon a Raspberry Pi grafikus felhasználói felületéhez és állítsa be
Csatlakozzon a Raspberry Pi grafikus felhasználói felületéhez és állítsa be
Csatlakozzon a Raspberry Pi grafikus felhasználói felületéhez és állítsa be
Csatlakozzon a Raspberry Pi grafikus felhasználói felületéhez és állítsa be

Töltse le és nyissa meg a VNC Viewer alkalmazást.

Írja be a Raspberry Pi IP -címét, és nyomja meg a connect gombot. A rendszer a következő felhasználónevet és jelszót kéri:

Felhasználónév = pi

Jelszó = málna

Ez indítja el a GUI -t.

A rendszer kéri, hogy erősítse meg földrajzi elhelyezkedését és billentyűzetkiosztását.

Ekkor a rendszer jelszó megváltoztatását kéri (jó ötlet).

Meg fogja kérni, hogy állítsa be a wifi adatait, de ezt kihagyhatja, mivel már működnek. (Bár ha etherneten fut, és meggondolja magát, most itt a lehetőség … de vegye figyelembe, hogy az IP -címe megváltozhat)

Ezután ellenőrzi, letölti és telepíti a frissítéseket (eltarthat egy ideig).

A beállítási varázsló után javaslom a képernyőfelbontás megváltoztatását, mivel az alapértelmezett érték kicsi. Ehhez kattintson a bal felső sarokban található Málna> Beállítások> Raspberry Pi konfiguráció> Kijelző> Felbontás beállítására

Ismét újra kell indítania a Pi -t, hogy ez érvényesüljön.

12. lépés: A Node.js és az NPM telepítése

Telepítse a Node.js -t és az NPM -et
Telepítse a Node.js -t és az NPM -et

Ezután be kell töltenie a Raspberry Pi parancssort a szükséges függőségek telepítéséhez.

Ezt úgy is megteheti, hogy a VNC -n keresztül csatlakozik, és rákattint a felső sorban lévő, parancssornak látszó gombra; vagy közvetlenül a Mac/PC -ről csatlakozhat a Terminál és a Putty használatával, mint korábban. Ha kevésbé szokott dolgozni a Raspberry Pi -vel, akkor könnyebb megtenni az előbbit.

(Tipp: Másolhat szöveget a Mac/PC-ről, és beillesztheti a Raspberry Pi-be a VNC-n keresztül a CONTROL-V megnyomásával, de ha a terminálba próbál beilleszteni, akkor nyomja meg a CONTROL-SHIFT-V gombot.)

Az első feladat az, hogy újra ellenőrizze, hogy a szoftver naprakész -e, írja be a következő két parancsot. A letöltés és a telepítés eltarthat egy ideig.

sudo apt-get update

sudo apt-get upgrade

Ezután le kell töltenie és telepítenie a node.js -t és az NPM -et (ne aggódjon túl sokat azok miatt, mert hasznosak és szükségesek a következő feladatainkhoz) a következő beírásával:

sudo apt-get install nodejs npm

Néhányszor megkérdezi, hogy szívesen foglal -e lemezterületet ezekkel - ezért nyomja meg az Y billentyűt

13. lépés: Telepítse a SONOS HTTP API -t

Telepítse a SONOS HTTP API -t
Telepítse a SONOS HTTP API -t
Telepítse a SONOS HTTP API -t
Telepítse a SONOS HTTP API -t

A projektünk hátlapjának alapja a jishi által létrehozott node-sonos-http-api csomag. Itt mindent elolvashat:

Ezt a githubból töltjük le a következő paranccsal beírt paranccsal:

git klón

és a következő parancsokkal telepítjük

cd node-sonos-http-api

npm telepítés -termelés

Ezt követően a következő paranccsal futtathatjuk:

npm kezdés

Ha ez megtörtént, tesztelnünk kell, hogy működik -e.

Először nyissa meg az internetes böngészőt a Raspberry Pi -n, és keresse meg a https:// localhost: 5005/oldalt. Egy szép felületnek kell megnyílnia a Sonos logóval és néhány dokumentációval az API működéséről.

Ezután ellenőrizze, hogy ez a tágabb hálózatról működik -e, ha ugyanazon a hálózaton lévő másik PC vagy Mac böngészőjét használja, és navigál a https:// [theIPaddressofyourPi]: 5005/címre, és megnézzük, hogy ugyanazt az eredményt kapjuk -e. Nekünk kellene.

Most valójában arra késztetjük a rendszert, hogy tegyen valamit. Használja a böngészőt, és keresse meg a következőt:

192.168.4.102:5005/Étkező/playpause

A fenti IP -címet le kell cserélnie a Raspberry Pi és az "Étkező" címére a Sonos zónák egyikével. Le kell játszania vagy szüneteltetnie kell (attól függően, hogy a zene már játszódik -e vagy sem) a szobában lévő zenét. Nyilvánvalóan valami kell a Sonos -sorba, hogy ez működjön.

A továbbiakban a fenti IP -címet és az Étkezőt használom példaként az oktatóanyagban. Nyilvánvaló, hogy minden alkalommal le kell cserélnie őket az IP -címére és a zóna nevére.

14. lépés: Futtassa a Sonos HTTP API -t folyamatosan

Futtassa a Sonos HTTP API -t folyamatosan
Futtassa a Sonos HTTP API -t folyamatosan

Nagyszerű, hogy a Sonos HTTP API fut, de mi van, ha összeomlik? Vagy elveszíti az energiát, vagy újra kell indítania a Raspberry Pi -t?

Láthatja a hatást, ha bezárja a terminál ablakát, és újrapróbálja, amit most próbáltunk. Ez nem fog működni, mert a HTTP API leállt a terminál ablakával együtt.

Valójában azt akarjuk, hogy ez folyamatosan működjön, és ezt minden indításkor tesszük. Ezt egy PM2 nevű klassz dologgal tesszük.

Egy friss terminál ablakban telepítse és futtassa az alábbiak szerint:

sudo npm install -g pm2

pm2 állapot

Most kezdjük el a Sonos HTTP API futtatását:

cd node-sonos-http-api

pm2 start npm - start pm2 startup systemd

Ez az utolsó parancs generál valamit, ami egy kicsit így néz ki:

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

Másolja le, amit a Pi generál (nem a fenti pontos szöveget - a tiéd más lehet), és írja be a parancssorba. Ez arra utasítja a rendszert, hogy minden alkalommal indítsa el a PM2 -t rendszerindításkor.

Végül írja be:

pm2 mentés

ami mindent kímél.

Most tesztelje, hogy ez működött -e a Raspberry Pi újraindításával a paranccsal

sudo újraindítás

Remélhetőleg, amint a Pi újraindul, elindítja a PM2 -t és a Sonos HTTP API -t. Ezt úgy ellenőrizheti, hogy ugyanazon a hálózaton lévő böngésző segítségével navigál a korábban használt címre, és megtekintheti a Sonos logót és utasításokat:

192.168.4.102:5005/

nekem való, de a tied az IP -címen múlik.

15. lépés: Játsszon néhány Spotify -t

Ellenőrizzük, hogy a szolgáltatás hozzáférhet -e a Spotify szolgáltatáshoz.

Nyisson meg egy böngészőt, és navigáljon a következő címre (nyilvánvalóan az IP -címével és a szoba nevével helyettesítve):

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

John Grant -t kellene hallanod. Élvezd.

16. lépés: Keresse meg a Spotify URI -kat

Keresse meg a Spotify URI -kat
Keresse meg a Spotify URI -kat

Furcsa, tudom, de nem mindenkinek tetszik John Grant. Esetleg szeretne még valamit hallgatni?

A Spotify linkeket az asztali, webes vagy mobilalkalmazásokból szerezheti be, de az Asztal messze a legegyszerűbb, mivel pontosan az Ön által kívánt formátumban biztosítja az URI -t, ezért kezdje el ezzel.

A Spotify asztali alkalmazásban navigáljon a hallgatni kívánt albumhoz (talán Beyonce limonádéja?)

Kattintson a szívgomb melletti három kis pontra.

Menjen le a menüből a Megosztás lehetőségre, és válassza a Spotify URI másolása lehetőséget

Ez másol valamit

spotify: album: 7dK54iZuOxXFarGhXwEXfF

a vágólapra, amely Beyonce Lemondade albumának Spotify URI -ja.

Indítsa újra a böngészőt, és navigáljon a következő címre (nyilvánvalóan lecseréli az IP -címet és a szobát, és beilleszti az imént másolt URI -ba):

192.168.4.102:5005/Dining Room/spotify/now/[A lejátszani kívánt Spotify URI]

Hallani kell a választott játékot.

Ha inkább a webalkalmazást használja, akkor egy webes linket ad (valami hasonló az alábbiakhoz):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

ezt át kell alakítanod a spotify: album: code formátumra, hogy működjön.

17. lépés: Megjegyzés a Spotify URI -khoz

A Spotify URI-k és azok kapcsolódási módja a csomópont-sonos-http-api-val többnyire intuitívak.

Közvetlenül hivatkozhat albumokra, számokra és lejátszási listákra.

Egy album URI így néz ki:

spotify: album: 6agCM9GJcebduMddgFmgsO

A sáv URI így néz ki:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

A lejátszási listák kicsit másképp működnek. Amikor az URI -t a Spotify -ból másolja, az valahogy így fog kinézni:

spotify: lejátszási lista: 5huIma0YU4iusLcT2reVEU

Ahhoz azonban, hogy valóban működjön az API -n, hozzá kell adnia a spotify: user: -et a fentiekhez. Ez még a nyilvános lejátszási listákra is vonatkozik, és igen, ez azt jelenti, hogy kétszer azt mondja, hogy spotify.

Annak érdekében, hogy egyértelmű legyen, a felhasználónak nem kell egy adott felhasználó nevét megadnia, csak a szöveges felhasználónak kell lennie. Tehát a fenti lejátszási lista működéséhez a megfelelő URI a következő lenne:

spotify: felhasználó: spotify: lejátszási lista: 5huIma0YU4iusLcT2reVEU

18. lépés: A Raspberry Pi beállítása HTTP -kérések küldésére

Állítsa be a Raspberry Pi -t HTTP -kérések küldésére
Állítsa be a Raspberry Pi -t HTTP -kérések küldésére

Ahelyett, hogy kézzel gépelnénk be a HTTP -kéréseket egy webböngészőbe, azt szeretnénk automatizálni, hogy a Raspberry Pi maga is ezt tegye, ha bizonyos ingereket mutat (amikor az NFC -olvasó aktiválódik).

A kérések nevű könyvtárat fogjuk használni a Raspberry Pi számára, hogy ezt megtehesse. Ellenőrizzük, hogy telepítve van -e.

Nyissa meg a terminált a Pi -n, és írja be a következőt:

sudo pip telepítési kérések

Valószínűleg visszatér, és azt mondja, hogy már telepítve van, ebben az esetben nagyszerű. Ha nem, akkor telepíti.

19. lépés: NFCC -címkék létrehozása Spotify -adatokkal

NFCC -címkék létrehozása Spotify adatokkal
NFCC -címkék létrehozása Spotify adatokkal
NFCC -címkék létrehozása Spotify -adatokkal
NFCC -címkék létrehozása Spotify -adatokkal
NFCC -címkék létrehozása Spotify adatokkal
NFCC -címkék létrehozása Spotify adatokkal
NFCC -címkék létrehozása Spotify -adatokkal
NFCC -címkék létrehozása Spotify -adatokkal

Most egy Spotify album URI -t szeretnénk írni egy NFC -címkére. E címkék mindegyike az, amellyel azt fogja mondani a Raspberry Pi -nek, hogy játsszon le egy adott albumot.

Írhat egy NFC -címkére Android -telefon használatával, de azt hiszem, a legegyszerűbb ezt Mac vagy PC -n keresztül megtenni, mivel akkor a legegyszerűbb a Spotify URI -k beszerzése a Spotify asztali alkalmazásból.

Csatlakoztassa az USB NFC olvasót a számítógépéhez vagy a Mac számítógépéhez. Az American Card Systems ACR122U -ját használom.

Töltse le az NFC -eszközöket számítógépére vagy Mac -jére. Telepítse és nyissa meg.

Néha kissé lassú lehet az olvasóhoz való kapcsolódás, és azt mondhatjuk, hogy egyáltalán nem találja meg az olvasót. Lépjen az NFC eszközök Egyéb lapjára, és kattintson gyakran a Connected NFC Reader gombra. Előfordulhat, hogy néhányszor ki kell húznia és újra kell csatlakoztatnia az olvasót, mielőtt megtalálja.

Végül lehetőséget ad arra, hogy kiválassza az olvasóját a listából, és azt mondja, hogy kapcsolódik. Lépjen az Információ fülre, amely nem jelenít meg semmit, kivéve a "Várakozás az NFC -címkére" lehetőséget.

Vegyünk egy üres NFC -címkét. Tegye rá az olvasóra, és hagyja ott. Az NFC Tools megjeleníti a címkére vonatkozó információkat.

Lépjen az Írás fülre, és kattintson a Rekord hozzáadása> Szöveg elemre. (Vigyázzon, ne válassza az URL -t vagy az URI -t - tudom, hogy csábító, mert URI -t másol, de szöveget szeretne)

Szerezzen be egy URI -t a Spotify -ból a korábban használt módszerrel. Ha könnyű példát szeretne, akkor a következő John Grant albumunk a korábbi.

spotify: album: 2dfTV7CktUEBkZCHiB7VQB

Kattintson az OK gombra, majd az Írás gombra (ne felejtse el ezt az utolsó lépést - valójában nem írja meg, amíg erre nem kattint). Azt fogja mondani, hogy sikeresen megírta a címkét.

Vegye le a címkét az olvasóról

20. lépés: Állítsa be az NFC olvasót a Raspberry Pi -n

Állítsa be az NFC olvasót a Raspberry Pi -n
Állítsa be az NFC olvasót a Raspberry Pi -n

Csatlakoztassa az NFC olvasót a Raspberry Pi egyik USB -portjához.

Az nfcpy Python könyvtárat fogjuk használni az NFC olvasóval való kommunikációhoz. Telepítse úgy, hogy a Pi parancssorába írja be a következőt:

pip install -U nfcpy

Ezután ellenőrizhetjük, hogy ez a könyvtár látja -e az NFC olvasónkat, ha beírjuk a következőt:

python -m nfc

Ha működött, akkor a következőket fogja látni:

Ez az nfcpy 1.0.3 verziója a Python 2.7.16 verziójában Linux-4.19.97-v7+-armv7l-with-debian-10.3 verzióval

Most az Ön érintésmentes eszközeit keresem a rendszerében. ** ACS ACR122U PN532v1.6 az usb-n: 001: 011 Nem próbálkozom soros eszközökkel, mert nem mondta el-adja hozzá a '--search-tty' opciót hogy megnézzem - de vigyázzon, hogy ez megtörhet más soros fejlesztőket

Jó esély van azonban arra, hogy hibaüzenetet kap, miszerint az olvasót megtalálták, de a felhasználója (pi) nem rendelkezik hozzáférési engedéllyel. Ha ezt a hibaüzenetet kapja, akkor azt is elmagyarázza, hogyan lehet kijavítani a problémát, azaz két parancs beírásával, amelyek kicsit hasonlítanak a következőkre:

sudo sh -c 'echo ALRENDSZER == / "usb", ACTION == / "add \", ATTRS {idVendor} == / "04e6 \", ATTRS {idProduct} == / "5591 \", GROUP = / "plugdev \" >> /etc/udev/rules.d/nfcdev.rules '

sudo udevadm vezérlés -R

Másolja le és hajtsa végre mindkét parancsot (nem pontosan a fentieket, mivel a tiéd eltérhet), majd húzza ki és csatlakoztassa vissza az NFC -olvasót az USB -portból.

Próbálja újra a check parancsot:

python -m nfc

Ezúttal azt kell mondania, hogy hibaüzenetek nélkül megtalálta.

21. lépés: Telepítse a Vinylemulator Python parancsfájlokat

Most már minden építőelem a helyünkön van:

  • A Raspberry Pi képes hallgatni az NFC bemenetet
  • A Raspberry Pi képes megmondani a Sonosnak, hogy játssza le a Spotify lejátszási listákat, ha Spotify URI -t kap
  • Van egy NFC címkénk, amelyen Spotify URI tárolódik

Most ezeket az építőelemeket valami hasznos dologra kell összpontosítanunk. Ez egy rövid python -szkripttel történik, amelyet én írtam (sok korábbi NFC/Spotify/Sonos projekt segítségével), amelyet vinylemulatornak hívnak.

A fájlok forráskódját a github oldalon tekintheti meg:

A Raspberry Pi -re való telepítéshez klónoznunk kell a githubból a következő paranccsal:

git klón

22. lépés: A Vinylemulator testreszabása

Vinylemulator személyre szabása
Vinylemulator személyre szabása
Vinylemulator személyre szabása
Vinylemulator személyre szabása

Nyissa meg a Raspberry Pi fájlkezelőt, és navigáljon a főoldalra> pi> vinylemulator

Nyissa meg a usersettings.py fájlt

A fájl egyik sora így szól:

sonosroom = "Étkező"

Változtassa meg az "Étkező" beállítást a kívánt Sonos szoba nevére.

Ebben a fájlban van egy beállítás is, amely lehetővé teszi a sonos-http-api IP-címének testreszabását. Ezt változatlanul "localhost" -ként kell hagynia, ami csak azt jelenti, hogy a Raspberry Pi -t fogja használni.

Mentse el a fájlt, és zárja be.

23. lépés: Vinylemulator tesztelése

Vinylemulator teszt
Vinylemulator teszt
Vinylemulator teszt
Vinylemulator teszt

Lépjen a Raspberry Pi parancssorába.

Írja be a következő parancsot:

python vinylemulator/readnfc.py

Ha minden rendben van, akkor betölti a szkriptet, és azt mondja, hogy az olvasó készen áll. Az olvasó jelzőfényének zölden kell világítania.

Tegye az NFC címkét az olvasóra, amely sípolni fog.

A terminál megmutatja, hogy mit olvasott ki az NFC -címkéből, és megmutatja az elküldött HTTP -kérési címet. A választott albumot a Sonos hangszóróiról kell lejátszani.

Ez a szkript addig fut, amíg be nem zárja a terminál ablakát. Koppinthat a különböző albumok NFC -címkéire, és az adott albumra vált.

24. lépés: Indítsa el a Vinylemulator -t, hogy folyamatosan és indításkor fusson

Csakúgy, mint a sonos-http-api, azt akarjuk, hogy a vinylemulator folyamatosan fusson, és ne csak akkor, amikor hívjuk. Ezt a pm2 segítségével újra megtehetjük.

Először zárja be a futó vinylemulator eseteket a terminálablakok bezárásával.

Ezután nyisson meg egy új terminál ablakot, és írja be a következő két parancsot:

pm2 indítsa el a vinylemulator/readnfc.py fájlt

pm2 mentés

Ellenőrizzük, hogy ez működött -e a Raspberry Pi újraindításával. (Beírhatja a sudo reboot parancsot, vagy megteheti a Málna menüből az egérrel.

Várja meg, amíg a Pi újra elindul, és nézze meg, hogy működik -e, ha megérinti az NFC -címkét az olvasón. Muszáj zenét szerezned.

25. lépés: Gratuláljon önmagának

Most már minden működőképes. A Raspberry Pi -t bárhová áthelyezheti, ahová tervezi. Minden alkalommal, amikor csatlakoztatja, újraindul és a beállított módon fog működni.

A következő feladatok a szórakoztatóak: mindezt gyönyörűvé kell tenni.

26. lépés: Szépítse meg - rejtse el olvasóját

Tedd szépsé - rejtsd el olvasódat
Tedd szépsé - rejtsd el olvasódat
Tedd széppé - rejtsd el olvasódat
Tedd széppé - rejtsd el olvasódat
Tedd szépsé - rejtsd el olvasódat
Tedd szépsé - rejtsd el olvasódat
Tedd szépsé - rejtsd el olvasódat
Tedd szépsé - rejtsd el olvasódat

A szépítés első része az, hogy valahol elrejti a csúnya fehér műanyag NFC olvasót.

Kifejezetten alacsony technológiai lehetőséget választottam, hogy a Sonos Play melletti pult alsó oldalára ragasztom: 5. A pult fája elég vékony ahhoz, hogy az NFC át tudjon menni, ezért úgy zenélek, hogy megérintek egy NFC -címkét egy varázslatos és láthatatlan helyen.

Ajánlott: