Orange pi zero как подключить динамик
Перейти к содержимому

Orange pi zero как подключить динамик

  • автор:

Orange pi zero как подключить динамик

Прикрепленное изображение

Изображение

  • В теме действуют все Правила форума, Правила раздела «Мой компьютер (десктоп)», 10 заповедей новичка, кому тяжело осилить Правила Форума
  • Обсуждение устройств, не относящихся к данной теме, запрещено. Если нужной вам темы по конкретной модели не существует — создайте её.
  • Вместо слов «Спасибо!» используйте . Если у Вас меньше 15 постов — нажмите на кнопку под тем сообщением, где Вам помогли, и напишите благодарность.
  • Полезные темы на заметку: FAQ по форуму, Как искать на форуме?, Как убирать изображения под спойлер.
  • Если вы новичок на форуме, то вам следует знать, что есть поиск и возможно на ваш вопрос уже ответили! Также проверяйте шапку.

Прикрепленное изображение

  • i2s на Orange Pi Zero:
    Часть 1
    Часть 2
    Часть 3
    Часть 4

Офф. сайт — тык
Ссылка на скачивание образов: тык
ArmBian — тык(Тема ув. TabletPC007)
RetroPie для Orange Pi!
Группа в Telegram

Сообщение отредактировал iiputilo — 18.12.22, 16:32

Есть две версии 256МБ и 512МБ. В статье есть разные полезные данные, схема на эту плату, так же показано где нужно припаять перемычки, для работы платы через PoE питание. На эту кроху можно припаять SPI flash 🙂
Заказал себе версию с 512МБ на борту. Все кто заказал, присоединяйтесь, интересуют все варианты прошивок и т.д.

Сообщение отредактировал quick31 — 26.03.17, 06:33

IMHO, это задел в сторону мобильных роутеров, в связке с USB модемами, вебкамер и т.п. Как раз что-то вроде Openwrt на такую SPI флешку влезет, будет мощный роутер или мини-сервер. Фактически на плате 4 USB, компонентный выход, 2 spi, 2 i2c, 3 uart, ir rx, lineout, mic. Если получиться еще и VLAN поднять через ethernet порт, с нормальной пропускной способностью, будет вообще шикарно. Ну и не стоит забывать про опционально PoE, запаиваем две перемычки и готово.
Схема на эту кроху.
Не могу ничего найти про wifi модуль Allwinner XR819. Как бы это не оказался rtl819x.
Прикрепленное изображение

WiFi колонка/плеер на базе Orange Pi Zero или история о потерянном времени

История моя началась с того, что по просьбе одного друга нужно было сделать небольшое программируемое устройство с выводом звука и GPIO. Давно хотел поработать с каким-либо одноплатником *Pi и потому сразу решил делать на чем-то подобном (результат + опыт). Друг почти сразу отказался от предложенного проекта, ну а я оказался с купленной платой OrangePi Zero. Некоторое время провалялась она без дела, пока не отдали мне старый МФУ Canon MX320 без поддержки сети. Мне очень не хотелось иметь лишний провод от ноутбука к принтеру, и в результате апельсинка была извлечена, настроена и работает с тех пор в качестве CUPS сервера по USB (результат, кстати, хороший, но это уже совсем другая история).

Завязка

Однажды надоело мне вечно подключать через minijack мой телефон к колонкам. Стоят они хорошо, удобно, и переносить их неохота. А телефон, вечно висящий на линейнике- это уже не мобильный телефон, а что-то похожее на старые проводные аппараты. Ноутбук у меня тоже стоит так, что подключать к нему кабель к колонкам было бы неудобно. Да и сама машинка старая (10 лет уже), лишний аудиоплеер — лишняя нагрузка.

Можно, конечно же, купить bluetooth-колонки. Или bluetooth-адаптер. Но это значит малый радиус действия и проигрывание музыки только на том устройстве, с которым по bluetooth связан телефон. Надо что-то посерьезнее. «Здорово было бы повесить такой сервер на апельсинку, который мог бы принимать аудиопоток с смартфона по WiFi, — подумал я, — ведь она постоянно подсоединена по ethernet к роутеру, малонагружена (так как стоит на ней Ubuntu Server 16.04), разместить можно удобно, электричества потребляет мало.» Сказано — сделано.

Часть 0, аппаратная

Для начала нужно было гнездо для jack соединить с апельсинкой. Брал я голую плату, поэтому все нужно было спаять самому. Сложного ничего нет, и сразу скажу: нет особого смысла делать это — проще купить готовую плату расширения. Советую этот способ, потому что у меня на самодельной плате помехи влияют на звук колонок (в частности, при передаче на принтер большого задания на печать, или же при установке больших пакетов). Причин, скорее всего, две — моя плохая работа + питание заведено сразу на плату, а не через microUSB.

Потому фото платы, пайки и руководств не будет, если понадобятся — легко находятся в сети.
Если выберете покупку платы — сэкономите время и силы, при этом сразу будет и гнездо для миниджека, еще два USB-разъема, инфракрасный датчик и микрофон. Вторую апельсинку покупал уже в наборе с корпусом и платой расширения, пожалел, что так не сделал с самого начала.

Часть 1, программная

Подключаемся по SSH (если стандартный логин-пароль не меняли, то это root orangepi).

Не забываем сделать

(все равно позже понадобится)

По умолчанию звук выключен, поэтому чтобы его включить, делаем следующее:

image

Включаем audio line out (нужный выключатель находится по центру), для этого стрелками переходим на пять позиций вправо и нажимаем m

image

Выходим, нажав Esc.

Сохраняем текущее состояние

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

в rc.local, чтобы параметры восстанавливались автоматически:

Советую после этого проверить — выполняем сперва перезагрузку

и проверяем работоспособность

Если радио заиграло, значит — все в порядке.

Можно, правда, просто запустить после перезагрузки

но мне больше нравится остальную настройку проводить под радио.

Часть 2. mpd

После того, как вывод звука настроен, можно приступать к установке чего-то полезного. А в моем случае, это был как раз mpd и mpc (клиент для mpc — работает в терминале). Что такое mpd? Это сетевой плеер-демон, который работает прекрасно без графического интерфейса и потому не нагружает систему. Возможностей настроек — уйма, на любой вкус. Спокойно проигрывает музыку из сети и из локальной коллекции. Есть даже статья о взаимодействии mpd с Яндекс.Музыкой и с Google Music.

Управляться может с любой ОС — клиенты есть под Windows, Linux, Android, ios, mac os, Symbian, потому очень удобен.

Все настройки находятся в файле /etc/mpd.conf

Обязательно меняем следующую директиву

потому что именно она обеспечивает возможность управления mpd по сети.

И переходим в секцию Audio Output

https://amdy.su/wp-admin/options-general.php?page=ad-inserter.php#tab-8

Настраиваем вывод через alsa

Если не добавить директиву normalize «yes», то звук будет очень тихим. К сожалению, подробнее об этой директиве написать ничего не могу, не было времени искать информацию.

я добавил совсем недавно, без нее mpd работает прекрасно (если работает в одиночку), и потребовалась она только потому, что я ставил дополнительные компоненты, о которых ниже.

Все, можем подключаться.

Идем в любой клиент, вводим IP нашего сервера, соединяемся. Сперва, конечно же, и в плейлистах, и в файлах, и в потоках пусто. Чтобы mpd увидел ваши локальные файлы, нужно либо поменять настройки в /etc/mpd.conf, указав в секции

Files and directories

путь к вашей папке с музыкой

music_directory «/home/orangepi/Music

Но у меня все равно локальных файлов нет, а используется жесткий диск ноутбука, подмонтированный по Samba прямо в папку /var/lib/mpd/music. В планах покупка внешнего жесткого и подключение его к апельсинке, но пока финансы не позволяют.

В любом случае, после того, как добавлен путь к папке с музыкой (или подмонтирована сама папка) нужно сделать обновление коллекции. Сделать это можно из любого клиента, самое простое

Ждем некоторое время (больше коллекция — больше времени надо для ее сканирования).

Все, можем наслаждаться музыкой!

Меня mpd будит по утрам вместо будильника. Очень хорошо и приятно просыпаться под разную музыку/станции в разное время и дни.

Часть 3. Собственно, WiFi колонка

