Съдържание:

Винилов емулатор на Sonos Spotify: 26 стъпки
Винилов емулатор на Sonos Spotify: 26 стъпки

Видео: Винилов емулатор на Sonos Spotify: 26 стъпки

Видео: Винилов емулатор на Sonos Spotify: 26 стъпки
Видео: So You Want To Be A DJ Making Beats 2024, Юли
Anonim
Image
Image
Sonos Spotify винилов емулатор
Sonos Spotify винилов емулатор

Моля, обърнете внимание, че това не е най -новият набор от инструкции за този проект:

Моля, посетете https://www.hackster.io/mark-hank/sonos-spotify-vinyl-emulator-3be63d за най-новия набор от инструкции и поддръжка

Слушането на музика на винил е страхотно. Тя е физическа и тактилна. Слушате цял албум, а не произволни песни. Забелязвате, когато свърши и съзнателно избирате нещо друго. Можете да създадете колекция и да я разглеждате, вместо да се налага да търсите точно това, което искате.

Също така е скъпо и обемисто, особено когато смятате, че всички пари, които харчите за винил, е много вероятно дубликат на музика, до която вече имате достъп чрез услуга за стрийминг, за която сте абонирани.

Този проект се опитва да възпроизведе аспектите на тактилност и изграждане на колекции на винила, като същевременно разчита на Spotify за действително доставяне на музиката. Поставянето на физически обект върху NFC четец, свързан към Raspberry Pi (и двете могат да бъдат скрити), ще започне да възпроизвежда албума, свързан с този маркер.

Ще ви преведа през всички стъпки - от настройката на Raspberry Pi до кодирането на NFC таговете. Това е първият ми проект на Raspberry Pi и първият ми код на Python, затова се научих и на двете, докато разработвах това. Като такива, тези инструкции предполагат буквално нула предишни познания и ще ви запознаят с всяка стъпка.

Общите разходи за основните компоненти за изграждането му са приблизително 50-60 паунда.

Ще се радвам да видя какво изграждате!

Стъпка 1: Необходими консумативи 1: Raspberry Pi

Задният край, който взаимодейства с вашата мрежа, Sonos и Spotify, ще се управлява от Raspberry Pi. Всъщност има много малко, от което се нуждаете, за да започнете това.

Основно:

Raspberry Pi: Използвах Raspberry Pi 3 Модел B+, но той ще работи и с Raspberry Pi 3 Модел A+ (£ 23)

USB захранване: имах един, който лежеше наоколо - има наличен официален, ако не го направите (£ 9)

Micro SD карта: Взех 32 GB, което е достатъчно за това приложение, на Amazon (£ 6)

Някакво оборудване на Sonos работи във вашата мрежа (предполагам, че вече имате това, ако сте тук …)

Профил в Spotify Premium

Препоръчва се:

Казус за Pi: има много опции, започващи от £ 5

Бутилка приличен California Zinfandel: Препоръчвам Ridge, но има и други

Стъпка 2: Необходими консумативи 2: NFC четец

Необходими консумативи 2: NFC четец
Необходими консумативи 2: NFC четец
Необходими консумативи 2: NFC четец
Необходими консумативи 2: NFC четец

Тези инструкции са създадени за ACR122U NFC четец, който се свързва чрез USB.

ACR122U

Купих този от Amazon за £ 38 (най -вече защото имаше първоначална доставка), но има по -евтини опции за закупуване на същия този четец.

Объркващо изглежда, че ACR122U се продава под куп различни търговски марки (моята беше под далеч от успокояващата марка "Yosoo"), но от това, което мога да кажа, те са еднакви и са конструирани от American Card Systems.

Най -евтиният, който открих, че рекламираният ACR122U е 21 паунда, включително доставката, но това идва директно от Китай, така че може да се наложи да изчакате малко за това.

Други възможности

Този проект разчита на библиотека на python, наречена nfcpy, която поддържа списък на поддържаните устройства тук:

На теория този проект трябва да работи с всеки от тези в този списък с малка интеграция.

Един съблазнителен вариант е Adafruit PN532, който е платка, която трябва да се свърже директно към вашия Raspberry Pi с помощта на джъмперни кабели. Опитах го и намерих истинска грешка. Изисква например запояване.

