Съдържание:

PAB: Лична аудио кутия: 5 стъпки
PAB: Лична аудио кутия: 5 стъпки

Видео: PAB: Лична аудио кутия: 5 стъпки

Видео: PAB: Лична аудио кутия: 5 стъпки
Видео: 5 Способов монтажа ламината на стену. Разбираем от А до Я. Выбираем самый лучший 2024, Юли
Anonim
PAB: Лична аудио кутия
PAB: Лична аудио кутия

Идеята за този проект се ражда от необходимостта да се изстържат трите големи компонента на HiFi системата, които вече са достигнали края на живота си. Освен това имах нужда от повече място в рафта за други предмети, затова се възползвах от възможността да започна да уча в Personal Audio Box, за да заменя всички функции на трите ретро „гиганта“.

Raspberry Pi3B+ изглежда беше най -добрият избор по следните причини:

  • Малък форм -фактор и ниска консумация на енергия;
  • Аудио PCM изход с приемливо качество;
  • Наличие на mopidy, разширяем музикален сървър, прилагащ mpd протокол;
  • Висока интеграция на източници: местна музика, CDROM, радио потоци, Spotify, Tunein и др.

Интегрирайки го с няколко други компонента, успях да създам цялостна и безглавна система, способна да възпроизвежда музика от компактдискове, локални файлове, онлайн радио, плейлисти на Spotify, подкасти. И чрез използването на интерфейс, вече мога да управлявам цялата му работа от всяко устройство, свързано към LAN (смартфон, компютър, таблет).

Консумативи

  • Малина PI3B+
  • Стар калъф за DVD
  • CDROM четец
  • Захранване 5v-5A
  • Суперкондензатори
  • Различни компоненти (транзистори, LED, реле, Op-Amp): вижте подробности за проекта

Стъпка 1: Случай и оформление на компонентите

Случай и оформление на компонентите
Случай и оформление на компонентите
Случай и оформление на компонентите
Случай и оформление на компонентите
Случай и оформление на компонентите
Случай и оформление на компонентите
Случай и оформление на компонентите
Случай и оформление на компонентите

Първият проблем, с който се сблъсках, беше да избера и да намеря подходящ случай. Не откривайки нищо у дома, намерих този евтин DVD плейър в Amazon за няколко долара, но всичко подобно ще бъде достатъчно добро. Калъфът има следните размери: 27см х 20см х 3,5см.

Премахнах напълно цялото съдържание, като запазих само малката платка за управление на предния светодиод, бутона за захранване и USB входа. След това планирах вътрешното оформление за новите компоненти (вижте снимката).

Стъпка 2: Превключвател за аудио стерео сензор

Аудио стерео сензорният превключвател
Аудио стерео сензорният превключвател
Аудио стерео сензорният превключвател
Аудио стерео сензорният превключвател
Аудио стерео сензорният превключвател
Аудио стерео сензорният превключвател

Защо автоматичен аудио превключвател? Необходимостта възниква от факта, че често слушам телевизия чрез HiFi усилвателя, но не исках да избирам превключвателя източник на усилвателя всеки път. При тази схема входът на усилвателя винаги е един и същ, а източникът се избира автоматично от превключвателя за аудио стерео чувствителност.

Схемата е ясна. Когато PAB не се възпроизвежда, източникът на аудио към HiFi идва от телевизора. Ако PAB играе, релето избира аудио от Raspberry.

Стъпка 3: Кутията за суперкондензатори

Кутията със суперкондензатори
Кутията със суперкондензатори
Кутията със суперкондензатори
Кутията със суперкондензатори

Както е известно, внезапно прекъсване на захранването на Raspberry причинява незабавно изключване на захранването без изпълнение на процедурата за изключване, което рискува да компрометира операционната система и следователно нейната пълна функционалност. Суперкондензаторът се различава от традиционния кондензатор по две съществени характеристики: неговите плочи всъщност имат по -голяма площ и разстоянието между тях е много по -малко, тъй като вложеният изолатор работи по различен начин от конвенционалния диелектрик. С тези техники могат да се направят кондензатори с много голям капацитет (от порядъка на няколко десетки Фарада), като същевременно се поддържат малки размери. Идеята е следователно да се създаде 5v "буфер" чрез суперкондензатори и да се активира изключването, когато се открие липсата на захранващо напрежение. По този начин вече няма да е необходимо ръчно да се намесвате, за да стартирате изключването, а просто извадете щепсела (или активирайте превключвател), за да осигурите безопасно изключване.

Позовавайки се на схемата, захранването се прилага към левия извод и диодът на Шотки предотвратява връщането на ток към захранването. Двата мощни резистора 1.2Ω 5W паралелно ограничават тока на зареждане на суперкондензаторите, за да защитят захранването. Без тези резистори пиковият ток, необходим на двата разредени суперкондензатора, почти сигурно би могъл да повреди захранването. Захранващият диод задължително трябва да бъде от типа на Шотки, за да се вмъкне минимален спад на напрежението последователно с 5V бара.

Двата суперкондензатора са свързани последователно, за да осигурят максимално напрежение от 5,4 волта в краищата им (всеки суперкондензатор е 10F, 2,7 V), а двата резистора успоредно на капацитетите балансират зарядните токове и гарантират бавно разреждане, когато малината се завърти изключен. Двата 1KΩ резистора, успоредни на входа, разделят наполовина 5V на захранването, за да вземат необходимия сигнал за откриване на прекъсване на захранването (свързан към Raspberry GPIO 7). За разлика от съвременните литиеви клетки, суперкондензаторите гарантират почти безкраен брой цикли на зареждане и разреждане, без да губят никакви характеристики.

Следователно веригата ще може да поддържа захранването и функционирането на Raspberry за времето, необходимо за извършване на редовно изключване. Стартът на процеса на изключване ще бъде открит от програма, работеща на Raspberry, която ще следи състоянието на GPIO 7, към който е свързано нивото на мощност. Когато захранването е изключено, GPIO щифт 7 преминава на ниско ниво и задейства изключването. Това е кодът:

#!/usr/bin/env python

импортирайте RPi. GPIO като GPIO импортирайте подпроцеса GPIO.setmode (GPIO. BCM) # използвайте GPIO номериране GPIO.setwarnings (False) INT = 7 # pin 26 монитора захранване # използвайте слабо pull_up за създаване на висока GPIO.setup (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): while True: # задайте прекъсване на падащ ръб и изчакайте да стане.input (INT) == 0: # все още ниско, изключване на подпроцеса Pi main ()

Програмата трябва да бъде записана в/usr/local/bin/.py и конфигурирана да работи, когато се стартира малината. От проведените тестове капацитетът на двата суперкондензатора се оказа достатъчен, за да се гарантира времето за изключване на малината. Ако е необходимо повече време, ще бъде достатъчно да се въведат два други суперкондензатора успоредно на съществуващите или да се заменят с два с по -голям капацитет.

Стъпка 4: Сглобяване и използване на USB портове

Сглобяване и използване на USB портове
Сглобяване и използване на USB портове

Блоковата схема показва как да свържете няколко устройства за PAB на основната 3 шина (+5v, USB и аудио стерео).

Обърнете внимание, че захранването на четеца на CD е свързано директно към основното захранване чрез "Y" кабел, докато аудио входът отива към Raspberry. Четирите USB порта на Raspberry са използвани за:

  • CD четец;
  • 250 GB флаш диск за съхранение на местни музикални файлове (mp3, m4a, wma, flac и др.);
  • 16GB micro SD карта (с USB адаптер) за съхраняване на пълното архивиране на основната Raspi SD (вижте по-долу);
  • връзка към външния USB порт на кутията.

Външният USB порт може да се използва за възпроизвеждане на външна музика или за захранване на външни устройства. В моя случай захранвам външен Bluetooth предавател, тъй като изхвърлих вътрешния такъв на Raspi поради нисък обхват и нестабилност. С външния bluetooth карам 2 различни стерео високоговорителя у дома.

16GB micro SD картата (с USB адаптер) съдържа пълен архив на Raspberry. Използвам rpi-clone, който се оказа много добър проект, който позволява да имате пълно работно архивиране на Raspberry, без да е необходимо да премахвате вътрешния SD. Сменял съм много пъти този SD с вътрешния, без никакъв проблем. Така че настроих cronjob за root потребител:

#Архивиране на sda - всяка сряда вечер

15 2 * * 3/usr/sbin/rpi -clone sda -u | поща -s „PAB архивиране на SD - готово“

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

Стъпка 5: Софтуер и операционна система

Софтуер и операционна система
Софтуер и операционна система
Софтуер и операционна система
Софтуер и операционна система
Софтуер и операционна система
Софтуер и операционна система

Основната операционна система на PAB е обикновен Raspbian minimum (Debian Buster) с няколко специфични допълнения:

  • rpi-клониране за основно архивиране;
  • ssmtp, прост MTA за премахване на поща от системата;
  • udevil, за да позволи автоматично монтиране на USB устройства;
  • abcde, за да вземете моята колекция от компактдискове и да я компресирате във всеки аудио формат;
  • mopidy, пълен демон на Music Player с куп приставки.

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

Основният софтуер, работещ с PAB, е mopidy. За инсталиране и конфигуриране на mopidy (доста обширен), моля, вижте неговата документация тук:

Това са инсталираните приставки:

  • Mopidy-Alsamixer
  • Mopidy-Internetarchive
  • Mopidy-Local-Sqlite
  • Mopidy-Podcast
  • Mopidy-Scrobbler
  • Mopidy-Soundcloud
  • Mopidy-Spotify
  • Mopidy-Spotify-Tunigo
  • Mopidy-Cd
  • Mopidy-Iris
  • Mopidy-Local-Images
  • Mopidy-TuneIn

За да получа пълен контрол върху PAB, избрах разширението за фронтален интерфейс на Iris (вижте снимките). Това е много мощно уеб приложение със следните функции:

  • Пълни уеб базирани интерфейсни контроли за Mopidy
  • Подобрена поддръжка за локални библиотеки (задвижвана от Mopidy-Local-Sqlite)
  • Преглеждайте и управлявайте плейлисти и песни
  • Открийте нова, популярна и свързана с нея музика (задвижвана от Spotify)
  • Свободно хостван
  • Интеграция с:

    • Spotify
    • LastFM
    • Гений
    • Snapcast
    • Icecast

По този начин съм свободен да контролирам музиката си почти навсякъде (компютър, таблет, смартфон).

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