14.11.2014, 03:02 | #1 |
Senior Member
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0 |
Музыка в ресторане
Недавно устанавливал видеонаблюдение в ресторане. За одним попросили сделать музыку в VIP-комнатах и зале.
Основное требование заказчика было что бы в комнатах не стояли музыкальные центры и не было пультов (боится что потеряют или испортят). Нужно сделать управление музыкой из-за барной стойки. Заказчик предложил установить проигрыватели в баре и протянуть провода до колонок. Это не приемлемо было по двум причинам. Во первых большая длина провода (более 50 метров). Могли быть помехи. Да и покупка качественных проводов в копеечку бы встала. Во вторых я представил четыре музыкальных центра за барной стойкой. Да еще и в зале нужно было как то музыку включать в отсутствие диджея. Это еще один музыкальный центр!!! Решил сделать передачу музыки и управление ей по сети. Покупать готовые решения дорого. И опять на выручил роутер TL-MR3020. Буду делать проигрыватель аналогично сетевой звуковой карте. В этой статье звук передается с компьютера на роутер, а мне нужно что бы роутер сам воспроизводил музыку из общей сетевой папки с компьютера. Почитав разные варианты решений в интернете отметил что есть проблемы со звуком. То ли памяти не хватает, то ли мощности, то ли скорости передачи данных. Было несколько версий. Кроме того обычно все ставили на дополнительную флешку которая периодически отваливалась. Что бы избежать таких проблем собрал свою прошивку openwrt для TL-MR3020. В нее включил поддержку USB-звуковых карт и проигрыватель MPD. Мои предположения подтвердились. За счет расположения всего во внутренней памяти музыка воспроизводится без задержек. Подключил все по схеме: В каждой комнате находятся только активные компьютерные колонки. Роутеры спрятаны под потолком. Кроме того в каждой комнате есть свой Wi-Fi. Музыка в зале подключена без проводов. Вся база музыки находится на компьютере за барной стойкой. В ресторане настроил прием заказов на планшетах через web-интерфейс программы Cashpad. Сама программа установлена на компютере. Поднят сервер с PHP. Обратил внимание разработчиков на роутеры с Openwrt. Использовал наличие планшетов. Управление музыкой с них осуществляется через программу MPDroid. На компьютере через программу qmpdclient. В каждой комнате и в зале играет разная музыка и регулируется по отдельности громкость воспроизведения. В дальнейшем планирую сделать управление музыкой через web-интерфейс с помощью дополнительного роутера. Тогда посетители ресторана смогут сами себе выбирать музыку и регулировать громкость со своих сотовых телефонов. Последний раз редактировалось St@rz; 14.11.2014 в 10:44. |
14.11.2014, 08:43 | #2 | |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Музыка в ресторане
Цитата:
|
|
14.11.2014, 10:20 | #3 |
Senior Member
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0 |
Re: Музыка в ресторане
Конечно. Посетители подключаются к 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. |
21.11.2014, 21:32 | #4 |
Senior Member
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0 |
Re: Музыка в ресторане
Установил на планшет Palapa Web Server. Запустил на нем MPD-Webinterface. Выскакивали ошибки. Скорее всего потому что MPD находился на другом устройстве. Несколько изменил код PHP (player.zip).
Сейчас предупреждения не выскакивают. Теперь можно управлять музыкой через веб-интерфейс с любого устройства. Сейчас выглядит так: Позже добавлю функций, изменю внешний вид и страница будет выглядеть примерно так: Нужно еще будет добавить для каждой комнаты свой пароль. Последний раз редактировалось St@rz; 21.11.2014 в 22:01. |
20.01.2017, 16:31 | #5 |
Senior Member
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0 |
Re: Музыка в ресторане
Не написал как настроить после прошивки. Исправляюсь
1. Подключаемся проводом. IP-роутера по умолчанию 192.168.1.1. DHCP отключен. Соответственно, настраиваем свою сетевую карту для подключения: 2. Заходим на роутер через PUTTY: 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 Далее настраиваем параметры сети: 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' Более подробно можно почитать про настройку сети здесь. Можно использовать встроенный пакет 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 } 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 7. Подключаемся к серверу клиентом. Для Android - MPDroid и DroidMPD. Для iPhone/iPod - MPoD. Для iPad - MPaD. Подробней здесь. Адрес сервера указываем раньше. Порт 6600. Заходим в списки воспроизведения и слушаем радио Как подключить сетевой диск описывал раньше. Думаю переделать прошивку. Добавить поддержку 3G-модемов (для интернет радио в машине) и подключение Яндекс-диска (для хранилища своих аудио-файлов без компьютера). |
21.01.2017, 11:39 | #6 | |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 |
Re: Музыка в ресторане
Цитата:
Можно добавить эту строку в переменные окружения пользователя из-под которого запускается скрипт, а можно прям в скрипте написать: Код:
if [ -n "$MPD_HOST"]; then export MPD_HOST=192.168.1.1; fi С html5 все стало проще... Последний раз редактировалось Tohin; 21.01.2017 в 11:42. |
|
23.01.2017, 02:50 | #7 |
Senior Member
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0 |
Re: Музыка в ресторане
Как бы еще поиск и прослушивание музыки из vk.com приделать? Или яндекс музыки.
Файловую систему vkontakte, на fuse можно использовать? Последний раз редактировалось St@rz; 23.01.2017 в 03:04. |
23.01.2017, 21:01 | #9 | |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 |
Re: Музыка в ресторане
Я писал в поддержку Яндексов сделать плагин для MPD.
Ответ кисловат: Цитата:
Стримится всё. и вконтакт и яндекс |
|
24.01.2017, 17:05 | #10 | |
Senior Member
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0 |
Re: Музыка в ресторане
Цитата:
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|