Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Проекты

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.11.2014, 03:02   #1
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Музыка в ресторане

Недавно устанавливал видеонаблюдение в ресторане. За одним попросили сделать музыку в VIP-комнатах и зале.
Основное требование заказчика было что бы в комнатах не стояли музыкальные центры и не было пультов (боится что потеряют или испортят). Нужно сделать управление музыкой из-за барной стойки.
Заказчик предложил установить проигрыватели в баре и протянуть провода до колонок.
Это не приемлемо было по двум причинам.
Во первых большая длина провода (более 50 метров). Могли быть помехи. Да и покупка качественных проводов в копеечку бы встала.
Во вторых я представил четыре музыкальных центра за барной стойкой. Да еще и в зале нужно было как то музыку включать в отсутствие диджея. Это еще один музыкальный центр!!!

Решил сделать передачу музыки и управление ей по сети.
Покупать готовые решения дорого.
И опять на выручил роутер TL-MR3020.
Буду делать проигрыватель аналогично сетевой звуковой карте. В этой статье звук передается с компьютера на роутер, а мне нужно что бы роутер сам воспроизводил музыку из общей сетевой папки с компьютера.
Почитав разные варианты решений в интернете отметил что есть проблемы со звуком. То ли памяти не хватает, то ли мощности, то ли скорости передачи данных. Было несколько версий. Кроме того обычно все ставили на дополнительную флешку которая периодически отваливалась.
Что бы избежать таких проблем собрал свою прошивку openwrt для TL-MR3020. В нее включил поддержку USB-звуковых карт и проигрыватель MPD. Мои предположения подтвердились. За счет расположения всего во внутренней памяти музыка воспроизводится без задержек.

Подключил все по схеме:
Нажмите на изображение для увеличения
Название: Untitled.png
Просмотров: 533
Размер:	48.0 Кб
ID:	2001

В каждой комнате находятся только активные компьютерные колонки. Роутеры спрятаны под потолком. Кроме того в каждой комнате есть свой Wi-Fi. Музыка в зале подключена без проводов. Вся база музыки находится на компьютере за барной стойкой. В ресторане настроил прием заказов на планшетах через web-интерфейс программы Cashpad. Сама программа установлена на компютере. Поднят сервер с PHP. Обратил внимание разработчиков на роутеры с Openwrt.
Использовал наличие планшетов.
Управление музыкой с них осуществляется через программу MPDroid.

Нажмите на изображение для увеличения
Название: 35217_60194444.jpg
Просмотров: 484
Размер:	31.0 Кб
ID:	2002

На компьютере через программу qmpdclient.

Нажмите на изображение для увеличения
Название: qmpdclient-win32.png
Просмотров: 486
Размер:	89.5 Кб
ID:	2004

В каждой комнате и в зале играет разная музыка и регулируется по отдельности громкость воспроизведения.

В дальнейшем планирую сделать управление музыкой через web-интерфейс с помощью дополнительного роутера. Тогда посетители ресторана смогут сами себе выбирать музыку и регулировать громкость со своих сотовых телефонов.

Последний раз редактировалось St@rz; 14.11.2014 в 10:44.
St@rz вне форума   Ответить с цитированием
Старый 14.11.2014, 08:43   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Музыка в ресторане

Цитата:
В дальнейшем планирую сделать управление музыкой через web-интерфейс с помощью дополнительного роутера. Тогда посетители ресторана смогут сами себе выбирать музыку и регулировать громкость со своих сотовых телефонов.
А посетители со смартфона смогут управлять?
Admin вне форума   Ответить с цитированием
Старый 14.11.2014, 10:20   #3
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Музыка в ресторане

Цитата:
Сообщение от Admin Посмотреть сообщение
А посетители со смартфона смогут управлять?
Конечно. Посетители подключаются к Wi-Fi в своей комнате. Заходят через браузер на веб-страницу дополнительного роутера. Выбирают свою комнату. Вводят пароль и управляют музыкой. Управление планирую сделать через отправку команд из cgi-скриптов по telnet.
Пример cgi-скрипта для воспроизведения следующего трека:
Код:
#!/bin/sh
{
echo mpc next
} | telnet 192.168.1.5 >/dev/null # указываем свой адрес роутера на который посылаем команду
exit 0
Остались вопросы с регулировкой звука и еще смотрю варианты как сделать что бы вход на определенную страницу сайта был через пароль.

