RFID Jukebox: 3 Hakbang (na may Mga Larawan)
RFID Jukebox: 3 Hakbang (na may Mga Larawan)
Anonim
Image
Image
RFID Jukebox
RFID Jukebox

Ito ang aking pagpasok sa paligsahan na "Audio" - kung interesado ka dito gawin mo akong iboto

Susubukan ng post na ito na lumikha ng isang "scroll friendly" na bersyon ng how-to na video na kasama sa tuktok ng post na ito

Naging detalyado ang video tungkol sa daloy ng kontrol at aling software ang ginagamit ko. Tingnan ito kung nais mong matuto nang higit pa.

Ang daloy ay ang mga sumusunod:

Karaniwang Operasyon - Mga Card sa Pagbasa at Pag-trigger ng Spotify upang Mag-play ng Mga Kanta:

1) Ang RFID tag ay binabasa ng isang katugmang card reader

2) Ang card reader ay dumura ng serial data para sa bawat card sa isang Arduino

3) Arduino "Serial prints" ang data na natatanggap nito sa isang raspberry pi

4) Nakatanggap si Pi ng card ID mula sa Arduino. Tinitingnan ni Pi ang card ID sa isang talahanayan upang hanapin ang kaukulang Spotify URI

5) Tinatawag ni Pi ang Spotify API upang i-play ang napiling URI

Setup Phase: Pag-uugnay sa RFID Tag sa isang Spotify URI

1) hanggang 3) mula sa itaas

4) Inaasahan ni Pi ang isang linya ng utos na may arg sa tukoy na Spotify URI na nais mong maiugnay sa card

5) Lumilikha si Pi ng isang bagong entry (o mga override kung ang card ID ay natagpuan na sa talahanayan) para sa cardID, SpotifyURI pares

Kaya't hindi mo "pinaprograma" ang mga tag na ito. Ang mga tag na ito ay may sariling built-in na microcontroller na nag-modulate ng patlang na nagmumula sa coil ng mambabasa hanggang sa tono ng tukoy na ID. Ang ginagawa mo lang ay ang paglikha ng isang diksyunaryo ng susi, mga pares ng halaga para mabasa mula sa pi.

Halimbawa, sabihin nating mayroon akong isang card na may ID na "2_54_57_53_23_33_3". Hindi ko alam sa una kung ano ang ID, ngunit nang mabasa ko ang output mula sa Arduino pagkatapos i-scan ito, ito ang lumalabas.

Sabihin nating nais kong patugtugin ang card na ito sa pinakadakilang album ng pag-hit ng Al Green kapag na-scan ito. Upang magawa ito, pupunta ako sa Spotify at kopyahin ang URI ng album, pagkuha ng "spotify: album: 6W0V8B0fJItvOwC8v114rZ". Ngayon, tulad ng nakikita sa video, ibinibigay ko ang URI na ito sa isang python program upang maiugnay ang card ID ng "2_54_57_53_23_33_3" sa spotify URI ng "spotify: album: 6W0V8B0fJItvOwC8v114rZ" sa isang talahanayan. Ang "Key" ay ang card ID, at ang "halaga" ay ang URI.

Ngayon, kapag na-deploy ko ang pangunahing programa, at ang aking pi ay nakatanggap ng isang card ID na "2_54_57_53_23_33_3", titingnan ito sa talahanayan, tipunin ang URI na nauugnay dito, at ibibigay ang URI bilang isang argument sa Spotify API.

Mga gamit

Nakatuon na computer (ang raspberry pi ay pinakamahusay para sa tutorial na ito)

RFID card reader module upang kumonekta sa nakatuon na computer

Ang mga RFID Card ay katugma sa iyong mambabasa

Opsyonal ngunit inirerekomenda: Ang isang ekstrang Arduino bilang isang gitnang tao sa pagitan ng mambabasa at ng computer upang makatipid ng oras ng pag-unlad

Hakbang 1: Pangkalahatang-ideya ng Code

