![]() |
![]() |
#11 |
Junior Member
Регистрация: 14.10.2012
Сообщений: 4
Вес репутации: 0 ![]() |
![]()
Для прослушивания онлайн радио для мпд можно создать m3u плейлист со ссылками на потоки
radio.m3u: http://188.127.226.185:80 http://ogg2.as34763.net/vc160.ogg |
![]() |
![]() |
![]() |
#12 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Babah мы тут вроде OpenWrt обсуждаем. И было бы полезно показать пример компиляции для этой версии (и желательно для роутера mr3020).
|
![]() |
![]() |
![]() |
#13 |
Junior Member
Регистрация: 14.10.2012
Сообщений: 4
Вес репутации: 0 ![]() |
![]()
Optware одинаков для всех, для прошивок от Олега, для dd-wrt, openwrt, обо всем этом вы можете прочитать на сайте википедии http://en.wikipedia.org/wiki/Optware
В данном случае для openwrt меняется одна строчка: OPTWARE_TARGET ?= nslu2 на OPTWARE_TARGET = openwrt (в вашем случае) Последний раз редактировалось Babah; 14.10.2012 в 21:31. |
![]() |
![]() |
![]() |
#14 |
Junior Member
Регистрация: 23.10.2012
Сообщений: 13
Вес репутации: 0 ![]() |
![]()
Звук через звуковую от usb колонок SVEN только с одного канала.
Помогите примонтировать медиатеку при загрузке, монтирую через ssh все ок. А как сделать при загрузке? Монтирую вот так mount.cifs //192.168.1.4/Allmedia /mnt/Allmedia -o user=*****, password=*** Закидывал в вебморду в раздел Startup, не помогло ... |
![]() |
![]() |
![]() |
#15 | |
Junior Member
Регистрация: 26.10.2012
Адрес: 127.0.0.1
Сообщений: 4
Вес репутации: 0 ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
все что вы туда напишете будет исполнено. у меня так: # это вызывает загрузку всех установленных модулей # (у меня часть модулей на флэшке и при буте ее еще нет) . /lib/functions/extmount.sh && er_load_modules # проверяю наличие видеокамеры и запускаю стриминг ![]() test -r /dev/video0 && test -e /opt/www/dd/mjpg.sh && sh /opt/www/dd/mjpg.sh >/tmp/video_log 2>&1 & главное, все свои комманды писать до "exit 0" и фоновые демоны запускать в фоне (&) ![]() ЗЫ: а по хорошему, это должно монтироваться через fstab, загугли "openwrt fstab cifs" Последний раз редактировалось susanin; 26.10.2012 в 19:43. |
|
![]() |
![]() |
![]() |
#16 |
Junior Member
Регистрация: 25.01.2013
Адрес: Рыбинск,Ярославская обл
Возраст: 46
Сообщений: 8
Вес репутации: 0 ![]() |
![]()
Городил я подобного рода огород. Самая большая трудность в написании демона , который бы при скачке потока передавал управление дальше на скрипт слушающий кнопки. Не силен в BASH потому огород нагородил. Переключение станций осуществлял кнопкой WPS
|
![]() |
![]() |
![]() |
#17 |
Junior Member
Регистрация: 25.01.2013
Адрес: Рыбинск,Ярославская обл
Возраст: 46
Сообщений: 8
Вес репутации: 0 ![]() |
![]()
После опытов с коробочкой в частности создания VPN сервера
для раздачи итернета в замен жужжашего и кушающего электричесво системника - мне захотелось сделать радио в замен приемника на кухне котоое почему то не очень хорошо ловит десяток местных радиостанций. Выбор очередной раз пал на коробочку TP-LINK 3020 . Перепрошил ей мосг по инструкции , которых множество в интернете. В начальной версии устройства я использовал место USB звуковой карты - старый USB телефон , которые мы в множестве использавали для скайпа на работе , пока не настроили нормальную связь через АТС. Роутер берет интернет через WI-FI с домашнего DLINK-320 в режиме клиента. После перепрошивки воткнул трубку в хаб и дал команду (предварительно нужно поставить madplay): wget -q -O- http://stream.makradio.ru/retrohit128.mp3/title | madplay - результатом из трубки заиграла музыка, что меня немного удивило и порадовало. Далее стало интересно как сделать переключение фикированого количества радиостанций по средствам одной имеющейся кнопки (WPS) на устройстве. После непродолжительного копания в инете я нашел как управлять светодтдами и читать состояние кнопки. смотрим какие светодиоды есть: ls /sys/devices/platform/leds-gpio/leds/ Включить светодиод 3g echo 1 > /sys/devices/platform/leds-gpio/leds/tp-link\:green\:3g/brightness Выключить светодиод 3g echo 0 > /sys/devices/platform/leds-gpio/leds/tp-link\:green\:3g/brightness читаем статус cat /sys/devices/platform/leds-gpio/leds/tp-link\:green\:3g/brightness если 0 то светодиод не горит , иначе горит. Чтение значений кнопки сделал как рассказано во тут : http://wiki.openwrt.org/doc/howto/hardware.button в скрипте обработки нажатия кнопки WPS я подвесил запуск своего скрипта start.sh . Все мои скрипты лежат в папке /mnt/usb/ т.к. я не очень силен в лнуксе и не знаю как примонтировать домашнюю папку. содержимое скрипта start.sh if [ $(cat /mnt/usb/prog.ini) == "0" ] then echo 1 > /mnt/usb/prog.ini; exit 0; fi if [ $(cat /mnt/usb/prog.ini) == "1" ] then echo 2 > /mnt/usb/prog.ini; exit 0; fi if [ $(cat /mnt/usb/prog.ini) == "2" ] then echo 3 > /mnt/usb/prog.ini; exit 0; fi if [ $(cat /mnt/usb/prog.ini) == "3" ] then echo 4 > /mnt/usb/prog.ini; exit 0; fi if [ $(cat /mnt/usb/prog.ini) == "4" ] then echo 5 > /mnt/usb/prog.ini; exit 0; fi if [ $(cat /mnt/usb/prog.ini) == "5" ] then echo 6 > /mnt/usb/prog.ini; exit 0; fi if [ $(cat /mnt/usb/prog.ini) == "6" ] then echo 0 > /mnt/usb/prog.ini; exit 0; fi данный скрипт пишет номер каждого послеующего вызова в файл prog.ini , количество вызовов 6 , по количеству в данный момен настроенных радиостанций. После 6 начинаем сначала. Нужно это вот для чего : Как оказалось в начале , что при запуске воспроизведения система попросту блокировалась не не воспринимала последующие команды нажатия кнопки WPS После безуспешных попыток использовать оператор exec или && - пришлось написать обработчик , который в бесконечном цикле читает значение из файла prog.ini и выполняет определенные действия не блокируя при этом скрипт обработки нажатия кнопки. Данный обработчик пришлось запускать из crontab , так как запуск через rc.local зацикливал загрузку устройства кнопка wps при этом постоянно мигала. Но проблемы при этом вовсе не закончились. Для запуска обработчика пришлось написать еще один скрипт который не прерывал загрузку. Ставим данный скрипт в cron с интервалом запуска 1 минута. Обработчик t1.sh #!/bin/bash if [ -z $(ps | grep -v grep | grep 01.sh) ] then echo "NOT WORK !!!"; $(sh /mnt/usb/01.sh); else echo "WORK!!!"; exit 0; fi данный скрипт проверяет не запущен ли обработчик 01.sh и если он запущен - ничего не делает. В противном случае стартует обработчик. Обработчик 01.sh #!/bin/bash sh /mnt/usb/onradio.sh while true do if [ $(cat /mnt/usb/prog.ini) = "1" ] then if [ -z $(ps | grep -v grep | grep wget) ] then sh /mnt/usb/ledoff.sh; sh /mnt/usb/stop.sh; echo "------MAKRADIO-----"; sh /mnt/usb/macradio.sh; fi fi if [ $(cat /mnt/usb/prog.ini) = "2" ] then if [ -z $(ps | grep -v grep | grep wget) ] then sh /mnt/usb/ledoff.sh; sh /mnt/usb/stop.sh; echo "-----DOROJNOE RADIO-----"; sh /mnt/usb/doradio.sh; fi fi if [ $(cat /mnt/usb/prog.ini) = "3" ] then echo "on"; if [ -z $(ps | grep -v grep | grep wget) ] then sh /mnt/usb/ledoff.sh; sh /mnt/usb/stop.sh; echo "-----SILVER RAIN-----"; sh /mnt/usb/dojd.sh; fi fi if [ $(cat /mnt/usb/prog.ini) = "4" ] then echo "on"; if [ -z $(ps | grep -v grep | grep wget) ] then sh /mnt/usb/ledoff.sh; sh /mnt/usb/stop.sh; echo "-----europpa plus-----"; sh /mnt/usb/r04.sh; fi fi if [ $(cat /mnt/usb/prog.ini) = "5" ] then echo "on"; if [ -z $(ps | grep -v grep | grep wget) ] then sh /mnt/usb/ledoff.sh; sh /mnt/usb/stop.sh; echo "-----vesti24------"; sh /mnt/usb/r05.sh; fi fi if [ $(cat /mnt/usb/prog.ini) = "6" ] then echo "on"; if [ -z $(ps | grep -v grep | grep wget) ] then sh /mnt/usb/ledoff.sh; sh /mnt/usb/stop.sh; echo "-----zaucev vet pop------"; sh /mnt/usb/r06.sh; fi fi if [ $(cat /mnt/usb/prog.ini) = "0" ] then echo "-----wait-----"; if [ -z $(ps | grep -v grep | grep wget) ] then echo "1"; else sh /mnt/usb/stop.sh; echo "-----STOP......"; fi fi sleep 1; done; данный обработчик как было написано выше крутится в бесконечном цикле и выполняет команды переданные через файл prog.ini Алгоритм работы следующий: 1. Загрузка системы 2. Запуск радио на станцию 1 3. воспроизведение. если меняется команда , то прибивается процесс wget. Это конечно не очень хорошее решение , но оно работает. Данное действие производится вызовом скрипа stop.sh killall $(ps | grep -v grep | grep wget); exit 0; После остановки воспроизведения , происходит запуск скрипта для следующей радиостанции согласно номеру в файле prog.ini. В последствие я из стал называть в видемr05.sh , где 05 это номер радиостанции. пример 05.sh wget -q -O- http://81.19.85.195:80/vesti64.mp3 | madplay - если в названии потока есть скобки то адрес берем в одинарные кавычки: wget -q -O- 'http://radio.zaycev.fm:9002/ZaycevFM(128)' | madplay - после прохождения 6й позици идет позиция 0 . В данном режиме ничего не играет. Что плохо работает: 1. Долгое переключение 2. Не работает индикация при переключении. Нужно что бы при начале переключения индикатор wps гас и загорался при начале воспроизведения. 3. Последующая индикация номера канала. Тут скорей всего придется ставить микроконтроллер. 4. Долгая загрузка через crontab обработчика t1.sh @reboot sh /mnt/usb/t1.sh 0-59 * * * * sh /mnt/usb/t1.sh Последний раз редактировалось star003; 25.01.2013 в 11:37. |
![]() |
![]() |
![]() |
#18 |
Junior Member
Регистрация: 24.09.2012
Сообщений: 10
Вес репутации: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#19 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
star003 посмотрите в сторону mpd и клиента к нему mpc в репозитории есть.
|
![]() |
![]() |
![]() |
#20 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Сегодня поигрался с веб радио
Представляю тестовый, корявый вариант кода radio.rar Распакуйте в папку radio на вашем роутере, в домашней директории сервера lighttpd . В браузере на удавленном ПК вбейте адрес , у меня адрес выглядит вот так http://192.168.1.20:81/radio/ , у вас может отличатся IP и порт В окне браузера должны появится кнопки. Нажмите кнопку с нужной станцией и наслаждайтесь прослушиванием |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|