Едно от предимствата му е, че повърхностно е, че е по -малък, но в действителност платката е с приблизително същия размер като червата на ACR122U. Ако наистина имате нужда от място за вашето приложение, можете да свалите пластмасата от ACR122U и просто да използвате дъската.

Стъпка 3: Необходими консумативи 3: NFC тагове

Необходими консумативи 3: NFC тагове
Необходими консумативи 3: NFC тагове

За всеки албум, който искате да създадете, ще ви е необходим NFC етикет, който отговаря на стандарта NTAG213.

Има много места за закупуване на такива.

Купих първата си партида от Amazon, където получих пакет от 10 за £ 9 (включително Prime доставка)

Най -добре предлаганият, който съм намерил тук във Великобритания, е Seritag - те имат наистина богат избор от различни стилове, страхотни съвети на уебсайта си, знаете точно какво получавате (не винаги е вярно в Amazon). Те нямат минимален размер на поръчката и много опции. Етикетите започват от 27p на етикет

Стъпка 4: Изтеглете Raspberry Pi OS на SD карта

Изтеглете Raspberry Pi OS на SD карта
Изтеглете Raspberry Pi OS на SD карта
Изтеглете Raspberry Pi OS на SD карта
Изтеглете Raspberry Pi OS на SD карта

На вашия компютър или Mac изтеглете и стартирайте приложението Raspberry PI imager.

Поставете SD картата, на която искате да инсталирате операционната система Raspberry Pi.

Щракнете върху ИЗБЕРЕТЕ ОС и изберете по подразбиране Rasbian.

Щракнете върху ИЗБЕРЕТЕ SD КАРТА и изберете SD картата, която сте включили.

Щракнете върху ПИШЕТЕ. Това може да отнеме известно време.

След като приключи, ще ви каже да премахнете SD картата, което трябва да направите. Но след това го включете отново, тъй като има няколко точки от домакинството, които трябва да направите първо.

Стъпка 5: Активирайте SSH на вашето изображение на Raspberry Pi OS

Активирайте SSH на вашето изображение на Raspberry Pi OS
Активирайте SSH на вашето изображение на Raspberry Pi OS

След като операционната система е записана на SD картата, трябва да направите няколко допълнителни задачи.

Искаме да получим достъп до Raspberry Pi, без да включваме клавиатура или монитор (известен още като „без глава“), което можем да правим през нашата локална мрежа, използвайки нашия компютър или Mac по протокол, наречен SSH. От съображения за сигурност обаче SSH е деактивиран по подразбиране. Трябва да го активираме.

Можем да направим това, като създадем празен файл, наречен:

ssh

в SD картата, която току -що създадохме. Важно е това да няма никакво разширение (напр.. Txt). Самият файл не трябва да съдържа никакво съдържание - само неговото съществуване ще позволи SSH, когато Pi се зареди.

Стъпка 6: По избор: Настройте Wifi на вашия Raspberry Pi

По избор: Настройте Wifi на вашия Raspberry Pi
По избор: Настройте Wifi на вашия Raspberry Pi
По избор: Настройте Wifi на вашия Raspberry Pi
По избор: Настройте Wifi на вашия Raspberry Pi

Можете да пропуснете тази стъпка, ако планирате да свържете вашия Raspberry Pi към вашия рутер чрез ethernet. (Въпреки че може да искате да помислите добре за това решение - това, че той работи през wifi, прави живота много по -лесен по отношение на позиционирането на това)

Създайте обикновен текстов файл, наречен wpa_supplicant.conf в основната директория на SD картата.

Въведете текста по -долу във файла:

държава = gb

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

Променете страната според случая (GB е Великобритания, САЩ е САЩ, DE е Германия и т.н.)

Променете идентификационните данни за wifi там, за да бъдат актуалните ви данни за wifi рутера.

Запазете файла.

Безопасно изваждане на SD картата.

Стъпка 7: Включете вашия Raspberry Pi

Включете вашия Raspberry Pi
Включете вашия Raspberry Pi

Поставете току -що създадената SD карта във вашия Raspberry Pi.