Pangkalahatang-ideya ng Code
Pangkalahatang-ideya ng Code
Pangkalahatang-ideya ng Code
Pangkalahatang-ideya ng Code

Ipinapakita ng mga nakakabit na screenshot ang pangunahing istraktura ng code para sa interfacing sa Serial sa Arduino at pi. Ang bentahe ng paggamit ng Arduino bilang isang gitnang tao ay maaari kong mai-plug ito nang direkta sa USB port ng Pi bilang isang serial input. Ito ay nai-save sa akin ng isang tonelada ng sakit ng ulo dahil ngayon hindi ko na alam kung paano i-setup ang mga GPIO pin bilang serial input.

Ang aking partikular na kumbinasyon ng card / reader ay nagbibigay sa akin ng hindi pangkaraniwang resulta na ang lahat ng mga kard ay nagsisimula sa isang 2 at nagtatapos sa isang 3. Nagbigay ito sa akin ng isang mabilis at maruming paraan ng pag-alam kung nagsisimula o nagtatapos na ang isang paghahatid. Nakasalalay sa mga card / reader na mayroon ka, ang iyong code ay kailangang baguhin.

Hakbang 2: Spotify Pagsasama

Image
Image
Pagsasama ng Spotify
Pagsasama ng Spotify
Pagsasama ng Spotify
Pagsasama ng Spotify
Pagsasama ng Spotify
Pagsasama ng Spotify

Ngayon para sa mahirap na bahagi - nakikipag-ugnay sa Spotify. Masidhi akong umasa sa 3 mga mapagkukunan dito:

1) Ang proyekto ng Spotifyd, na nagpapahintulot sa iyong aparato na lumitaw bilang isang labis na speaker sa iyong Spotify account.

2) Ang proyekto ng Diskplayer, kung saan ang ilang mga random na tao ay nagsulat ng kanyang sariling go script para sa pakikialam sa Spotify API

3) Ang magandang lalaking dumaan sa OAUTH kasama ang Spotify. Kung wala siya ay nasayang lang ako ng maraming oras.

Una i-install ang Spotifyd at subukan ito upang matiyak na ang pi ay lalabas bilang isang speaker sa iyong account.

Pagkatapos, sa sandaling iyon ay gumagana, ginamit ko ang Diskplayer upang subukan ang spotify API. Dito hihilingin sa iyo na magbigay ng isang token ng Spotify API. Kung nagpapatakbo ka ng isang walang ulong pag-setup na tulad ko, hindi mo ito mabubuksan sa isang browser sa pi. Para sa kadahilanang ito, kakailanganin mong sundin ang mga hakbang na nakalista sa video sa itaas sa hakbang 3). Hindi mangyayari ang proyektong ito kung wala ang lalaki sa video na iyon!

Hakbang 3: Ginagawa itong Mukhang Mas Masarap

Ginagawa itong Mas Masarap!
Ginagawa itong Mas Masarap!

Kapag gumagana ang lahat, maiiwan ka ng isang gulo ng mga wire na nagpe-play ng anumang nais mo mula sa Spotify. Upang linisin ito, ilagay ang lahat sa isang kaso, at i-print ang ilang mga label para sa iyong card! Gumamit ako ng mga label na Avery 22822 (na may isang blangkong template ng Photoshop para sa pag-print sa bahay). Nakahugot ako ng mga imahe mula sa google, at sinampal ang mga ito sa template ng photoshop kung kinakailangan. Matapos ang ilang oras ng pag-aaral ng Photoshop, nai-print ko at inilagay ang mga label sa aking mga blangko na RFID tag.

Masaya ako sa Project na ito at gagamitin ito sa hinaharap upang aliwin ang mga tao sa aking apartment. I / Ipaalam sa akin kung natapos mo itong gawin ang iyong sarili!

Pinapasok ko ito sa paligsahan na "Audio" - kung nasiyahan ka huwag mag-atubiling bumoto para dito. Salamat!