RSS блога
Подписка
Xiaomi mini - используем роутер как музыкальный плеер Squeezebox. Синхронный звук по всей квартире
- Цена: $30,31 (покупал за $21)
- Перейти в магазин
В обзоре расскажу о том, как превратить роутер в музыкальный сетевой аудио плеер — аналог Logitech Squeezebox Player. Это устройство позволит синхронно проигрывать звук нескольких помещениях синхронно в самом высоком качестве. Сразу предупреждаю. Обзор программно-технический.
Стоит задача — научить играть музыку синхронно одновременно в нескольких помещениях (например, комнатах квартиры). Вариантов решения задачи много. Например, проложить провода к колонкам по помещению или использовать FM-трасмитер. Но эти варианты обычно не дают удовлетворительного решения задачи. Есть и чисто цифровое решение задачи.
Когда-то давным давно фирма Logitech производила сетевые аудиоплееры. Плееры могли играть файлы различных форматов, несколько аудиоплееров возможно было объединить для синхронного воспроизведения музыки (multiroom). Но с 2012 г. фирма ушла с этого рынка. Но разработчики оставили исходные коды программного обеспечения для использования всеми желающими.
Система от Logitech построена следующим образом — есть сервер (расположен на компьютере или NAS) с программным обеспечением Logitech Media Server. На сервере расположена коллекция музыки. К серверу по сети подключаются медиаплееры с соответствующим программным обеспечением. Сервер занимается распределением потоков и синхронизацией. Управление сервером через web-интерфейс или спецприложением для Android (iOC) со смартфона. Плееры возможно объединять в различные группы для синхронного воспроизведения музыки, а можно играть на каждом плеере различную музыку. Трансляция звука возможна в различных вариантах — без сжатия, сжатие без потерь, сжатие с потерями. Главное чтобы клиент плеер поддерживал соответствующие режимы раскодирования на стороне клиента.
Кроме проигрывания музыки из аудиоколлекции, можно проигрывать интернетрадиостанции или играть поток звука с компьютера (например, с помощью программы Stream What You Hear (SWYH) www.streamwhatyouhear.com/ (тут программу описывал mysku.club/blog/russia-stores/37908.html )
Как показал мой опыт эта система — самый лучший вариант стриминга звука по нескольким помещениям: сервис, синхронизация, отличное качество. Все просто настраивается и стабильно работает. Всякие другие варианты создания мультрум звукового вещания (FM-трансмитеры, UPnP/DLNA, трансляция интернетрадио, звук по-громче) — хуже этого решения.
Более подробно и вариант реализации рассмотрен тут — geektimes.ru/company/iridiummobile/blog/259152/. Описание оригинальной Logitech Squeezebox Radio — тут habrahabr.ru/company/ebaytoday/blog/130943/.
В обзоре будем превращать роутер Xiaomi mini в клиента Squeezebox. То же самое можно проделать с любым роутером на который возможно установить OpenWRT. Нужно только иметь достаточное количество встроенной флешпамяти (не меньше 8 мб). Почему я выбрал именно Xiaomi mini — распишу ниже.
Итак, начинаем создание сетевой инфраструктуры для сетевого проигрывания музыки.
Серверное программное обеспечение
Logitech Media Server (LMS). Программа бесплатная с открытым исходным кодом, существует для самых разных платформ — Windows, Mac OS, Linux (arm, x86-x64), различные NAS-ы. Для первоначального знакомства лучше использовать Windows версию. Скачать можно отсюда — www.mysqueezebox.com/download.
В интернете полно различных руководств по установке и настройке сервера. После установки нужно прописать пути к аудиоколлекции. Управлять сервером и подключенными плеерами можно с компьютера с помощью веб-браузера или специальным клиентом для Android. Можно объединять плееры в группы с синхронным воспроизведением, проигрывать потоки интернет радио, управлять громкостью и коллекцией треков. Клиентов для управления под Android несколько:
Logitech Squeezebox Controller — play.google.com/store/apps/details?id=com.logitech.squeezeboxremote
Squeezebox Remote Premium — play.google.com/store/apps/details?id=com.squeeze.web.premium
Squeezer — play.google.com/store/apps/details?id=uk.org.ngo.squeezer
Orange Squeeze — play.google.com/store/apps/details?id=com.orangebikelabs.orangesqueeze
Squeeze Ctrl — play.google.com/store/apps/details?id=com.angrygoat.android.squeezectrl
Клиентское программное обеспечение
Для тестирования установленного Logitech Media Server (LMS) возможно воспользоваться программой-клиентом squeezelite code.google.com/archive/p/squeezelite/ Для первоначального тестирования можно запустить клиента squeezelite на компьютере с Windows, куда мы установили LMS. Если все играет нормально, тогда можно переходить к установке клиентов на различные системы.
Для многих систем и архитектур есть клиенты на страничке squeezelite (эмулятор плеера SqueezeBox, автор Adrian Smith): arm, mips, Intel Linux x86/x64, Mac OS, Windows.
Для Андроида есть платный клиент — SqueezePlayer play.google.com/store/apps/details?id=de.bluegaspode.squeezeplayer. С этим клиентом у меня нормально синхронизация звука не получилась почему-то.
Для «малинки» raspberry pi есть специальные дистрибутивы с клиентом squeezelite. Использование «малинки» — достаточно дорогое решение. Его применение оправдано при подключении дорогих аудио цапов к «малинке» по i2s.
Для других плат типа «апельсинки», Cubieboard и прочих можно попробовать клиентов со странички squeezelite или собрать самому из исходников.
Для нормального функционирования системы необходимо обеспечить синхронизацию времени на сервере и клиентах. Так же очень важен канал от сервера до клиентов. Идеальный вариант — витая пара Еthernet. Но не всегда можно проложить кабель. Если использовать обычный Wi-Fi 802.11bgn — тогда крайне желательно, чтобы не было других сетей на этом диапазоне. Увы в условиях современных многоквартирных домов этот вариант мало применим. Будут сбои в воспроизведении потоков аудио с высоким битрейтом (FLAC, несжатый поток). Оборудования с поддержкой нового стандарта 802.11nac (где wi-fi сетей пока почти нет) с разумной ценой почти нет. Идеальный вариант — герой обзора роутер Xiaomi Mini. Я покупал роутер со скидкой используя купоны — роутер обошелся в 21$. Но даже по обычной стоимости в 36$ этот роутер — очень привлекательный вариант с поддержкой сетей 802.11nac. Такой роутер стоит у меня основным роутером. Так же эту модель использовал как клиент SqueezeBox.
Плюсы Xiaomi Mini
1. Поддержка 802.11nac
2. Цена
3. Мощное железо
4. Поддержка OpenWrt
5. Дизайн
6. Бренд
Минусы
1. Размер. Но благодаря плоской форме роутер можно спрятать где-нибудь за шкафом или на холодильнике.
Как устройство воспроизведения звука можно использовать любую USB звуковую карту или ЦАП (DAC) с поддержкой Linux USB Audio, подключив ее в разъем USB. Я использовал самую дешевую китайскую звуковую карту. При желании можно использовать кнопки звуковой карты.
Для реализации клиента SqueezeBox на основе Xiaomi Mini нам нужно установить на роутер OpenWrt и программное обеспечение squeezelite для OpenWrt. К сожалению, пакеты для squeezelite пока не входят в стандартный репозиторий OpenWrt. Поэтому нам придется собрать squeezelite из исходных текстов. Если вы планируете использовать подключение клиента по Еthernet или Wi-Fi 802.11bgn достаточно использовать более дешевый «народный» роутер NEXX WT3020 mysku.club/blog/aliexpress/29103.html и wiki.openwrt.org/toh/nexx/wt3020 с 8Мб флеша (кроме модели А — там 4 Мб). Флешпамяти хватит для установки всего необходимого программного обеспечения, без сборки кастомного образа OpenWRT.
После прошивки роутера OpenWrt нужно собрать клиента squeezelite для OpenWrt.
Исходники расположены тут — github.com/squeezewrt/squeezewrt
Автор порта для OpenWrt под ником «АндрейКа» ведет ветку на форуме hi-fidelity-forum.com/forum/thread-107334.html по своему порту squeezelite. Большое ему спасибо за этот порт и за советы по установке на роутеры.
Если кому-то лень собирать самому squeezelite и очень нужно, могу выслать по почте архив с установочными пакетами для OpenWrt Сhaos Сalmer 15.05 для процессоров mips Ralink MT7620A. Для NEXX WT3020 тоже подойдет. Для других архитектур лучше самому пересобрать.
Xiaomi mini — отличный роутер по адекватной цене. Мощный процессор, много встроенной и оперативной памяти, OpenWrt позволяют использовать роутер не только по прямому назначению. Например, в случае использования в качестве Squeeze плеера, подключенного по 802.11nac.
Дополнение
squeezelite включили в транк Openwrt. Есть две версии полная (видимо со всеми кодеками) и мини (с минимум кодеков). Например, версия для Xiaomi:
full — downloads.openwrt.org/snapshots/trunk/ramips/mt7620/packages/packages/squeezelite-full_1.8-2_ramips_24kec.ipk
mini — downloads.openwrt.org/snapshots/trunk/ramips/mt7620/packages/packages/squeezelite-mini_1.8-2_ramips_24kec.ipk
Плагина для вебоболочки luci нету похоже.
Со следующего релиза OpenWrt в репозитории будет видимо.
Установка и настройка отличаются от описанных в статье. Как делается не разбирался.
Стоит задача — научить играть музыку синхронно одновременно в нескольких помещениях (например, комнатах квартиры). Вариантов решения задачи много. Например, проложить провода к колонкам по помещению или использовать FM-трасмитер. Но эти варианты обычно не дают удовлетворительного решения задачи. Есть и чисто цифровое решение задачи.
Когда-то давным давно фирма Logitech производила сетевые аудиоплееры. Плееры могли играть файлы различных форматов, несколько аудиоплееров возможно было объединить для синхронного воспроизведения музыки (multiroom). Но с 2012 г. фирма ушла с этого рынка. Но разработчики оставили исходные коды программного обеспечения для использования всеми желающими.
Система от Logitech построена следующим образом — есть сервер (расположен на компьютере или NAS) с программным обеспечением Logitech Media Server. На сервере расположена коллекция музыки. К серверу по сети подключаются медиаплееры с соответствующим программным обеспечением. Сервер занимается распределением потоков и синхронизацией. Управление сервером через web-интерфейс или спецприложением для Android (iOC) со смартфона. Плееры возможно объединять в различные группы для синхронного воспроизведения музыки, а можно играть на каждом плеере различную музыку. Трансляция звука возможна в различных вариантах — без сжатия, сжатие без потерь, сжатие с потерями. Главное чтобы клиент плеер поддерживал соответствующие режимы раскодирования на стороне клиента.
Кроме проигрывания музыки из аудиоколлекции, можно проигрывать интернетрадиостанции или играть поток звука с компьютера (например, с помощью программы Stream What You Hear (SWYH) www.streamwhatyouhear.com/ (тут программу описывал mysku.club/blog/russia-stores/37908.html )
Как показал мой опыт эта система — самый лучший вариант стриминга звука по нескольким помещениям: сервис, синхронизация, отличное качество. Все просто настраивается и стабильно работает. Всякие другие варианты создания мультрум звукового вещания (FM-трансмитеры, UPnP/DLNA, трансляция интернетрадио, звук по-громче) — хуже этого решения.
Более подробно и вариант реализации рассмотрен тут — geektimes.ru/company/iridiummobile/blog/259152/. Описание оригинальной Logitech Squeezebox Radio — тут habrahabr.ru/company/ebaytoday/blog/130943/.
В обзоре будем превращать роутер Xiaomi mini в клиента Squeezebox. То же самое можно проделать с любым роутером на который возможно установить OpenWRT. Нужно только иметь достаточное количество встроенной флешпамяти (не меньше 8 мб). Почему я выбрал именно Xiaomi mini — распишу ниже.
Итак, начинаем создание сетевой инфраструктуры для сетевого проигрывания музыки.
Серверное программное обеспечение
Logitech Media Server (LMS). Программа бесплатная с открытым исходным кодом, существует для самых разных платформ — Windows, Mac OS, Linux (arm, x86-x64), различные NAS-ы. Для первоначального знакомства лучше использовать Windows версию. Скачать можно отсюда — www.mysqueezebox.com/download.
В интернете полно различных руководств по установке и настройке сервера. После установки нужно прописать пути к аудиоколлекции. Управлять сервером и подключенными плеерами можно с компьютера с помощью веб-браузера или специальным клиентом для Android. Можно объединять плееры в группы с синхронным воспроизведением, проигрывать потоки интернет радио, управлять громкостью и коллекцией треков. Клиентов для управления под Android несколько:
Logitech Squeezebox Controller — play.google.com/store/apps/details?id=com.logitech.squeezeboxremote
Squeezebox Remote Premium — play.google.com/store/apps/details?id=com.squeeze.web.premium
Squeezer — play.google.com/store/apps/details?id=uk.org.ngo.squeezer
Orange Squeeze — play.google.com/store/apps/details?id=com.orangebikelabs.orangesqueeze
Squeeze Ctrl — play.google.com/store/apps/details?id=com.angrygoat.android.squeezectrl
Клиентское программное обеспечение
Для тестирования установленного Logitech Media Server (LMS) возможно воспользоваться программой-клиентом squeezelite code.google.com/archive/p/squeezelite/ Для первоначального тестирования можно запустить клиента squeezelite на компьютере с Windows, куда мы установили LMS. Если все играет нормально, тогда можно переходить к установке клиентов на различные системы.
Для многих систем и архитектур есть клиенты на страничке squeezelite (эмулятор плеера SqueezeBox, автор Adrian Smith): arm, mips, Intel Linux x86/x64, Mac OS, Windows.
Для Андроида есть платный клиент — SqueezePlayer play.google.com/store/apps/details?id=de.bluegaspode.squeezeplayer. С этим клиентом у меня нормально синхронизация звука не получилась почему-то.
Для «малинки» raspberry pi есть специальные дистрибутивы с клиентом squeezelite. Использование «малинки» — достаточно дорогое решение. Его применение оправдано при подключении дорогих аудио цапов к «малинке» по i2s.
Для других плат типа «апельсинки», Cubieboard и прочих можно попробовать клиентов со странички squeezelite или собрать самому из исходников.
Для нормального функционирования системы необходимо обеспечить синхронизацию времени на сервере и клиентах. Так же очень важен канал от сервера до клиентов. Идеальный вариант — витая пара Еthernet. Но не всегда можно проложить кабель. Если использовать обычный Wi-Fi 802.11bgn — тогда крайне желательно, чтобы не было других сетей на этом диапазоне. Увы в условиях современных многоквартирных домов этот вариант мало применим. Будут сбои в воспроизведении потоков аудио с высоким битрейтом (FLAC, несжатый поток). Оборудования с поддержкой нового стандарта 802.11nac (где wi-fi сетей пока почти нет) с разумной ценой почти нет. Идеальный вариант — герой обзора роутер Xiaomi Mini. Я покупал роутер со скидкой используя купоны — роутер обошелся в 21$. Но даже по обычной стоимости в 36$ этот роутер — очень привлекательный вариант с поддержкой сетей 802.11nac. Такой роутер стоит у меня основным роутером. Так же эту модель использовал как клиент SqueezeBox.
Плюсы Xiaomi Mini
1. Поддержка 802.11nac
2. Цена
3. Мощное железо
4. Поддержка OpenWrt
5. Дизайн
6. Бренд
Минусы
1. Размер. Но благодаря плоской форме роутер можно спрятать где-нибудь за шкафом или на холодильнике.
Как устройство воспроизведения звука можно использовать любую USB звуковую карту или ЦАП (DAC) с поддержкой Linux USB Audio, подключив ее в разъем USB. Я использовал самую дешевую китайскую звуковую карту. При желании можно использовать кнопки звуковой карты.
Для реализации клиента SqueezeBox на основе Xiaomi Mini нам нужно установить на роутер OpenWrt и программное обеспечение squeezelite для OpenWrt. К сожалению, пакеты для squeezelite пока не входят в стандартный репозиторий OpenWrt. Поэтому нам придется собрать squeezelite из исходных текстов. Если вы планируете использовать подключение клиента по Еthernet или Wi-Fi 802.11bgn достаточно использовать более дешевый «народный» роутер NEXX WT3020 mysku.club/blog/aliexpress/29103.html и wiki.openwrt.org/toh/nexx/wt3020 с 8Мб флеша (кроме модели А — там 4 Мб). Флешпамяти хватит для установки всего необходимого программного обеспечения, без сборки кастомного образа OpenWRT.
Установка OpenWrt Сhaos Сalmer 15.05 на роутер Xiaomi Mini
Процесс установки подробно расписан на сайте OpenWRT по адресу wiki.openwrt.org/toh/xiaomi/mini. Есть два способа прошивки — прошивка с получением пароля для root у компании Xiaomi и короткий — через «дырку» в стоковой прошивке, запуском телнета и смены пароля. У меня получилось вторым способом. Порядок действий такой. В синий коннектор ethernet роутера (Internet) локальную сеть (чтобы роутер был подключен к интернету), в белый ethernet — кабель от компьютера. Включаем роутер. Заходим на роутер с компьютера и устанавливаем пароль на роутер и wifi.
После установки паролей делаем все по инструкции с OpenWRT и прошиваем роутер. Для подключения по telnet использовал putty.exe по адресу 192.168.31.1. Заходим под telnet.
Скачиваем прошивку OpenWRT для Xiaomi mini:
Проверяем наличие раздела OS1
И прошиваем роутер —
Установили OpenWRT версии chaos_calmer 15.05.
Перезагружаем роутер после прошивки (лучше питание отключить и включить через несколько секунд) и заходим на роутер по адресу 192.168.1.1/ (лучше использовать Internet Explorer — с ним web-оболочка не глючит)
Устанавливаем админский пароль на роутер через вебинтерфейс. Дальше я подключил роутер к домашней сети wi-fi по стандарту 802.11nac клиентом(у меня дома основной роутер такой же Xiaomi Mini и две сети wi-fi — одна по стандарту 802.11bgn вторая — 802.11nac
Отключил настройки файервола после подключения к домашней сети.
Меняем имя устройства, устанавливаем таймзону.
Сохраняем все изменения и перегружаем роутер.
Теперь кабели ethernet можно отключить от роутера и работать по wifi с устройством.
На основном роутере в квартире в настройках DHCP присвоить нашему новому клиенту домашней сети (наш роутер) рекомендую присвоить фиксированный IP адрес (для подключения по wi-fi по стандарту 802.11nac). У меня — 192.168.0.47
После установки паролей делаем все по инструкции с OpenWRT и прошиваем роутер. Для подключения по telnet использовал putty.exe по адресу 192.168.31.1. Заходим под telnet.
Скачиваем прошивку OpenWRT для Xiaomi mini:
wget http://downloads.openwrt.org/chaos_calmer/15.05/ramips/mt7620/openwrt-15.05-ramips-mt7620-xiaomi-miwifi-mini-squashfs-sysupgrade.bin -P /tmp
Проверяем наличие раздела OS1
root@XiaoQiang:/tmp# cat /proc/mtd
И прошиваем роутер —
cd /tmp
mtd -r write openwrt-15.05-ramips-mt7620-xiaomi-miwifi-mini-squashfs-sysupgrade.bin OS1
Установили OpenWRT версии chaos_calmer 15.05.
Перезагружаем роутер после прошивки (лучше питание отключить и включить через несколько секунд) и заходим на роутер по адресу 192.168.1.1/ (лучше использовать Internet Explorer — с ним web-оболочка не глючит)
Устанавливаем админский пароль на роутер через вебинтерфейс. Дальше я подключил роутер к домашней сети wi-fi по стандарту 802.11nac клиентом(у меня дома основной роутер такой же Xiaomi Mini и две сети wi-fi — одна по стандарту 802.11bgn вторая — 802.11nac
Отключил настройки файервола после подключения к домашней сети.
Меняем имя устройства, устанавливаем таймзону.
Сохраняем все изменения и перегружаем роутер.
Теперь кабели ethernet можно отключить от роутера и работать по wifi с устройством.
На основном роутере в квартире в настройках DHCP присвоить нашему новому клиенту домашней сети (наш роутер) рекомендую присвоить фиксированный IP адрес (для подключения по wi-fi по стандарту 802.11nac). У меня — 192.168.0.47
После прошивки роутера OpenWrt нужно собрать клиента squeezelite для OpenWrt.
Исходники расположены тут — github.com/squeezewrt/squeezewrt
Автор порта для OpenWrt под ником «АндрейКа» ведет ветку на форуме hi-fidelity-forum.com/forum/thread-107334.html по своему порту squeezelite. Большое ему спасибо за этот порт и за советы по установке на роутеры.
Сборка клиента squeezelite OpenWrt Сhaos Сalmer 15.05
Как оказалось, это не так сложно, как кажется на первый взгляд. Для этого нужен компьютер с установленным Linux. Можно установить Linux на виртуальную машину под Windows и провести сборку там. Я устанавливал на виртуальную машину VirtualBox (https://www.virtualbox.org/) Linux Mint 17.3 “Rosa” Xfce 64 bit (http://blog.linuxmint.com/?p=2977). виртуальная машина должна иметь доступ в интернет. Про установку Linux на виртуальную машину можно тут почитать инструкцию — itbc.kiev.ua/linux-virtualbox.html Для сборки OpenWrt нужно не меньше 32 гб под образ виртуального жесткого диска. Памяти на виртуальную машину нужно чем больше, чем лучше — у меня 16 гб ОЗУ, 2 гб выделено под рамдиск. Для виртуальной машины выделил 8 гб. Так же выделил ресурсы процессора — все 4 ядра процессора. От этих параметров будет зависеть скорость сборки OpenWrt.
После установки Linux на виртуальную машину собираем OpenWrt под наш роутер.
Основано на этом мануале: wiki.openwrt.org/doc/howto/buildroot.exigence
Запускаем терминал в Linux и устанавливаем необходимые пакеты для кросскомпиляции
Дальше подключаем для компиляции нужную нам ветку openwrt (ту, которой прошивали роутер — в нашем случае Chaos Calmer 15.05)
Далее
Конфигурирование сборки, включая проверку зависимостей и условий для окружения сборки
Потом проверим установленные компоненты:
Если чего-то не хватает — то доустанавливаем.
Перед сборкой нужного нам пакета, лучше собрать образ OpenWrt под нашу систему для теста сборки.
Настраиваем конфигурацию для компиляции OpenWrt
Выбираем наш роутер
Сохраняем конфигурацию и запускаем компиляцию
У меня 4 процессора — поэтому беру параметр -j 5
Сборка занимает какое-то время — у меня первая сборка заняла минут 30.
Если у вас есть такие файлы — значит со сборкой все ок.
Теперь собираем порт squeezelite для OpenWRT расположен тут github.com/squeezewrt/squeezewrt.
Набираем в консоли после компиляции
В конец файла добавляем
Ctrl-x нажимаем Y
Далее
Запускаем настройку компиляции
И подключаем компиляцию пакетов squeezelite
и
сохраняем настройки (Save), выходим и запускаем перекомпиляцию
-j 5 — у меня 4 процессора
Должно быть два пакета:
Теперь нужно отправить их на основной компьютер и поместить на роутер.
На компьютер из вируальной машины я просто переслал самом себе эти файлы по электронной почте (зайдя в почту из firefox из linux). Потом скачал эти файлы на основной операционной системе.
После установки Linux на виртуальную машину собираем OpenWrt под наш роутер.
Основано на этом мануале: wiki.openwrt.org/doc/howto/buildroot.exigence
Запускаем терминал в Linux и устанавливаем необходимые пакеты для кросскомпиляции
sudo apt-get update
sudo apt-get install subversion build-essential libncurses5-dev libssl-dev xsltproc zlib1g-dev gawk gcc-multilib flex git-core gettext quilt mkisofs
Дальше подключаем для компиляции нужную нам ветку openwrt (ту, которой прошивали роутер — в нашем случае Chaos Calmer 15.05)
git clone git://git.openwrt.org/15.05/openwrt.git
Далее
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
Конфигурирование сборки, включая проверку зависимостей и условий для окружения сборки
make defconfig
Потом проверим установленные компоненты:
make prereq
Если чего-то не хватает — то доустанавливаем.
Перед сборкой нужного нам пакета, лучше собрать образ OpenWrt под нашу систему для теста сборки.
Настраиваем конфигурацию для компиляции OpenWrt
make menuconfig
Выбираем наш роутер
Сохраняем конфигурацию и запускаем компиляцию
make -j 5 V=s
У меня 4 процессора — поэтому беру параметр -j 5
Сборка занимает какое-то время — у меня первая сборка заняла минут 30.
Если у вас есть такие файлы — значит со сборкой все ок.
Теперь собираем порт squeezelite для OpenWRT расположен тут github.com/squeezewrt/squeezewrt.
Набираем в консоли после компиляции
cp feeds.conf.default feeds.conf
nano feeds.conf
В конец файла добавляем
Ctrl-x нажимаем Y
Далее
./scripts/feeds update -a
./scripts/feeds install -a
./scripts/feeds uninstall squeezelite
./scripts/feeds install -p squeezewrt squeezelite
Запускаем настройку компиляции
make menuconfig
И подключаем компиляцию пакетов squeezelite
и
сохраняем настройки (Save), выходим и запускаем перекомпиляцию
make -j 5 V=99
-j 5 — у меня 4 процессора
ls ./bin/ramips/packages/squeezewrt/
Должно быть два пакета:
luci-app-squeezelite_1.8-1_ramips_24kec.ipk
squeezelite_1.8-1_ramips_24kec.ipk
Теперь нужно отправить их на основной компьютер и поместить на роутер.
На компьютер из вируальной машины я просто переслал самом себе эти файлы по электронной почте (зайдя в почту из firefox из linux). Потом скачал эти файлы на основной операционной системе.
Если кому-то лень собирать самому squeezelite и очень нужно, могу выслать по почте архив с установочными пакетами для OpenWrt Сhaos Сalmer 15.05 для процессоров mips Ralink MT7620A. Для NEXX WT3020 тоже подойдет. Для других архитектур лучше самому пересобрать.
Установка пакетов squeezelite на роутер
Подключаем к роутеру USB звуковую карту. К звуковой карте подключаем усилитель.
Включаем роутер.
Заходим через ssh на роутер putty 192.168.0.47
Устанавливаем вспомогательные пакеты и библиотеки звуковых кодеков:
Теперь нужно разместить скомпилированные нами пакеты на роутер.
Для этого я установил на своем компе маленький http-сервер tinyweb (http://xvid.ru/docs/servers/tiny.htm) и скачал с основного компа на роутер файлы squeezelite.
На роутере в консоли набираем (192.168.0.2 мой основной комп с вебсервером)
Устанавливаем пакеты
Далее редактируем файл
— комментируем использование lirc. Так должно быть в конце этого файла:
Далее запускаем как сервис
и перегружаем роутер.
Заходим в web-интерфейс роутера. В меню «Services» появится пункт «Squeezelite».
Задаем название нашего Squeeze плеера, настройки сервера (у меня 192.168.0.2) и кодеки, которые мы ранее установили.
Сохраняем настройки и перегружаемся.
Все. Настроено. Мы можем использовать наш Squeeze плеер.
Включаем роутер.
Заходим через ssh на роутер putty 192.168.0.47
Устанавливаем вспомогательные пакеты и библиотеки звуковых кодеков:
opkg update
opkg install nano kmod-usb-audio kmod-sound-core
opkg install libflac libmad libvorbis libfaad2 libffmpeg-mini
Теперь нужно разместить скомпилированные нами пакеты на роутер.
Для этого я установил на своем компе маленький http-сервер tinyweb (http://xvid.ru/docs/servers/tiny.htm) и скачал с основного компа на роутер файлы squeezelite.
На роутере в консоли набираем (192.168.0.2 мой основной комп с вебсервером)
wget http://192.168.0.2/squeezelite_1.8-1_ramips_24kec.ipk -P /tmp/
wget http://192.168.0.2/luci-app-squeezelite_1.8-1_ramips_24kec.ipk -P /tmp/
Устанавливаем пакеты
cd /tmp
opkg install squeezelite_1.8-1_ramips_24kec.ipk
opkg install luci-app-squeezelite_1.8-1_ramips_24kec.ipk
Далее редактируем файл
nano /etc/init.d/squeezelite
— комментируем использование lirc. Так должно быть в конце этого файла:
# lirc="-i /tmp/squeezelite.lircrc"
lirc=""
else
lirc=""
fi
local cmdline="-z $name $device $max_sr $close_delay $model_name $specific_server $priority $specific_bufsiz $specific_devopen $alsa_vctrl $codecs$
echo "$cmdline"
Далее запускаем как сервис
/etc/init.d/squeezelite enable
и перегружаем роутер.
Заходим в web-интерфейс роутера. В меню «Services» появится пункт «Squeezelite».
Задаем название нашего Squeeze плеера, настройки сервера (у меня 192.168.0.2) и кодеки, которые мы ранее установили.
Сохраняем настройки и перегружаемся.
Все. Настроено. Мы можем использовать наш Squeeze плеер.
Xiaomi mini — отличный роутер по адекватной цене. Мощный процессор, много встроенной и оперативной памяти, OpenWrt позволяют использовать роутер не только по прямому назначению. Например, в случае использования в качестве Squeeze плеера, подключенного по 802.11nac.
Дополнение
squeezelite включили в транк Openwrt. Есть две версии полная (видимо со всеми кодеками) и мини (с минимум кодеков). Например, версия для Xiaomi:
full — downloads.openwrt.org/snapshots/trunk/ramips/mt7620/packages/packages/squeezelite-full_1.8-2_ramips_24kec.ipk
mini — downloads.openwrt.org/snapshots/trunk/ramips/mt7620/packages/packages/squeezelite-mini_1.8-2_ramips_24kec.ipk
Плагина для вебоболочки luci нету похоже.
Со следующего релиза OpenWrt в репозитории будет видимо.
Установка и настройка отличаются от описанных в статье. Как делается не разбирался.
Самые обсуждаемые обзоры
+73 |
3498
145
|
+31 |
2702
53
|
+51 |
3694
67
|
+39 |
3088
42
|
Такая простая задача решается проще и дешевле FM трансмиттером.А это стельба из пушки по воробьям.ИМХО.
Чтобы громко не включать в одном месте. Можно играть не одно и тоже. Можно вообще часть плееров отключить. Как хочешь так и будет. Легко и просто все управляется.
На трансмитере качество сильно хуже. Трансмиттер пойдет разговорные передачи слушать или когда на расстояния <100 м транслировать нужно — например на садовом участке.
Прошу не обижаться, сама возможность трансляции весьма интересна с технической и программной точки зрения, спасибо за труды!
А как обстоят дела с клиентами под Windows Phone?
Под Windows Phone не знаю — не имею такого оборудования.
А куда больше — большинству этого хватит, тем более что порты у него 100Мбит и по воздуху он даже пошустрее будет) в зависимости от расстояния конечно) На крайняк свитч. Да вообще, покажите мне аналоги за те же деньги)))
Недавно делал себе подобное, но я ставил на роутер mpd плеер а управляю Ios клиентом для mpd. Использую для прослушки интернет-радио. И через Usb хаб принтер подключил к нему. Прошивку юзал от падавана. О логитеч слыхал. Подскажите чем решение от логитеч лучше -хуже связки mpd-mpc? Можно ли сервер логитеч поставить на малинку?
PS вроде нашел симпотный клиент для IOS — Logitech Squezebox Controller. Оно?
И по Вашей наводочке USB-DAC недавно с али приполз-))
banggood.com/3_2-Inch-TFT-LCD-Display-Module-Touch-Screen-For-Raspberry-Pi-B-B-A-p-1011516.html
Вот я такой брал. Описание можно посмотреть здесь www.waveshare.com/product/3.2inch-RPi-LCD-B.htm
Драйвера fbtft в последних распбианах присутствуют, name=waveshare32b.
Обзор конечно классный, читал с интересом, хоть ни чего и не понимал. Особенно не понимал коменты, когда спецы из этой области подтянулись :) Всё ни как не решусь свой прошить на падована, что то всё сложно кажется. Стоковую прошу настроил, вроде и так мне хватает пока возможностей, а всё равно ручки тянуться прошить :)
Это она?
Router Club это сообщество, доступ к которому возможен только по приглашениям. Если вы хотите получить приглашение, попросите об этом в skype-чате клуба.
А просто линк на прошивку дать низзя?
у меня роутер еще в пути…
Если что с просьбами к lolipop :)
Есть скрипт для сборки prometheus.freize.net/index.html
Инструкцию можно найти на youtube
Ничего сложного. Инструкция пошаговая.
роутеру а его как клиента подцепить к основному (тоже xiaomi mini router) роутеру по вафле. до него был zyxel keenetic и там была настройка как клиент или точка доступа. или это возможно только на кастумных прошивках?
Включить одну музыку на всех домашних устройствах? И зачем? Ходить по квартире и слушать музыку? Не понятно мне!
А роутер отличный за свои деньги.
Идея как раз понятная и хорошая. Но вот вопрос качества считаю открытым.
Не могу представить… Слушаешь музыку и ходишь из комнаты в комнату, кхммм…
Лично я слушаю музыку либо в наушниках (потому что я живу с семьёй и не все хотят слушать, то что играет у меня), либо в одной комнате на хорошей АС при этом занимаясь чем-нибудь другим.
Всё это конечно моё личное мнение. Каждому своё. По мне дак — это баловство одного дня.
Для коттеджей или офисов тоже вариант. Тут скорее технология описана. Дорогие акустические системы — цапы — усилители — это дело вкуса. У меня на кухне это все к старой магнитоле Сони подключено — поэтому такая дешевая звуковая карта используется.
но! жаль, что у ксяоми нету промежуточной модели между mini и R2 — хочется гигабитные порты и железо мощнее, а жесткий диск не нужен…
Интересует версия для 3020-го. Спасибо.
full — downloads.openwrt.org/snapshots/trunk/ramips/mt7620/packages/packages/squeezelite-full_1.8-2_ramips_24kec.ipk
mini — downloads.openwrt.org/snapshots/trunk/ramips/mt7620/packages/packages/squeezelite-mini_1.8-2_ramips_24kec.ipk
Плагина для вебоболочки luci нету похоже.
Со следующего релиза OpenWrt в репозитории будет видимо.
Установка и настройка отличаются от описанных в статье. Как делается не разбирался.
Вы бы слышали детский лепет 55 летнего мужика. А самое эпичное, он один из этих роутеров собирается использовать как портативное устройство, т.е. 3G модем + этот роутер + банка силы. Это я еще хз как он это настраивать будет. Вот смотрю на людей и диву даюсь…
А вообще девайс годный, мне нравится именно девайс внешне. Клепали бы его сходу на OpenWRT. Цены бы ему не было. Единственное как я понял они все 100-ки на лан? Очень проседает он в этом плане. И пригондобили бы какую технологию из энтерпрайза для бесшовного покрытия.
Быстрее всего начинаешь понимать, что разгонять, например, процессоры не имеет смысла. Стабильность важнее в 1000 раз.
А процы нужно уметь разгонять, а не тупо выставлять частоты и если запустился, то всё ок. Правда сейчас это не актуально — платить дороже за возможность разгона это тоже, на любителя и извращает самую основу разгона.
9999 пишут когда сопоставляют с 10000. Нет?
А процессоры я разгонял еще перепаиванием и заменой кварцев, так что не нужно мне рассказывать.
Перепайщик кварцевый.
Ты за 20 лет не понял, что о 9000 никто не думает. Дкмальщик хренов.
Так я и говорю, когда взрослеешь понимаешь, что тратить время на всякую фигню — типа разгона, подбора железок бесполезное занятие. Тем более, что стабильность намного важнее. Не говоря уже о том, что сейчас писькомерство уже безполезно, проще нормальную железку взять или память увеличить.
с андроида, по wifi, в рамках домашней сети? Качества не нужно, просто балалайка на кухне, но решения на бт сильно режут звук, и рвут связь при уходе за угол (кирпичные стены). Не уверен что проще в реализации, но допустимо — играть с smb папки (miwifi полный с диском, но owrt ставить не хочу) но управлять воспроизведением — андроидом.
Юсб звуковуха + ??? Black swift избыточен под мою задачу? Может есть решения проще дешевле?
2. Старый телефон на андроиде использовать как плеер — можно и по самбе играть и по UPNP/DLNA
3. Апельсинку с вай-фай свистком, внешней звуковухой PCM2704 (если стоковый звук не нравится) или малинку 3-ю с вайфаем встроенным. На ней mpd поднять или использовать готовый дистрибутив типа Volumio. Музколлекцию mpd натравить на шару на самбе на роутере. БД mpd хранить на локальной sd карте. Очень важно стабильный коннект к шаре по wi-fi организовать, а лучше проводом. Автомонтирование шары сделать. Можно для этого варианта использовать решения на основе роутера и Openwrt — но тут будет совсем пичалька при индексировании большой музколлекции слабеньким роутером и еще по вай-фаю. Проверено опытом.
Ихмо решения на базе роутеров годятся для инетрадио и для решения из этой статьи лучше всего.
4.Если на стоке прошивки роутера возможно поднять UPNP/DLNA сервер, тогда mysku.club/blog/aliexpress/30027.html — WiFi HI-FI приемник аудиосигнала по протоколам Airplay и DLNA c оптическим выходом. Есть более новая версия девайза, но и этот пойдет. Рулится все это через телефон прогой Bubble UPNP.
Это я так, для полноты картины, мол, проблемы схожие есть, для себя пока применил вот такое решение.
2. Единое управление несколькими плеерами через подключение к серверу LMS. Не нужно к каждому плееру подключаться, чтобы изменения внести.
2. у mpdfull+upmpdcli есть проблема при воспроизведении некоторых форматов — не помню сейчас, когда пробовал мешало сильно. Кажется несжатый звук не умеет играть — с компа нельзя было стримить звук в несжатом виде, а во flac стримеров не знаю. Причем это глюк mpd не пофикенный. Сам сталкивался и на форуме volumio про это писали.
3. Если большая коллекция музыки — то сканирование для создание бд в minidlna/mpd занимает очень много времени. У меня флешка на 128 гб забитая музыкой в формате ogg с битрейтом 160 кбс сканировалась несколько часов. Что очень пичально. Иногда при этом сканировании роутер зависал или USB хаб отваливался.
4. USB хаб — внешний зло. Даже хорошие хабы имеют свойство отваливаться раз в несколько дней. Для постоянного использования 24/7 не пойдет.
5. nexx 16 баксов стоит +перепайка памяти. Тут 21$ + 5ГГц + антенна хорошая. Роутер от сяоми очень хороший вариант.
6. Звуковушки нормальные идут из Китая в Россию. Pоутеры раньше пришли. Ткнул что было. В принципе такую копеешную звуковушку как цап для магнитолы можно юзать. Так же можно ее использовать просто как USB клавиатуру ;-)
В принципе технология от Logitech это продвинутый DLNA. Есть подозрение, что они доработали протокол для синхронизации звука. Попробуйте. Хорошая штука — может понравится.
Хорошие недорогие на PCM2704 вот в моем обзоре например — mysku.club/my/Alex_74/page2/
Посмотрите, какие полезные у них находки:
Вот, например, лужеделательная машина:
А это будильно-кормильно-одевальный аппарат:
Всяко-бяко определитель:
www.seeedstudio.com/depot/LinkIt-Smart-7688-p-2573.html?cPath=122_142
Хотел на этих платах сделать — но там 801ac нету и со всем хозяйством (антенна, БП, корпус) стоить как роутер сяоми со скидкой.
Антенну на вай-фай лучше внешнюю.
В принципе, сейчас есть Giga II, и она почти все выполняет идеально, но вифи иногда по непонятным причинам падает ненадолго (смена прошивок не помогает). Дико раздражает, и альтернативных прошивок нет на эту модель. (
ЗЫ Часто сбрасывает внутренние часы, может оттуда и глюк пляшет, но хз как пофиксить (ntp не спасает)
Ихмо chromecast audio аналог плеера типа этого- mysku.club/blog/aliexpress/30027.html или обзор напишите тут, как мультирум на chromecast audio сделать.