Включете Raspberry Pi в захранването чрез USB кабел. Изчакайте малко, за да се зареди.

Стъпка 8: Намерете IP адреса на вашия Raspberry Pi

Сега трябва да намерите IP адреса на Raspberry Pi, за да можете да се свържете с него. Можете да направите това по два начина:

  • чрез страницата за настройка на вашия рутер - ако имате модерен рутер като eero, това е супер лесно;
  • или чрез приложение за смартфон, достъпно за iOS и Android, наречено „fing“- изтеглете го, свържете се с вашия рутер и сканирайте за устройства - едно от тях трябва да се нарича „Raspberry“- това ще бъде IP адресът, от който се нуждаете.

Стъпка 9: Свържете се с командния ред на Raspberry Pi

Свържете се с командния ред на Raspberry Pi
Свържете се с командния ред на Raspberry Pi

Отворете терминала на вашия Mac (или ако използвате Windows, изтеглете и използвайте Putty).

Въведете следната команда:

ssh pi@[IP адресът на вашия Pi]

Приемете всички предупреждения за сигурност, които получавате. Ще бъдете подканени да въведете паролата за потребителя по подразбиране pi, който е

малина

Стъпка 10: Настройте графичния интерфейс на Raspberry Pi OS

Настройте графичния интерфейс на Raspberry Pi OS
Настройте графичния интерфейс на Raspberry Pi OS
Настройте графичния интерфейс на Raspberry Pi OS
Настройте графичния интерфейс на Raspberry Pi OS

Вече сте свързани с вашия Pi чрез командния ред, което е чудесно, но също така искате да го настроите, така че да имате достъп до графичния потребителски интерфейс, до който ще имаме достъп чрез VNC (Virtual Network Computing). Предвидимо, ние също трябва да активираме това.

Първо проверете дали вашият софтуер Pi е актуален, като въведете следните две команди (всяка, последвана от enter) в командния ред:

sudo apt актуализация

sudo apt инсталирате realvnc-vnc-сървър realvnc-vnc-viewer

След това отворете менюто с настройки на Raspberry Pi, като въведете:

sudo raspi-config

Придвижете се до Опции за взаимодействие> VNC> Да.

Излезте от конфигурационното приложение, като натиснете клавиша Escape и рестартирате Pi от командния ред, като напишете:

sudo рестартиране

Стъпка 11: Свържете се и настройте вашия Raspberry Pi GUI

Свържете се и настройте вашия Raspberry Pi GUI
Свържете се и настройте вашия Raspberry Pi GUI
Свържете се и настройте вашия Raspberry Pi GUI
Свържете се и настройте вашия Raspberry Pi GUI

Изтеглете и отворете VNC Viewer.

Въведете IP адреса на вашия Raspberry Pi и натиснете свързване. Той ще ви подкани за потребителско име и парола, които са:

Потребителско име = pi

Парола = малина

Това трябва да ви зареди до GUI.

Той ще ви подкани да потвърдите географията и подредбата на клавиатурата.

След това ще ви подкани да промените паролата си (добра идея).

Той ще ви помоли да зададете вашите wifi данни, но можете да пропуснете това, тъй като те вече работят. (Въпреки че, ако използвате ethernet и се замисляте, сега е вашият шанс … но имайте предвид, че вашият IP адрес може да се промени)

След това ще провери за, изтегли и инсталира актуализации (може да отнеме известно време).

След като преминете през съветника за настройка, бих препоръчал да промените разделителната способност на екрана, тъй като по подразбиране е доста малък. Можете да направите това, като щракнете върху Raspberry горе вляво> Предпочитания> Конфигурация на Raspberry Pi> Дисплей> Задаване на резолюция

Ще трябва да рестартирате Pi отново, за да влезе в сила.

Стъпка 12: Инсталирайте Node.js и NPM

Инсталирайте Node.js и NPM
Инсталирайте Node.js и NPM

След това искате да заредите командния ред на Raspberry Pi, за да инсталирате необходимите ни зависимости.