Итак, mpd это, конечно, хорошо, но желаемую задачу он не выполняет — нет трансляции звука с телефона при проигрывании музыки на нем. Несколько бессонных ночей — и была найдена статья о превращении *Pi в приемник аудиопотока.

то, что мне нужно — очень похоже на Chromecast от Google, ведь он поддерживает передачу звука по Wi-Fi и эта передача есть во многих приложениях.

Но у меня все-таки не Chromecast, а апельсинка. Если я правильно понимаю, пока что протокол Chromecast закрыт. Но это измененный протокол DLNA, который как раз служит для передачи медиаконтента по сети.
Ага!

Сразу же находится в репозиториях пакет minidlna.

Так, теперь есть dlna-сервер на апельсинке. Ставим dlna-плеер к себе на телефон.
Облом.

Сервер есть, видится, есть доступ к коллекции и проигрывание контента, но на телефоне. А транслировать аудиопоток пока нельзя.

Разбираемся с протоколом: оказывается, есть DLNA сервер, DLNA контроллер (для управления воспроизведением) и (!) DLNA рендерер.

Последний как раз нам и нужен.

В репозиториях его нет, потому ставим так

У автора gmediarenderer запускается при старте системы через init, у меня этот способ пока не работает, потому добавлена строчка в /etc/rc.local

Для того, чтобы можно было теперь слушать аудиопоток с смартфона на OrangePi, ставим BubbleUPnP, или же HiFi Cast, поиск в Google Play выдает много результатов по запросу DLNA. Далеко не все можно отрендерить. Ни ВК ни Яндекс.Музыка/Радио не рендерятся. Но это все равно больше, чем ничего. На текущий момент воспроизводится любая локальная музыка с телефона + SoundCloud.

К сожалению, после установки gmediarender перестал нормально работать mpd — воспроизведение есть, а звука нет. Поиск ничего не дал, решение найдено случайно — нужно в файле /etc/mpd.conf раскомментировать строку, которая находится в секции Audio Output, в блоке, описывающем вывод через alsa:

После раскомментирования этой строчки звук вернулся, mpd заработал в штатном режиме.

Итоги

В целом задачу можно считать выполненной.

На текущий момент можно слушать любую музыку с планшета/телефона через WiFi на колонках, можно включать сетевой плеер, проигрывать музыку с апельсинки на телефоне/планшете.

В планах — допилить dlna-рендерер, настроить парсер для mpd (чтобы сам искал мне музыку в сети), добавить жесткий диск (скорость по Samba все-таки низкая).

Получилось достаточно удобно, функционально и просто, да и дешево (на все вместе 1900 рублей, сам OrangePi и карта microSD). Если брать комплект (OrangePi, корпус, плата и microSD), можно уложиться в ту же сумму, если постараться.

Как включить аналоговый аудиовыход (RCA) в OrangePi

Часть файла script.bin, связанная с аудио, находится в разделах [pcm0] , [pcm1] , [spdif0] , [audio0] и [audiohub] .

[pcmN]: настройка сжатия цифрового звука.
[spdif0]: конфигурация аудио S/PDIF (отсутствует в Orange Pi).
[audio0]: Настройки аналогового аудио (RCA).
[audiohub]: аудио концентратор.
Из предыдущих разделов, единственное, что нас интересует это: [audio0] для включения/выключения аналогового аудио и [AudioHub], чтобы установить воспроизведение более одного звукового канала одновременно (например HDMI и RCA).

Настройка аналогового аудио (audio0)

audio_used: Включить / отключить аудиовыход (0 отключено, 1 включен).
lineout_vol: Уровень громкости звука . Изменяется на 1,5 дБ между каждым уровнем т.е. (0 — 0 дБ, 1 — 1,5 дБ, 2 — 3 дб, 3 — 4,5 дБ …). Таким образом, 0 будет полной тишиной, а 31 будет максимальным звуком.
audio_hp_ldo: Калибровка звука в соответствии с регулятором (LDO).

adcXXX_used: Включает / отключает различные звуковые функции в соответствии с параметрами аналого-цифрового преобразователя.
dacXXX_used: Включает / отключает различные звуковые функции в соответствии с параметрами ЦАП.
audio_pa_ctrl: установка включения/выключения выходного усилителя.

hub_used: Включает / отключает использование аудио концентратора (0 отключено, 1 включен).
codec_used: Включает / отключает использование настроек цифрового сжатия звука (pcm-кодек) для совместного воспроизведения звука (0 отключено, 1 включен).
spdif_used: Включает / отключает использование аудио spdif для совместного воспроизведения звука (0 отключено, 1 включено).
hdmin_used: Включает / отключает использование звука HDMI для совместного воспроизведения звука (0 отключено, 1 включен).

Включение аналогового аудио RCA выхода

Будем включать аналоговый аудиовыход RCA.

Во многих дистрибутивах, таких как Armbian, RetrorangePi и OpenELEC, аналоговый аудиовыход по умолчанию включен, однако, если мы используем дистрибутив там, где это не так, и у нас не работает аудиовыход на RCA, мы должны сделать следующее:

  1. Создаем резервный файл в случае возникновения ошибки:
  1. Преобразовываем двоичного файла в формат fex редактируемого текста:
  1. Редактируем файл fex:

Нужно изменить строки, которые находятся в разделе «[audio0]». В нем мы должны включить аудиовыход (audio_used = 1) и, при желании, установить максимальный уровень громкости, который может быть выведен, в этом случае мы установим его на 100% (lineout_vol = 31):

How to Setup an Orange Pi Zero DIY Smart Speaker with Google Assistant SDK

A preview release of Google Assistant SDK working with Raspberry Pi 3 and other ARMv7 boards was released in May, and soon after, AIY Projects Voice Kit was offered for free with Raspberry Pi Magazine in order to a complete smart speaker kit working with RPi 3. I wanted to try it on one of FriendlyELEC or Shenzhen Xunlong Allwinner board, since all we need is audio input and output, and an Internet connection. Earlier this month, I came across Orange Pi Zero Set 6 Kit that had all I needed: Orange Pi Zero ARM Linux board, an expansion board with built-in microphone and audio output jack, and a cute and small case to neatly put everything together.

Orange Pi Zero Set 6 Kit Unboxing and Assembly

Shenzhen Xunlong sent me the kit so that I can try it out.

The package includes two Orange Pi packages, the plastic case, some a bag with screws and rubber pads.

One of the package comes with Orange Pi Zero board powered by Allwinner H2+ quad core processor with 512 MB RAM, micro USB for power, 10/100M Ethernet, a USB port, a WiFi antenna, and expansion headers on the top…

Click to Enlarge

.. and a micro SD card slot on the bottom, which we’ll use to boot the operating system.

The second package is for Orange Pi Zero Interface board v1.1 with two more USB port, an IR receiver, a 3.5mm audio jack, and a built-in microphone (top right).

Click to Enlarge

The next step is just to plug the interface board into Orange Pi Zero board, bending the WiFi antenna between the two boards…

Click to Enlarge

… before pushing the board from the bottom of the enclosure, tightened the cover with the 4 screws, and adding the 4 rubber pads.

Click to Enlarge

Installing Ubuntu on Orange Pi Zero & Configuring Networking and Audio Input & Output

Google Assistant SDK requires Ubuntu or Debian operating system, so I downloaded Ubuntu server legacy image on Armbian website, since the mainline image does not support XR819 WiFi module at all. I then extracted Armbian_5.30_Orangepizero_Ubuntu_xenial_default_3.4.113.7z and flashed Armbian_5.30_Orangepizero_Ubuntu_xenial_default_3.4.113.img with Etcher on a micro SD card using my main computer.

Once it was done, I took the micro SD card to Orange Pi Zero board, connected my own speakers to the 3.5mm audio jack and USB for power, as well as a 5V/2A USB charger to power the system.

Click to Enlarge

You may notice an extra USB dongle on the picture above, but we’ll talk about that later.

I’ll use WiFi to test Google Assistant, but I also connected an Ethernet cable to make it easier for first time setup. If you don’t have Ethernet, you could also connect the board via a USB to TTL board to access the serial console.

After looking up the IP address of the board in my router, I connected with SSH using root (password: 1234):

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *