Съдържание:

Raspberry Pi Audio Dac-усилвател-стример: 14 стъпки
Raspberry Pi Audio Dac-усилвател-стример: 14 стъпки

Видео: Raspberry Pi Audio Dac-усилвател-стример: 14 стъпки

Видео: Raspberry Pi Audio Dac-усилвател-стример: 14 стъпки
Видео: Build a Streamer or Dac 2024, Ноември
Anonim
Raspberry Pi Audio Dac-усилвател-стример
Raspberry Pi Audio Dac-усилвател-стример
Raspberry Pi Audio Dac-усилвател-стример
Raspberry Pi Audio Dac-усилвател-стример

Преназначете датираната гласова шапка на Google AIY като специално беззвучно стерео аудио стрийминг устройство.

Сега, когато гласовите комплекти на Google AIY наближават две години, може би сте открили, че новостта е малко изтъркана. Или може би се чудите дали рекламите на браузъра ви за най -близкия ренесансов фестивал имат нещо общо с поставения от вас въпрос, къде може да намерите добра сделка за маратонки под броня.

Ако вече притежавате такъв, този проект ще ви покаже как да вземете съществуващия си гласов комплект от Google AIY и да го пренастроите като специален аудио стример без глава. Ако все още нямате комплект и живеете близо до микроцентър; имате късмет - все още има много и се съмнявам, че те ще станат по -евтини от сегашната цена от 5 долара. (всъщност те са 3 долара към юли 2019 г.).

Този проект е изцяло за аудио и няма нищо общо с AI. Ще работим върху напълно отделна операционна система, съхранявана на отделна micro sd карта, което ще ви позволи да запазите цялата функционалност на AI незасегната. Освен това ще подобрим потребителското изживяване, като въведем стерео звук (за няколко долара повече), докато изграждаме мащабируемо аудио стрийминг устройство. И накрая, след приключване на този проект, ние ще оставим гласовата шапка да остане в състояние, готово за бъдещо разширяване. Ограниченията на разширяването ще бъдат само тези на нашето творчество.

Стъпка 1: Доставка

Доставяне
Доставяне

Ще напиша тази инструкция от гледна точка, че все още не разполагате с комплект за Google Voice. Ако вече имате настроен гласовия комплект - необходимите допълнителни елементи са маркирани със * по -долу. Също така най -новото предлагане на Raspberry Pi (Pi 3 A+) е идеално подходящо за този проект въз основа на неговия форм -фактор и горещо препоръчвам да го закупите така или иначе. Въпреки това всеки Pi трябва да прави, стига да побере шапката за гласов комплект и GPIO.

Съставки:

  • Raspberry Pi (препоръчително Pi 3 A +)
  • 5.25V 2.4 amp micro usb захранване
  • Micro SD карта (в зависимост от размера на вашата музикална колекция, 16gb трябва да са достатъчни)
  • Max98357A dac и усилвател (от Adafruit)*
  • Лектор*(и). Комплектът се доставя с такъв, но за да получим стерео, ще ни трябва допълнителен високоговорител. (също Adafruit)
  • Google AIY Voice комплект
  • Заглавие - единична лента*
  • Тел за високоговорители*

Необходими инструменти: поялник, спойка, отвертка Philips с размер 00 или 000. ленти за отстраняване на тел, маскираща или бояджийска лента за временно закрепване на заглавката по време на запояване, USB към micro SD адаптер.

Стъпка 2: Сглобете хардуера

Сглобете хардуера
Сглобете хардуера

Извън кутията гласовата шапка пристига в моно режим. За щастие, инженерите в Google са проектирали платката, за да позволи ъпгрейд на стерео, просто като добавят още една платка Max98357a, която да седи като друга шапка. Те дори очертаха кутията за нас.

Досещате се: Ще конструираме шапка върху шапка. Хардуер отгоре Хардуер вече отгоре.

Използвайки заглавката, предоставена от чипсета Adafruit Max98357a, започваме със запояване на 7 -пиновата заглавка към гласовата шапка директно под думите „AIY проектира гласова шапка“. Парче маскираща лента, прикрепено към по -дългите мъжки щифтове към лицевата страна на дъската, може да бъде полезно, за да се предотврати изплъзването на заглавките, тъй като по време на този етап на запояване ще работим с дъската с главата надолу.

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

НЕ ПРЕПЪЛНЯВАЙТЕ КОНЕКТОРА НА ЗВУЧИТЕЛЯ КЪМ MAX98357a ДОСКАТА!

Вместо това свържете изводите на високоговорителя към гласовата шапка, подравнени директно под мястото, където двата полюса бяха току споени. Връзката на левия високоговорител и десния високоговорител трябва да бъдат подравнени един до друг, в един ред от четири клеми.

Обърнете дъската с дясната страна нагоре.

Запоявайте джъмпера с надпис „JP4“затворен, като оставите капка спойка върху джъмпера. Не забравяйте тази част или няма да имаме стерео!

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

Завършете спойката на мъжки щифтове към синия чип max98357a - и седемте пинов хедър, и два щифта трябва да държат max98357a здраво на място.

Готово със запояване!

Стъпка 3: Прикрепете към Pi и свържете вашите високоговорители

Прикрепете към Pi и свържете вашите високоговорители
Прикрепете към Pi и свържете вашите високоговорители

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

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

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

Намерих тази стъпка за най -обезсърчаващото предизвикателство в целия проект - не можах да намеря достатъчно малка отвертка или тънкият ми кабел на високоговорителя беше твърде фин, за да поеме компресията на винта и би предпочел да се счупи, отколкото да се държи здраво. Направих модификация, като изградих „зърна“или по -малки проводници, които бяха достатъчно здрави, за да издържат на компресията, и достатъчно дълги, за да бъдат запоени към голите краища на проводника на високоговорителя. Грозно, да- но ефективно.

Свършен с хардуер!

Стъпка 4: Изтеглете Raspbian Lite

Изтеглете Raspbian Lite
Изтеглете Raspbian Lite
Изтеглете Raspbian Lite
Изтеглете Raspbian Lite

Много от вас вече са добре запознати с процеса на изтегляне и записване на изображения на SD карта, а последващите стъпки са малко извън обхвата на този проект. Ще маркирам стъпките по -долу за всеки случай, но ако все още сте заседнали, има много ресурси за подпомагане.

Последна редакция: юни 2020 г. за изтегляне на Buster Lite.

· Изтеглете и инсталирайте Etcher от Balena Software

· Изтеглете най -новата операционна система Raspbian Lite от raspberrypi.org

· Използвайки Etcher, запишете Raspbian Image на SD картата

· След като завършите, освен ако не използвате pi нула w - прехвърлете новообразуваната SD карта в нашата Raspberry Pi. Ако използвате pi нула w, трябва да направим някои редакции във файла WPA_Supplicant.conf в зареждащия дял, за да настроим вашия wifi.

Стъпка 5: Конфигурирайте Pi

Конфигурирайте Pi
Конфигурирайте Pi

С нашия новосъздаден образ, нека включим пи. Но първо нека да вземем назаем монитор и клавиатура, за да помогнем с конфигурацията. Поставете micro sd картата и свържете кабела за зареждане на micro usb. С късмет, зелената LED светлина ще мига няколко пъти, докато се зарежда. Първото зареждане може да отнеме няколко минути, но в рамките на 5 минути трябва да сме готови да работим по нашата конфигурация. "Lite" Raspbian няма работен плот.

Веднъж в командния ред: влезте като pi, паролата „малинка“.

· Достъп до панела за конфигуриране, като напишете „sudo raspi-config“в командния ред.

· Сменете паролата си незабавно.

· Настройте вашия wifi, като използвате мрежовите опции на конфигурационния панел

· Променете опциите за локализация и задайте часова зона

· Активирайте SSH, като използвате опцията на интерфейсния панел

· Стартирайте „sudo apt-get update“, за да актуализирате софтуера си до най-новата версия

Ще се нуждаем от IP адреса на Pi. Препоръчвам приложение, наречено „FING“, което може да бъде изтеглено на всяко устройство с Android и то ще изброява всички устройства, свързани към вашата мрежа. Ще търсим устройство, наречено „raspberrypi“. Запишете ip адреса.

От този момент нататък вече няма да имаме нужда от монитор или клавиатура. Всички допълнителни конфигурации ще се извършват с помощта на командните редове чрез SSH сесия.

Стъпка 6: Използвайте SSH, за да отворите сесия на отдалечена машина

Използването на SSH е доста елементарно. Отворете терминален прозорец от всяко устройство във вашата мрежа и въведете командата

ssh pi@myipaddress

Заменете „myipaddress“с числовите стойности, получени с помощта на fing.

За първи път може да бъдете посрещнати със страшно предупреждение, което показва, че не сте в списъка с поканени, но има изречение, което трябва да гласи „за премахване на това …“, копирайте дългия низ от знаци и го поставете в командата подкана, натиснете Enter. След това, използвайки клавиша със стрелка нагоре, повторете командата ssh pi@myipaddress, изберете „да“и сега въведете паролата си. Поздравления! Сега сте свързани с устройството си, ако гледате командния ред на „pi@raspberrypi: ~ $“.

Стъпка 7: Инсталирайте Mopidy

Инсталирайте Mopidy
Инсталирайте Mopidy

Ще инсталираме Mopidy като наш музикален сървър. Тук има много опции, но ще ви покажа как да инсталирате разширение, наречено „Музикална кутия“, което ще ви позволи да контролирате музиката си от уеб интерфейс вместо от командния ред.

Какво е Mopidy? Според уебсайта му, Mopidy е низ от големи думи, които ме карат да се чувствам доста по -малоценна в момента, но нека кажем, че Mopidy е платформата, от която нашата музика ще свири. Това ще бъде музикален сървър, MPD (демон за музикален плейър) и уеб сървър. Добавката PiMusic Box ще предложи уебсайта, до който можем да навигираме и да контролираме Mopidy. Реших, че тъй като играе добре с куп популярни услуги като Spotify или Google Play Music, ще бъде подходящ за тази инструкция. Плюс това е много готино.

По -долу са инструкциите, безсрамно копирани от Mopidy за инсталиране от командния ред:

1. Добавете GPG ключа на архива:

sudo wget -q -O -https://apt.mopidy.com/mopidy.gpg | sudo apt -key add -

2. Добавете APT репо към източниците на пакета си:

sudo wget -q -O /etc/apt/sources.list.d/mopidy.list

Накрая инсталирайте mopidy:

sudo apt-get update

sudo apt-get install mopidy

Прекратете безсрамното копие.

Стъпка 8: Използвайте Python Pip, за да инсталирате други … Инсталации (разширения)

Току -що инсталирахме обикновен ванилов Mopidy, но тепърва започваме. Разширенията ще бъдат нашите градивни елементи, за да добавим персонализации към нашия обикновен ванилов Mopidy. Тъй като повечето от разширенията, които ще прикрепим към базовия mopidy, са написани на python, ще използваме еквивалент на apt, който е специфичен за python.

Преди да започнем да използваме pip, нека първо се уверим, че имаме всички приставки за gstreamer, използвайки apt:

sudo apt install

python3-gst-1.0 / gir1.2-gstreamer-1.0 / gir1.2-gst-plugins-base-1.0 / gstreamer1.0-plugins-good / gstreamer1.0-plugins-ugly / gstreamer1.0-plugins-bad / gstreamer1.0-tools

Инсталирането може да отнеме няколко минути. Без Gstreamer може да не успеете да предавате поточно музика.

И сега можем да инсталираме python pip:

sudo apt инсталирайте build-съществен python3-dev python3-pip

Сега можем да използваме pip, за да добавим още мопидни късчета. Pip е инструмент на python, подобен на apt, но намирам, че работи малко по -бързо от apt. Малко забавяне на блока, но той започва доста бързо.

По -долу са четири, за да започнем:

Преден край на мрежата. Нека използваме Iris, но ако искате, можете да опитате mopidy-musicbox-webclient вместо това:

sudo python3 -m pip install Mopidy -Iris

Хъб на интернет радиостанция с 30 канала:

sudo python3 -m pip инсталирате mopidy -somafm

Друг център за интернет радио услуги с още повече канали:

sudo python3 -m pip install mopidy -TuneIn

И още един преден край за мобилно устройство. Радиостанциите и Iris не играят добре заедно, но мобилните разполагат с всякакви интернет дажби за слушане:

sudo python3 -m pip инсталирайте Mopidy -Mobile

След като приключите, трябва да имате достъп до Music Box, като използвате:

myipaddress: 6680/iris/-или- https:// localhost: 6680/musicbox_webclient

Все още няма да излиза нищо от високоговорителите, ако се опитате да пуснете музика.

За списък с други функции и разширения: Помогнете си:

sudo pip search mopidy

От тук можете да продължите да добавяте разширения по ваш избор.

Имам приложен примерен конфигурационен файл mopidy. Чувствайте се свободни да използвате съдържанието в /etc/mopidy/mopidy.conf

sudo nano /etc/mopidy/mopidy.conf

Стъпка 9: Настройте Mopidy като услуга

Настройка на Mopidy като услуга
Настройка на Mopidy като услуга

Тъй като ще искаме да стартираме mopidy при стартиране, две команди ще позволят на mopidy да работи при зареждане:

sudo systemctl активира mopidy

sudo dpkg-преконфигурирайте mopidy

Рестартирайте и след това стартирайте

sudo systemctl статус mopidy - l

за да проверите състоянието си. Трябва да видите зелен индикатор. Mopidy има много полезен сайт за поддръжка, който да ви помогне с допълнителни опции за конфигуриране. Разгледайте сайта на Mopidy Documentation за повече подробности.

Стъпка 10: Добавете своя собствена музика

Добавете своя собствена музика
Добавете своя собствена музика

По подразбиране mopidy ще иска да съхранява местна музика в папка под/var/lib/mopidy/media. Копирайте вашата музикална колекция там. Намирам за най -лесно просто да извадите sd картата от pi (след безопасно изключване) и с помощта на micro sd към usb адаптер, включете адаптера към вашето устройство за съхранение и копирайте/поставете там. (това може да отнеме известно време в зависимост от размера на вашата колекция). След като завършите, върнете SD картата на pi, стартирайте я, свържете се отново и след това въведете:

локално сканиране на sudo mopidyctl

Това ще добави вашата музика към местната медийна библиотека в Music Box. Може да забележите.wma файловете не се разпознават като аудио, а.ogg файловете изглежда се пропускат по време на сканирането. Mp3 файловете обаче не би трябвало да са проблем.

Стъпка 11: Конфигурационен файл за звукова карта - Asound.conf

Все още не трябва да имате нищо в /etc/asound.conf, но ако го направите, заменете съдържанието с тези по -долу или създайте такова, като използвате:

sudo nano /etc/asound.conf

и поставете:

опции snd_rpi_googlehat_soundcard индекс = 0

pcm.softvol {type softvol slave.pcm dmix control {name Master card 0}} pcm.! default {type asym playback.pcm "plug: softvol"} ctl.! default {type hw card 0}

ctrl-x и Y, за да запазите горното като нов файл asound.conf.

Стъпка 12: Уверете се, че използваме правилното наслагване за конфигуриране на.txt в /boot

Тип

sudo nano /boot/config.txt

Последните няколко реда трябва да приличат на нещо подобно на по -долу. Искаме да гарантираме, че стандартното аудио е коментирано, заедно с всяко предишно наслагване, като моя hifiberry dac, докато прилагаме наслояването на гласова шапка на Google. И накрая, искаме да инструктираме pi да използва картографирането на i2s. Индикаторът # казва на системата да игнорира реда.

# Активиране на аудио (зарежда snd_bcm2835)

#dtparam = audio = on #dtoverlay = hifiberry-dac dtoverlay = googlevoicehat-soundcard dtoverlay = i2s-mmap

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

Стъпка 13: Насладете се на музиката

Ако слушате стерео доброта, мисията е изпълнена!

Едно от красивите неща при използването на малинов пи като безглавен музикален сървър, свързан с wifi, е, че той работи, без да отнема много ресурси. Вярно е, че изпомпваме само 3 вата на канал, но това вероятно е достатъчно за слушане отблизо. Батерията на вашите телефони ще ви благодари.

Има и много значителен зелен фактор - ние само отпиваме 5,25 волта енергия. И в сравнение с Bluetooth, можем да настроим радио потока и да не бъдем закотвени в обхват на Bluetooth от 30 фута. Що се отнася до нашия телефон, можем да се обадим, да играем игра и да се разхождаме малко по -свободно, без да прекъсваме потока от музика. Ние само надраскахме повърхността. Има много налични разширения на mopidy за изследване, а mopidy има нарастваща база разработчици, тъй като е с отворен код. Ще ви позволя да проучите функциите, които ви интересуват сами.

Стъпка 14: Заключение

Заключение
Заключение

Една от най -забележителните характеристики на този проект е, че не ограничаваме нашето пи, като заключваме достъпа до GPIO. Това ни позволява достъп до много други опции, защото гласовата шапка е проектирана толкова добре. Например следващият ми проект ще бъде да добавя моментен превключвател като бутон за изключване. Би трябвало да е лесно и вече знам къде трябва да кацнат щифтовете: Те не са блокирани. Оттам? Е, за този проект напълно игнорирахме микрофона - може би пи караоке? Може би LED светлинно шоу или да добавите мотор за търкаляне на джубокс? Всички щифтове са все още налични и достъпни. Въпросът е защо не? И само в случай, че искате да се върнете към AI, просто пуснете старата SD карта и накарайте Google да отговори стерео.

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