Можно было, конечно, использовать готовый вариант с WEB-управлением MPD, но они все используют PHP. Lighttpd на роутер не входит, а тем более еще и PHP. При размещении этого на другом роутере нужно сделать раздельные страницы для комнат. С этим определенные трудности. Самым простым остается мой вариант.

Последний раз редактировалось St@rz; 14.11.2014 в 14:41.
St@rz вне форума   Ответить с цитированием
Старый 21.11.2014, 21:32   #4
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Музыка в ресторане

Установил на планшет Palapa Web Server. Запустил на нем MPD-Webinterface. Выскакивали ошибки. Скорее всего потому что MPD находился на другом устройстве. Несколько изменил код PHP (player.zip).
Сейчас предупреждения не выскакивают. Теперь можно управлять музыкой через веб-интерфейс с любого устройства.

Сейчас выглядит так:
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 470
Размер:	51.0 Кб
ID:	2023

Позже добавлю функций, изменю внешний вид и страница будет выглядеть примерно так:
Нажмите на изображение для увеличения
Название: 2.png
Просмотров: 445
Размер:	104.5 Кб
ID:	2025Нажмите на изображение для увеличения
Название: 1347291139_2.png
Просмотров: 446
Размер:	28.7 Кб
ID:	2027

Нужно еще будет добавить для каждой комнаты свой пароль.

Последний раз редактировалось St@rz; 21.11.2014 в 22:01.
St@rz вне форума   Ответить с цитированием
Старый 20.01.2017, 16:31   #5
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Музыка в ресторане

Не написал как настроить после прошивки. Исправляюсь

1. Подключаемся проводом. IP-роутера по умолчанию 192.168.1.1. DHCP отключен.
Соответственно, настраиваем свою сетевую карту для подключения:
Название: 1.jpg
Просмотров: 972

Размер: 63.7 Кб
2. Заходим на роутер через PUTTY:
Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 219
Размер:	82.2 Кб
ID:	4066
3. Если подключение будет только проводом, то настраиваем только сеть в файле etc/config/network.
Опишу подключение клиентом Wi-Fi.
Включаем беспроводной адаптер:
root@OpenWrt:~# vi etc/config/wireless
Нажатием клавиши "i" получаем доступ к редактированию файла. Исправляем 1 на 0
Код:
option disabled 0
И настраиваем подключение:
Код:
        option device   	radio0
        option network  	wwan   
        option mode     	sta		#подключение клиентом
        option ssid     	Keenetic-6878	#название сети
        option encryption 	psk		#тип шифрования
        option key 		qwerty		#пароль Wi-Fi
выполняем Esc --> :wq
Далее настраиваем параметры сети:
root@OpenWrt:~# vi etc/config/network
Добавляем секцию config interface 'wwan':
Код:
config interface 'wwan'
        option proto 'static'
        option netmask '255.255.255.0'
        option ipaddr '192.168.127.100'
        option gateway '192.168.127.1'
        option dns '192.168.127.1'
Роутер к которому подключается клиентом проигрыватель с OpenWRT имеет адрес 192.168.127.1. Поэтому показаны такие настройки. Вы вводите свои.
Более подробно можно почитать про настройку сети здесь.
Можно использовать встроенный пакет relayd и настроить что бы роутер не только получал интернет по Wi-Fi, но и раздавал уже свой Wi-Fi. Получим усилитель сигнала.
4. Вернемся к проигрывателю.
Создадим папку .mpd в профиле пользователя.
root@OpenWrt:~# mkdir ~/.mpd
Вносим изменения в файл конфигурации mpd.
root@OpenWrt:~# vi /etc/mpd.conf
Раскомментируем и исправляем строки:
Код:
music_directory        	"~/.mpd"
playlist_directory     	"~/.mpd"
db_file                	"~/.mpd/database"
log_file               	"~/.mpd/log"
pid_file             	"~/.mpd/pid"
port                            "6600"
audio_output {
        type            "oss"
        name            "My OSS Device"
        device          "/dev/dsp"      # optional
        format          "44100:16:2"    # optional
        mixer_type      "hardware"      # optional
        mixer_device    "/dev/mixer"    # optional
        mixer_control   "pcm"   	# optional
}
Вместо PCM (выделено красным) иногда лучше написать PHONEOUT. Но в некоторых случаях нужно оставлять без изменений. Некоторые звуковые карты позволяют регулировать звук только с параметром PCM. Пример такой звуковой карты.
5. Подключим веб-радио.
Создадим файл radio.m3u
root@OpenWrt:~# vi ~/.mpd/radio.m3u
Пример содержания файла
Код:
http://bfmstream.bfm.ru:8004/fm
http://217.20.164.163:8014/
http://stream.makradio.ru/retrohit128.mp3
6. root@OpenWrt:~# mpd start
7. Подключаемся к серверу клиентом.
Для Android - MPDroid и DroidMPD.
Для iPhone/iPod - MPoD.
Для iPad - MPaD.
Подробней здесь.
Адрес сервера указываем раньше. Порт 6600.
Заходим в списки воспроизведения и слушаем радио

Как подключить сетевой диск описывал раньше.
Думаю переделать прошивку.
Добавить поддержку 3G-модемов (для интернет радио в машине) и подключение Яндекс-диска (для хранилища своих аудио-файлов без компьютера).
St@rz вне форума   Ответить с цитированием
Старый 21.01.2017, 11:39   #6
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Музыка в ресторане

Цитата:
Сообщение от St@rz Посмотреть сообщение
Управление планирую сделать через отправку команд из cgi-скриптов по telnet.
Код:
#!/bin/sh
{
echo mpc next
} | telnet 192.168.1.5 >/dev/null # указываем свой адрес роутера на который посылаем команду
exit 0
А зачем телнет? Один раз export MPD_HOST=192.168.1.5; и mpc сам будет подключаться к удаленному хосту MPD без телнета.
Можно добавить эту строку в переменные окружения пользователя из-под которого запускается скрипт, а можно прям в скрипте написать:
Код:
if [ -n "$MPD_HOST"]; then export MPD_HOST=192.168.1.1; fi
Для громкости можно сделать ползунок и передавать mpс volume $value.
С html5 все стало проще...

Последний раз редактировалось Tohin; 21.01.2017 в 11:42.
Tohin вне форума   Ответить с цитированием
Старый 23.01.2017, 02:50   #7
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Музыка в ресторане

Как бы еще поиск и прослушивание музыки из vk.com приделать? Или яндекс музыки.
Файловую систему vkontakte, на fuse можно использовать?

Последний раз редактировалось St@rz; 23.01.2017 в 03:04.
St@rz вне форума   Ответить с цитированием
Старый 23.01.2017, 19:13   #8
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Музыка в ресторане

Из музыкальных хранилищ нашел только вариант с платным Google Play Music с помощью GMusicFS.
Есть еще варианты?
St@rz вне форума   Ответить с цитированием
Старый 23.01.2017, 21:01   #9
Tohin
Moderator
 
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1030
Tohin is a jewel in the roughTohin is a jewel in the roughTohin is a jewel in the rough
По умолчанию Re: Музыка в ресторане

Я писал в поддержку Яндексов сделать плагин для MPD.
Ответ кисловат:
Цитата:
[Ticket#15090421550284595] Пожелания и предложения: Рекомендации|Другое
Благодарим за интерес к сервису Яндекс.Музыка!
Постараемся в будущем учесть Ваше пожелание о плагине для MPD.
Мы собираем все пожелания наших пользователей и со временем реализуем наиболее популярные или полезные из них.
Пока, в качестве варианта, можно с яблок стримить на mr3020.
Стримится всё. и вконтакт и яндекс
Tohin вне форума   Ответить с цитированием
Старый 24.01.2017, 17:05   #10
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Музыка в ресторане

Цитата:
Сообщение от Tohin Посмотреть сообщение
Я писал в поддержку Яндексов сделать плагин для MPD.
Ответ кисловат:


Пока, в качестве варианта, можно с яблок стримить на mr3020.
Стримится всё. и вконтакт и яндекс
Спасибо, но вариант с pulseaudio не подходит. Я его сразу исключил. В одну комнату нужно одну музыку. В другую - рок. В третью - джаз. Телефон используется только для управления. Хранилище музыки одно для всех устройств.
St@rz вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 3 (пользователей: 0 , гостей: 3)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:55. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика