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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.07.2014, 12:34   #41
amod-cccp
Senior Member
 
Аватар для amod-cccp
 
Регистрация: 05.01.2013
Адрес: Беларусь
Сообщений: 241
Вес репутации: 633
amod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond repute
По умолчанию Re: CyberWrt модуль "Веб Радио"

Может поможет вытащить поток? http://www.radioultra.ru/player/#ultra
__________________
Моя солянка на основе TL-MR3020.
amod-cccp вне форума   Ответить с цитированием
Старый 17.07.2014, 12:50   #42
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: CyberWrt модуль "Веб Радио"

Ну так в браузере проверил, получается тоже самое каждый раз начинается сначала
Admin вне форума   Ответить с цитированием
Старый 27.08.2014, 12:50   #43
rabster
Junior Member
 
Регистрация: 27.08.2014
Адрес: Могилёв
Сообщений: 25
Вес репутации: 0
rabster is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Веб Радио"

Решил сделать для кухни Интернет радио, всё отлично, работает.
Но решил поиграть с дизайном, по нареканиям супруги, мол неудобно с телефона управлять, получилось вот так...

Что уже не делал, не могу изменить стиль текста в списке радиостанций, может вы что-нибудь подскажете?

Последний раз редактировалось rabster; 28.08.2014 в 22:18.
rabster вне форума   Ответить с цитированием
Старый 27.08.2014, 13:09   #44
rabster
Junior Member
 
Регистрация: 27.08.2014
Адрес: Могилёв
Сообщений: 25
Вес репутации: 0
rabster is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Веб Радио"

При переключении станции или изменении громкости иногда прекращается воспроизведение, как видно по индикатору сетевой активности в это время передача данных не ведется, повторное нажатие на громкость или станцию решают эту проблему, как можно исправить такое подвисание?
rabster вне форума   Ответить с цитированием
Старый 27.08.2014, 13:22   #45
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: CyberWrt модуль "Веб Радио"

Цитата:
Сообщение от rabster Посмотреть сообщение
Решил сделать для кухни Интернет радио, всё отлично, работает.
Но решил поиграть с дизайном, по нареканиям супруги, мол неудобно с телефона управлять, получилось вот так...

Что уже не делал, не могу изменить стиль текста в списке радиостанций, может вы что-нибудь подскажете?
Если выложите код, ч могу Ваш вариант радио добавить в репозиторий

По поводу текста и бага, напомните наследующей неделе. Человек который написал этот код, в отпуске
Admin вне форума   Ответить с цитированием
Старый 27.08.2014, 21:37   #46
amod-cccp
Senior Member
 
Аватар для amod-cccp
 
Регистрация: 05.01.2013
Адрес: Беларусь
Сообщений: 241
Вес репутации: 633
amod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond reputeamod-cccp has a reputation beyond repute
По умолчанию Re: CyberWrt модуль "Веб Радио"

Цитата:
Сообщение от rabster Посмотреть сообщение
При переключении станции или изменении громкости иногда прекращается воспроизведение, как видно по индикатору сетевой активности в это время передача данных не ведется, повторное нажатие на громкость или станцию решают эту проблему, как можно исправить такое подвисание?
Так же останавливается воспроизведение, когда заходишь в веб морду и нажимаешь вкладку ''Веб Радио''.
__________________
Моя солянка на основе TL-MR3020.
amod-cccp вне форума   Ответить с цитированием
Старый 28.08.2014, 12:24   #47
rabster
Junior Member
 
Регистрация: 27.08.2014
Адрес: Могилёв
Сообщений: 25
Вес репутации: 0
rabster is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Веб Радио"

Цитата:
Сообщение от Admin Посмотреть сообщение
Если выложите код, ч могу Ваш вариант радио добавить в репозиторий

По поводу текста и бага, напомните наследующей неделе. Человек который написал этот код, в отпуске
Файлы которые изменял:

/www/menu.html
изменил форматирование, что бы все ссылки были в одном блоке
ОБРАТИТЕ ВНИМАНИЕ! пункты меню в данном коде соответствуют установленным на моем устройстве модулям, на вашем устройстве может быть другой набор модулей, соответственно пункты меню будут отличаться.

Код:
<link rel=stylesheet type=text/css href=/modules/style.css><div class="left"><body onload="startTime()"><a href="/cgi-bin/recovery.cgi" title=Перезагрузить или восстановить><b><span id="txt"></span></b></a>
<a href=/cgi-bin/modules/web_radio/index.cgi>|Интернет Радио|</a>
<a href=/cgi-bin/modules/filemanager/index.cgi>|Файл менеджер|</a>
<a href=/cgi-bin/modules/gmail/index.cgi>|Gmail|</a>
<a href=/cgi-bin/modules/manmod/index.cgi>|Модули|</a>
<a href=/cgi-bin/modules/sound_driver/index.cgi>|Драйвер Аудио|</a>
</div>
<script type="text/javascript">function startTime(){ var tm=new Date(); var h=tm.getHours(); var m=tm.getMinutes(); var s=tm.getSeconds(); m=checkTime(m); s=checkTime(s);document.getElementById('txt').innerHTML=h+":"+m+":"+s; t=setTimeout('startTime()',500); }
function checkTime(i){ if (i<10) { i="0" + i;} return i; } </script>
/www/modules/style.css
Изменил стиль тела страницы и меню, добавил стиль заголовка и файлменеджера, что бы в будущем изменение стиля производилось только этим файлом.

Код:
body {background-color:#269;
   color: #fefefe;
   font-size: 30px;
   font-weight: bold;
   line-height: 1.3em;
   border: 2px dashed #fff;
   border-radius: 10px;
   box-shadow: 0 0 0 4px #269, 2px 1px 6px 4px rgba(10, 10, 0, 0.5);
   font-weight: normal;
   text-decoration: none;
   color: #fefefe;
}
div.header {
   padding: 5px;
   margin: 10px;
   background: #269;
   color: #fefefe;
   text-decoration: none;
   font-size: 40px;
   font-weight: bold;
   line-height: 1.3em;
   border: 2px dashed #fff;
   border-radius: 10px;
   box-shadow: 0 0 0 4px #269, 2px 1px 6px 4px rgba(10, 10, 0, 0.5);
}
h1 {color: #fefefe;
   font-size: 40px;
   font-weight: bold;
}
div.left {
   padding: 5px;
   margin: 10px;
   background: #269;
   color: #fefefe;
   text-decoration: none;
   font-size: 20px;
   font-weight: bold;
   line-height: 1.3em;
   border: 2px dashed #fff;
   border-radius: 10px;
   box-shadow: 0 0 0 4px #269, 2px 1px 6px 4px rgba(10, 10, 0, 0.5);
}
.tabstyle { 
      border: none;
}               
 
.tabstyle thead, th {
      background: #269
      text-align: center; 
      vertical-align: text-top;
      padding:3px;
} 
 
.tabstyle td, tr {
      text-align:left;
      vertical-align: text-center;
      padding:3px;
      background: #269;
}
.tabstyle tr:hover {
      border: 1px solid #fefefe;
      background: silver;
}
.radiotabstyle { 
      font-size: 40px;
      border: none;
}               
.radiotabstyle td, tr {
      text-align: left;
      vertical-align: text-center;
      padding:3px;
}
.radiotabstyle tr:hover {
      border: 1px solid;
      font-weight: bold;
}
a img{border:none;
}
a{
   text-decoration: none;
   color: #fefefe;
}
a:hover{
   text-decoration: none;
   color: #fff;
}
div.hidden
{
display: none;
position:absolute;
text-align: center;
margin-top: 1px;
/*width: 50%;*/
left:50%;
margin-left:-25%;
border: 1px solid #fff;
}
/www/cgi-bin/modules/webradio/index.cgi
Перенес меню вниз, добавил заголовок, изменил стиль регулятора громкости, изменил громкость по умолчанию, шаг регулятора громкости и максимальный и минимальны порог громкости. Нужно ещё профиксить кнопку восстановления.

Код:
#!/bin/sh
#Copyright (C) 2013 cyberwrt.ru, cyber-place.ru, mp3car.ru
echo "Content-type: text/html; charset=utf-8"
echo 
echo "<title>RADIO</title>"
echo "<script type="text/javascript">function startTime(){ var tm=new Date(); var h=tm.getHours(); var m=tm.getMinutes(); var s=tm.getSeconds(); m=checkTime(m); s=checkTime(s);document.getElementById('txt').innerHTML=h+":"+m+":"+s; t=setTimeout('startTime()',500); }
function checkTime(i){ if (i<10) { i="0" + i;} return i; } </script>" 
echo "<div class="header"><b><span id="txt"></span> </b>| Интернет Радио</div>" 

if [ -f /tmp/install.sh ]; then
echo "<pre>`sh /tmp/install.sh`</pre>"
rm -f /tmp/install.sh
fi
if echo "$QUERY_STRING" | egrep -q "station=" ; then
echo -e `echo "$QUERY_STRING" | awk '{print$1}' |sed -e 's/%\(\)/\\\x/g'|sed 's/+/ /g' | sed "s/station=//g" | sed "s/&url=/ /g"` >>  /www/modules/web_radio/list.radio
echo "<script>window.location.href=\"$SCRIPT_NAME\"</script>"
fi
if echo "$QUERY_STRING" | egrep -q "del=" ; then
QUERY_STRING=${QUERY_STRING//del=}
#QUERY_STRING=`echo "$QUERY_STRING" | sed "s/\//\//g"`
echo $QUERY_STRING
`sed -i "$QUERY_STRING"d /www/modules/web_radio/list.radio` 
echo "<script>window.location.href=\"$SCRIPT_NAME\"</script>"
fi
echo "<style>
input[type='range']{-webkit-appearance: none; 
margin: 13px;
background-color:#dfdfdf;
);
height: 50px; 
width: 480px; 
border-radius: 20px;
border: 2px solid #000;
box-shadow: 0px 0px 15px 0px rgba(50, 50, 50, 0.8);}
input[type=range]::-webkit-slider-thumb{-webkit-appearance: none;
width: 30px; 
height: 50px; 
background: #979797;
border: 2px;
border-color: #000;
-webkit-border-radius: 8px; 
border-radius: 8px;}
input[type="radio"]{display:none;}
input[type='radio']:checked + label span{background: url(/modules/web_radio/checkbox.png) no-repeat 0 -32px;}
input[type='radio'] + label span {display:inline-block;width:32px;height:32px;margin:1px 6px 4px 0;vertical-align:middle;background: url(/modules/web_radio/checkbox.png) no-repeat 0px 0px;cursor:pointer;}
</style>
<script>
window.addEventListener('DOMContentLoaded', function(){
vol.addEventListener('touchend', function(event){
event.preventDefault();
document.getElementById('UartForm').submit();
}, false);
}, false);
function conf(a, b){
if ( a !== '' && b !== '' ) { return confirm('Добавить станцию ' + a + '?')? true : false; } else { alert('Не заполненые необходимые поля'); }
return false;
;}
</script>"
echo "<iframe width=600 height=50 scrolling=no name=radio src=\"radio.cgi\" frameborder=no></iframe><form action=radio.cgi method=GET id=UartForm target=radio>
<input type=range id=vol name=vol min=-49 max=-10 step=1 value=-40 onClick=\"javascript:document.getElementById('UartForm').submit()\">
<div class="stitched"><table class="radiotabstyle"><tr><th><input type=radio id=0 name=station value=CyberWrt.ru/radio onClick=\"javascript:document.getElementById('UartForm').submit()\" checked><label for=0><span></span>Выключить</label></th></tr></div>"
i=1
cat /www/modules/web_radio/list.radio |
while read CMD; do
echo "<tr><td><input type=radio id=$i name=station value=`echo $CMD | awk '{print$2}'` onClick=\"javascript:document.getElementById('UartForm').submit()\"><label for=$i><span></span>`echo $CMD | awk '{print$1}'`</label></td><td></td><td><a href=$SCRIPT_NAME?del=$i onClick=\"return confirm('Удалить `echo $CMD | awk '{print$1}'` ?');\"><img src=/modules/web_radio/del.png></a></td></tr>"
let i=i+1
done;
echo "</table></form>
<form action=$SCRIPT_NAME method=GET><input type=text id=stn name=station placeholder=\"Введите название (Бизнес_FM)\" size=35><input type=text id=url name=url placeholder=\"Введите ссылку (http://bfmstream.bfm.ru:8004/fm)\" size=35><button type=submit onclick=\"var a = document.getElementById('stn').value; var b = document.getElementById('url').value; return conf( a, b );\">Добавить</button></font></div>"
echo `cat /www/menu.html`
/www/cgi-bin/modules/webradio/radio.cgi
Изменил формат указателя громкости. Добавил корректировку индикатора громкости, что бы не указывались отрицательные значения.

Код:
#!/bin/sh
#Copyright (C) 2013 cyberwrt.ru,  cyber-place.ru, mp3car.ru
echo "Content-type: text/html; charset=utf-8"
echo
station=`echo "$QUERY_STRING" | sed -n 's/^.*station=\([^&]*\).*$/\1/p' | sed "s/%3A/:/g" | sed "s/%2F/\//g"`
vol=`echo "$QUERY_STRING" | sed -n 's/^.*vol=\([^&]*\).*$/\1/p'`
ivol=$(($vol+50))
stop=`echo "$QUERY_STRING" | sed -n 's/^.*stop=\([^&]*\).*$/\1/p'`
echo "<FONT color=fefefe size=6>Громкость: $ivol</FONT>"
killall madplay
`killall radio.cgi & wget -O - $station | madplay --attenuate=$vol - -Q --no-tty-control &`
/www/cgi-bin/modules/filemanager/index.cgi
перенес cтили в style.css

Код:
#!/bin/sh
#Copyright (C) 2013 cyberwrt.ru, , cyber-place.ru, mp3car.ru
echo "Content-type: text/html; charset=utf-8"
echo
echo "<title>Файловый менеджер</title><div class="filemanager">"
if echo "$QUERY_STRING" | egrep -q "qwerrewq" ; then
QUERY_STRING=${QUERY_STRING/qwerrewq=}
QUERY_STRING=${QUERY_STRING//%2F//}
QUERY_STRING=$QUERY_STRING/
fi
if echo "$QUERY_STRING" | egrep -q "&&&" ; then
QUERY_STRING=${QUERY_STRING/&&&}
temp=$(echo $QUERY_STRING | tr '/' '\n' | tail -n2)
QUERY_STRING=${QUERY_STRING/$temp}
QUERY_STRING=$(echo $QUERY_STRING | tr -s '/')
fi

if echo "$QUERY_STRING" | egrep -q "&&_&&" ; then
QUERY_STRING=/$QUERY_STRING
`rm ${QUERY_STRING/&&_&&}`
QUERY_STRING=${QUERY_STRING/&&_&&}
temp=$(echo $QUERY_STRING | tr '/' '\n' | tail -n1)
QUERY_STRING=${QUERY_STRING/$temp}
QUERY_STRING=$(echo $QUERY_STRING | tr -s '/')
fi
if echo "$QUERY_STRING" | egrep -q "&&carduino&&" ; then
QUERY_STRING=/$QUERY_STRING
`rmdir ${QUERY_STRING/&&carduino&&}`
QUERY_STRING=${QUERY_STRING/&&carduino&&}
temp=$(echo $QUERY_STRING | tr '/' '\n' | tail -n2)
QUERY_STRING=${QUERY_STRING/$temp}
QUERY_STRING=$(echo $QUERY_STRING | tr -s '/')
QUERY_STRING=$(echo $QUERY_STRING | tr -s '/')
fi
if echo "$QUERY_STRING" | egrep -q "&newdircarduino&" ; then
QUERY_STRING=/$QUERY_STRING
QUERY_STRING=${QUERY_STRING/&newdircarduino&}
QUERY_STRING=$(echo $QUERY_STRING | tr -s '/')
`mkdir $QUERY_STRING/NEW_FOLDER`
fi
if echo "$QUERY_STRING" | egrep -q "&newfilcarduino&" ; then
QUERY_STRING=/$QUERY_STRING
QUERY_STRING=${QUERY_STRING/&newfilcarduino&}
QUERY_STRING=$(echo $QUERY_STRING | tr -s '/')
`touch $QUERY_STRING/NEW_FILE`
fi
echo `cat /www/menu.html`
echo "<table class="tabstyle"><tr class=menu><td colspan=5><div style=\"height: 35px;\"><table class="tabstyle" width=100%'><tr><td><a href=?$QUERY_STRING&newdircarduino& title=\"Создать папку\" onclick=\"return confirm('Создать папку \'NEW_FOLDER\'?')\"><img src=/modules/filemanager/folder.png width="32" height="32"></a>
<a href=?$QUERY_STRING&newfilcarduino& title=\"Создать файл\" onclick=\"return confirm('Создать файл \'NEW_FILE\'?')\"><img src=/modules/filemanager/file.png width="32" height="32"></a></td>
<td align=right><form method=POST enctype=multipart/form-data action=upload_file.cgi>
<input type=file name=&&&$QUERY_STRING><input type=submit value=\"Загрузить файл\">
</form></td></tr></table></div></td></tr>
<table class="tabstyle"><tr><td colspan=5><div style=\"height: 25px;\"><form action=index.cgi method=GET>
<input type=text name=qwerrewq style=\"width: 100%; background-color: #f1f1f1; vertical-align: top;\" value="
echo $QUERY_STRING
echo "></form></div></td></tr><tr><td width=150><b>Имя</td><td><b>Ред</td><td><b>Удал</td><td width=70><b>Размер</b></td><td width=220><b>Дата изменения</b></td></tr>"
if echo "$QUERY_STRING" | egrep -q '[a-z || 0-0]/' ; then
echo "<tr><td colspan=5><a href=?$QUERY_STRING&&&><img src=/modules/filemanager/folder.png>..</a></td></tr>"
fi
for param in `ls -F /$QUERY_STRING` ; do
if echo "$param" | egrep -q "/" ; then
echo "<tr><td><a href=?$QUERY_STRING$param"
echo "><img src=/modules/filemanager/folder.png>"
echo $(echo $param | tr -d '/')
echo "</a></td><td><a href=# onclick=window.open('editd.cgi?/$QUERY_STRING$param','Edit','width=250,height=340,toolbar=0,location=0')  title=Редактировать><img src=/modules/filemanager/edit.png></a></td><td align=center><a href=?$QUERY_STRING$param&&carduino&&"
echo "onclick=\"return confirm('Удалить папку \'$param\'?')\" title=Удалить><img src=/modules/filemanager/del.png></a></td>"
echo "<td>`du -hs /$QUERY_STRING/$param | cut -f1`</td><td>`date -r /$QUERY_STRING/$param`</td></tr>"
fi
done
for param in `ls -F /$QUERY_STRING` ; do
if echo "$param" | egrep -v -q "/" ; then
param=${param/"*"}
echo "<tr><td><a href=fil.cgi?/$QUERY_STRING/$param"
echo " title=Скачать><img src=/modules/filemanager/file.png>"
echo $param
echo "</a></td><td><a href=# onclick=window.open('edit.cgi?/$QUERY_STRING$param','Edit','width=880,height=550,toolbar=0')  title=Редактировать><img src=/modules/filemanager/edit.png></a></td><td align=center><a href=?$QUERY_STRING$param&&_&&"
echo "onclick=\"return confirm('Удалить файл \'$param\'?')\" title=Удалить><img src=/modules/filemanager/del.png></a></td>"
echo "<td>`ls -lah /$QUERY_STRING/$param  | awk '{ print $5}'`</td><td>`date -r /$QUERY_STRING/$param`</td>
</tr>"
fi
done
echo "</table>"
echo "<iframe name=hidden src=/fil.cgi style=\"width:0px; height:0px; visibility:hidden\"></iframe>"
Ссылка на архив с готовыми файлами

Буду ещё шлифовать, по мере возможности

Последний раз редактировалось rabster; 04.09.2014 в 13:24.
rabster вне форума   Ответить с цитированием
Старый 28.08.2014, 13:04   #48
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: CyberWrt модуль "Веб Радио"

Похоже что ссылка на закрытую папку.
Если не затруднит, переложите файлы в публичную папку?
Admin вне форума   Ответить с цитированием
Старый 29.08.2014, 10:42   #49
rabster
Junior Member
 
Регистрация: 27.08.2014
Адрес: Могилёв
Сообщений: 25
Вес репутации: 0
rabster is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Веб Радио"

Вот так выглядит на телефоне

Последний раз редактировалось rabster; 29.08.2014 в 16:18.
rabster вне форума   Ответить с цитированием
Старый 29.08.2014, 15:55   #50
rabster
Junior Member
 
Регистрация: 27.08.2014
Адрес: Могилёв
Сообщений: 25
Вес репутации: 0
rabster is an unknown quantity at this point
По умолчанию Re: CyberWrt модуль "Веб Радио"


Доделал наконец интерфейс радио, как всегда всё проще простого, а я как обычно пытаюсь поглубже в дебри залезть.

Все изменения внес в листинги выше и в архив файлов

Последний раз редактировалось rabster; 29.08.2014 в 15:58.
rabster вне форума   Ответить с цитированием
Ответ


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

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

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

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

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


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


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