Можете да направите това, като се свържете чрез VNC и щракнете върху бутона в горната част, който изглежда като команден ред; или можете да се свържете директно от вашия Mac/PC с помощта на Terminal и Putty, както направихме по -рано. Ако сте по -малко свикнали да работите с Raspberry Pi, тогава е по -лесно да направите първото.

(Съвет: Можете да копирате текст от вашия Mac/PC и да го поставите в Raspberry Pi чрез VNC, като натиснете CONTROL-V, но ако се опитвате да поставите в терминала, трябва да натиснете CONTROL-SHIFT-V)

Първата работа е да проверите отново софтуера си, като въведете следните две команди. Изтеглянето и инсталирането може да отнеме известно време.

sudo apt-get update

sudo apt-get надстройка

След това искате да изтеглите и инсталирате node.js и NPM (не се притеснявайте твърде много какви са, те са полезни и необходими за следващите ни задачи), като напишете следното:

sudo apt-get install nodejs npm

Той ще ви попита няколко пъти дали сте щастливи да заемете дисково пространство с тях - натискате Y

Стъпка 13: Инсталирайте SONOS HTTP API

Инсталирайте SONOS HTTP API
Инсталирайте SONOS HTTP API
Инсталирайте SONOS HTTP API
Инсталирайте SONOS HTTP API

Основата на задната част на нашия проект е пакетът node-sonos-http-api, създаден от jishi. Можете да прочетете всичко за това тук:

Ще изтеглим това от github със следната команда, въведена в командния ред:

git клонинг

и ще го инсталираме със следните команди

cd възел-sonos-http-api

npm install --production

След това можем да го стартираме със следната команда:

npm старт

След като това стане, трябва да тестваме дали работи.

Първо, отворете интернет браузъра на нашия Raspberry Pi и отидете на https:// localhost: 5005/. Хубав интерфейс трябва да се отвори с логото на Sonos и някаква документация за това как работи API.

След това нека проверим дали това работи от по -широката мрежа, като използваме браузър на друг компютър или Mac в същата мрежа и навигираме до https:// [theIPaddressofyourPi]: 5005/и да видим дали ще получим същия резултат. Ние трябва.

Сега всъщност ще накараме системата да направи нещо. Използвайте браузър и отидете до:

192.168.4.102:5005/ Трапезария/пауза за игра

Трябва да замените горния IP адрес с адреса на вашия Raspberry Pi и „Трапезария“с едно от имената на вашите Sonos зони. Тя трябва или да пусне, или да спре на пауза (в зависимост от това дали музиката вече се възпроизвежда или не) музиката в тази стая. Очевидно трябва да има нещо в опашката на Sonos, за да работи.

Занапред ще използвам горния IP адрес и трапезарията като примери в този урок. Очевидно трябва да ги замените с вашия IP адрес и името на вашата зона при всеки повод.

Стъпка 14: Накарайте Sonos HTTP API да работи постоянно

Накарайте Sonos HTTP API да работи постоянно
Накарайте Sonos HTTP API да работи постоянно

Страхотно е, че имаме работещ Sonos HTTP API, но какво ще стане, ако се срине? Или губите захранване или трябва да рестартирате Raspberry Pi?

Можете да видите ефекта, като затворите прозореца на терминала и опитате отново това, което току -що опитахме. Няма да работи, защото HTTP API е спрял заедно с прозореца на терминала.

Всъщност искаме това да работи постоянно и да го правим от стартиране всеки път. Правим това с готино нещо, наречено PM2.

В нов прозорец на терминала инсталирайте и стартирайте, както следва:

sudo npm install -g pm2

състояние на pm2

Сега нека го накараме да стартира нашия Sonos HTTP API:

cd възел-sonos-http-api

pm2 start npm - стартиране на pm2 стартиране systemd

Тази последна команда генерира нещо, което прилича малко на:

sudo env PATH = $ PATH:/usr/bin/usr/local/lib/node_modules/pm2/bin/pm2 стартираща системаd -u pi --hp/home/pi

Копирайте това, което генерира вашият Pi (не точния текст по -горе - вашият може да е различен) и го въведете в командния ред. Това инструктира системата да стартира PM2 при зареждане всеки път.

Накрая въведете:

pm2 запазване

което спестява всичко.

Сега проверете дали това е работило, като рестартирате Raspberry Pi с командата

sudo рестартиране

Надяваме се, че след като Pi се рестартира, той също ще стартира PM2 и от своя страна Sonos HTTP API. Можете да проверите това, като отворите с браузър в същата мрежа адреса, който използвахме преди, и вижте логото и инструкциите на Sonos:

192.168.4.102:5005/

е това, което е за мен, но вашият ще зависи от IP адреса.

Стъпка 15: Пуснете Spotify

Нека проверим дали услугата има достъп до Spotify.

Отворете браузър и отидете на следния адрес (очевидно замествайки с вашия IP адрес и име на стая):

192.168.4.102:5005/ Трапезария/spotify/сега/spotify/spotify: албум: 2dfTV7CktUEBkZCHiB7VQB

Трябва да чуете някой Джон Грант. Наслади се.

Стъпка 16: Намерете URI на Spotify

Намерете URI на Spotify
Намерете URI на Spotify

Странно, знам, но не всеки харесва Джон Грант. Може би искате да слушате нещо друго?

Можете да получите връзки към Spotify от настолни, уеб или мобилни приложения, но работният плот е далеч най -лесният, тъй като доставя URI в точно желания от вас формат, така че започнете с това.

В настолното приложение Spotify отидете до албума, който искате да слушате (може би Lemonade от Beyonce?)

Кликнете върху трите малки точки до бутона на сърцето.

Отидете в менюто, за да споделите и изберете Copy Spotify URI

Това ще копира нещо подобно

spotify: албум: 7dK54iZuOxXFarGhXwEXfF

във вашия клипборд, който е Spotify URI за албума Lemondade на Beyonce.

Отново стартирайте браузъра си и отидете на следния адрес (очевидно замествайки IP адреса и стаята и поставяйки в URI адреса, който току -що сте копирали):

192.168.4.102:5005/ Трапезария/spotify/сега/[Spotify URI, който искате да играете]

Трябва да чуете играта по ваш избор.

Ако предпочитате да използвате уеб приложението, то ще ви даде уеб връзка (нещо като по -долу):

open.spotify.com/album/7dK54iZuOxXFarGhXwEXfF

трябва да конвертирате това в горния формат spotify: album: code, за да работи.

Стъпка 17: Бележка за URI на Spotify

URI на Spotify и начинът, по който взаимодействат с node-sonos-http-api, са интуитивни в по-голямата си част.

Можете да се свържете директно към албуми, песни и плейлисти.

URI на албум изглежда така:

spotify: албум: 6agCM9GJcebduMddgFmgsO

URI на следата изглежда така:

spotify: track: 4fNDKbaeEjk2P4GrRE1UbW

Плейлистите работят малко по -различно. Когато копирате URI от Spotify, той ще изглежда като:

spotify: плейлист: 5huIma0YU4iusLcT2reVEU

Въпреки това, за да го накарате да работи по API, трябва да добавите spotify: user: в началото на горното. Това се отнася дори за публичните плейлисти и, да, това означава, че казвате spotify два пъти.

За да бъдем много ясни, потребителят не трябва да е име на конкретен потребител, а само текстов потребител. Така че правилният URI за горния плейлист, за да го задейства, ще бъде:

spotify: потребител: spotify: плейлист: 5huIma0YU4iusLcT2reVEU

Стъпка 18: Настройте Raspberry Pi за изпращане на HTTP заявки

Настройте Raspberry Pi за изпращане на HTTP заявки
Настройте Raspberry Pi за изпращане на HTTP заявки

Вместо ръчно да въвеждаме HTTP заявки в уеб браузър, ние искаме да го автоматизираме така, че Raspberry Pi да направи това сам, когато бъде представен с определен стимул (задейства се четецът на NFC).

Ще използваме библиотека, наречена заявки, за да позволим на Raspberry Pi да направи това. Нека проверим дали е инсталиран.

Отворете терминала на вашия Pi и въведете следното:

искания за инсталиране на sudo pip

Вероятно се връща и казва, че вече е инсталиран, в този случай чудесно. Ако не, той ще го инсталира.

Стъпка 19: Генерирайте NFCC тагове (и) с данни от Spotify

Генерирайте NFCC тагове (и) с данни от Spotify
Генерирайте NFCC тагове (и) с данни от Spotify
Генерирайте NFCC тагове (и) с данни от Spotify
Генерирайте NFCC тагове (и) с данни от Spotify
Генерирайте NFCC тагове (и) с данни от Spotify
Генерирайте NFCC тагове (и) с данни от Spotify
Генерирайте NFCC тагове (и) с данни от Spotify
Генерирайте NFCC тагове (и) с данни от Spotify

Сега искаме да напишем URI албум на Spotify към NFC тагов. Всеки от тези тагове е това, което ще използвате, за да кажете на Raspberry Pi да свири определен албум.

Можете да пишете в NFC маркер с помощта на телефон с Android, но намирам за най -лесно да го направите чрез mac или компютър, тъй като тогава можете да получите най -лесния начин да получите URI на Spotify от настолното приложение Spotify.

Включете вашия USB NFC четец в компютъра или Mac. Използвам ACR122U от American Card Systems.

Изтеглете NFC Tools на вашия компютър или Mac. Инсталирайте и отворете.

Свързването с читателя понякога може да е малко бавно и може да каже, че изобщо не може да намери читателя. Отидете в раздела Други в инструментите на NFC и щракнете от време на време върху бутона Connected NFC Reader. Може да се наложи да изключите и включите читателя няколко пъти, преди той да го намери.

В крайна сметка това ще ви даде възможност да изберете вашия читател от списък и да кажете, че е свързан. Отидете в раздела Информация, който няма да показва нищо освен „Чакане на NFC маркер“.

Вземете празен NFC етикет. Поставете го на четеца и го оставете там. NFC Tools ще покаже информацията за маркера.

Отидете в раздела Писане и щракнете върху Добавяне на запис> Текст. (Внимавайте да не изберете URL или URI - знам, че е изкушаващо, защото копирате URI, но искате текст)

Вземете URI от Spotify, като използвате метода, който използвахме по -рано. Ако искате лесен пример, следното е нашият албум на Джон Грант от по -рано.

spotify: албум: 2dfTV7CktUEBkZCHiB7VQB

Щракнете върху OK и след това върху Write (не забравяйте тази последна стъпка - тя всъщност не я пише, докато не щракнете върху нея). Той ще ви каже, че маркерът е написан успешно.

Свалете етикета от четеца

Стъпка 20: Настройте NFC четеца на Raspberry Pi

Настройте NFC Reader на Raspberry Pi
Настройте NFC Reader на Raspberry Pi

Включете вашия NFC четец в един от USB портовете на вашия Raspberry Pi.

Ще използваме библиотеката nfcpy Python за комуникация с NFC четеца. Инсталирайте го, като въведете следното в командния ред на Pi:

pip install -U nfcpy

След това можем да проверим дали тази библиотека може да види нашия NFC четец, като въведем следното:

python -m nfc

Ако е работило, ще видите следното:

Това е версията 1.0.3 на nfcpy, изпълнявана в Python 2.7.16 на Linux-4.19.97-v7+-armv7l-with-debian-10.3

Сега търся вашата система за безконтактни устройства ** намерен ACS ACR122U PN532v1.6 на usb: 001: 011 Не опитвам серийни устройства, защото не сте ми казали-добавете опцията '--search-tty' да ме накарат да гледам - но внимавайте, че това може да повреди други серийни разработчици

Въпреки това има голям шанс да получите съобщение за грешка, че четецът е намерен, но вашият потребител (pi) няма разрешение за достъп до него. Ако получите това съобщение за грешка, то също така ще обясни как да отстраните проблема, което е чрез въвеждане на две команди, които изглеждат малко по следния начин:

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

sudo udevadm контрол -R

Копирайте и изпълнете двете команди, които ви дава (не точно това, което е по -горе, тъй като вашите може да са различни), след това изключете и включете отново вашия NFC четец от USB порта.

Опитайте отново командата check:

python -m nfc

Този път трябва да каже, че е намерен без съобщения за грешка.

Стъпка 21: Инсталирайте скриптовете на Python на Vinylemulator

Сега имаме всички градивни елементи на място:

  • Нашата Raspberry Pi може да слуша NFC вход
  • Нашата Raspberry Pi може да каже на Sonos да пуска плейлисти на Spotify, когато получи URI на Spotify
  • Имаме NFC маркер със URI на Spotify, съхранен върху него

Сега трябва да издърпаме всички тези градивни елементи в нещо полезно. Това става чрез кратък скрипт на python, който написах (с много помощ от предишни проекти на NFC/Spotify/Sonos), който се нарича виниламулатор.

Можете да видите изходния код за файловете на github:

За да инсталираме това на нашия Raspberry Pi, трябва да го клонираме от github със следната команда:

git clone

Стъпка 22: Персонализирайте Vinylemulator

Персонализирайте Vinylemulator
Персонализирайте Vinylemulator
Персонализирайте Vinylemulator
Персонализирайте Vinylemulator

Отворете файловия мениджър на Raspberry Pi и отворете начало> pi> винилемулатор

Отворете файла usersettings.py

Един от редовете в този файл ще гласи:

sonosroom = "Трапезария"

Променете „Трапезария“на името на стаята на Sonos, което искате да контролирате.

В този файл също има настройка, която ви позволява да персонализирате IP адреса на sonos-http-api. Трябва да можете да оставите това непроменено като „localhost“, което просто означава, че ще използва Raspberry Pi, на който работи.

Запазете файла и го затворете.

Стъпка 23: Тествайте винилемулатора

Тествайте винилемулатора
Тествайте винилемулатора
Тествайте винилемулатора
Тествайте винилемулатора

Отидете на командния ред на Raspberry Pi.

Въведете следната команда:

винилемулатор на python/readnfc.py

Ако всичко е наред, това ще зареди скрипта и ще каже, че читателят е готов. Светлината на четеца трябва да свети зелено.

Поставете NFC етикета върху четеца, който ще издаде звуков сигнал.

Терминалът ще покаже какво е прочел от NFC маркера и ще покаже адреса на HTTP заявката, който е изпратил. Вашият албум по избор трябва да се възпроизвежда от високоговорителите ви Sonos.

Този скрипт ще продължи да работи, докато не затворите прозореца на терминала. Можете да докоснете различни NFC тагове на албума и той ще премине към този албум.

Стъпка 24: Накарайте Vinylemulator да работи постоянно и при стартиране

Точно като sonos-http-api, ние искаме винилемулаторът да работи през цялото време, а не само когато го извикаме. Можем да използваме pm2, за да направим това отново.

Първо затворете всички екземпляри на винилемулатор, които използвате, като затворите техните терминални прозорци.

След това отворете нов прозорец на терминала и въведете следните две команди:

pm2 стартирайте vinylemulator/readnfc.py

pm2 запазване

Нека проверим дали това е работило, като рестартираме Raspberry Pi. (Можете да въведете sudo reboot или да направите това от менюто на Raspberry с мишката.

Изчакайте Pi да се стартира отново и да видите как работи, като докоснете NFC маркер на четеца. Трябва да вземете музика.

Стъпка 25: Поздравете себе си

Сега всичко е функционално. Можете да преместите Raspberry Pi където и да планирате да го поставите. Той ще се рестартира и ще работи по начина, по който сте го настроили всеки път, когато го включите.

Следващите ви задачи са забавните: да направите всичко красиво.

Стъпка 26: Направете го красив - Скрийте своя читател

Направете го красив - Скрийте своя читател
Направете го красив - Скрийте своя читател
Направете го красив - Скрийте своя читател
Направете го красив - Скрийте своя читател
Направете го красив - Скрийте своя читател
Направете го красив - Скрийте своя читател
Направете го красив - Скрийте своя читател
Направете го красив - Скрийте своя читател

Първата част от това да я направите красива е да скриете гадния бял пластмасов четец на NFC далеч някъде.

Отидох с категорично нискотехнологичен вариант да го залепя до долната страна на тезгяха до моя Sonos Play: 5. Дървесината на брояча е достатъчно тънка, че NFC може да премине, така че пускам музика, като докосвам NFC етикет на магическо и невидимо място.

Препоръчано: