1 (edytowany przez wabikboy 2013-03-26 15:00:39)

Temat: Harmonogram wł./Wył. Sieci wifi

Witam!

Przedstawiam kolejny mini dodatek jakim jest możliwość ustawienia harmonogramu wł./wył. z przegladarki.

A wygląda to tak:

w katalogu /www tworzymy plik wifiharm.sh a w nim:

#!/usr/bin/haserl

<?
echo "Content-type: text/html"
echo ""
?>

<html>
 <head>
<title>Harmonogram WiFi</title>
</head>
<body>
<div align="center">
<table bgcolor="yellow" border="2" cellpadding="7">
<form name="lisalrm" action="/cgi-bin/setwifiharm.sh" method="get" enctype="text/plain" >
        
<tr><th align="center">Ustaw Czas</th><th>Wybierz stan</th></tr>
    <tr><td align="center">
            <select name="hours" >
<option value="0">0</option><option value="1">1</option>
<option value="2">2</option><option value="3">3</option>
<option value="4">4</option><option value="5">5</option>
<option value="6">6</option><option value="7">7</option>
<option value="8">8</option><option value="9">9</option>
<option value="10">10</option><option value="11">11</option>
<option value="12">12</option><option value="13">13</option>
<option value="14">14</option><option value="15">15</option>
<option value="16">16</option><option value="17">17</option>
<option value="18">18</option><option value="19">19</option>
<option value="20">20</option><option value="21">21</option>
<option value="22">22</option><option value="23">23</option>  
            </select>

            <select name="minutes" >
<option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option>
<option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option>
<option value="8">8</option><option value="9">9</option><option value="10">10</option><option value="11">11</option>
<option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option>
<option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option>
<option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option>
<option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option>
<option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option>
<option value="32">32</option><option value="33">33</option><option value="34">34</option><option value="35">35</option>
<option value="36">36</option><option value="37">37</option><option value="38">38</option><option value="39">39</option>
<option value="40">40</option><option value="41">41</option><option value="42">42</option><option value="43">43</option>
<option value="44">44</option><option value="45">45</option><option value="46">46</option><option value="47">47</option>
<option value="48">48</option><option value="49">49</option><option value="50">50</option><option value="51">51</option>
<option value="52">52</option><option value="53">53</option><option value="54">54</option><option value="55">55</option>
<option value="56">56</option><option value="57">57</option><option value="58">58</option><option value="59">59</option>  
            </select><td><input type="radio" name="activ" value="on" checked="check"/>Wl.<input type="radio" name="activ" value="off"/>Wyl.</td>
</td></tr>
<tr><td align="center">
<iframe src="cgi-bin/wifiharm/readharm.sh" width="230" height="150" frameborder="0">td>

            <td align="center"><input type="submit" value="Dodaj" id="wpisz"/></td>
</form>
<tr><td colspan="2" align="center">
<form name="delwifiharm" action="/cgi-bin/delwifiharm.sh" method="get" enctype="text/plain" >
<select name="lstwifiharm" >
<? 
/www/cgi-bin/lstwifiharm.sh
?>
</select>  <input type="submit" name="usuwanie" value="Usun" onclick="return confirm('Na pewno chcesz usunac ?');"/>

</form>
</td></tr>
</table>
</div>
 </body>

</html>

w katalogu /cgi-bin/ tworzymy kolejno pliki:

delwifiharm.sh

#!/usr/bin/haserl
<?
echo "Content-type: text/html"
echo ""
?>

<html>
<head>
<meta http-equiv="refresh" content="0; URL=/wifiharm.sh" />
</head>
<body>
<?

god=`echo $GET_lstwifiharm |  cut -d " " -f 1 | cut -d : -f 1`
min=`echo $GET_lstwifiharm |  cut -d " " -f 1 | cut -d : -f 2`
set=`echo $GET_lstwifiharm | cut -d " " -f 2`

if [ "$set" == "Wlacz" ]; then
sed -i "/$min $god \* \* \* wifi up/d" /etc/crontabs/root
/etc/init.d/cron restart

else
sed -i "/$min $god \* \* \* wifi down/d" /etc/crontabs/root
/etc/init.d/cron restart

fi

?>

</body>
</html>

lstwifiharm.sh

#!/usr/bin/haserl
<?


file=/etc/crontabs/root

for plik in `cat $file | sed 's/ /#/g' | grep "wifi"` ; do

H=`echo $plik | cut -d "#" -f 2`
M=`echo $plik | cut -d "#" -f 1`

stan=`echo $plik | grep up | wc -l`

if [ "$stan" == "1" ]; then

echo "<option>$H:$M Wlacz Wifi</option>"

else

echo "<option>$H:$M Wylacz Wifi</option>"

fi

done

?>

readharm.sh

#!/usr/bin/haserl

<?
echo "Content-type: text/html"
echo ""
?>
<html>
<head>
</head>
<body bgcolor="yellow">

<?


file=/etc/crontabs/root



for plik in `cat $file | sed 's/ /#/g' | grep "wifi"` ; do

hour=`echo $plik | cut -d "#" -f 2`
minute=`echo $plik | cut -d "#" -f 1`

if [ "$minute" -lt "10" ] ;then
M=`echo $minute | sed -e s/^/0/`
else
M=$minute
fi


if [ "$hour" -lt "10" ] ;then
H=`echo $hour | sed -e s/^/0/`
else
H=$hour
fi


stan=`echo $plik | grep up | wc -l`

if [ "$stan" == "1" ]; then

echo "$H:$M Wlacz Wifi <br />"

else

echo "$H:$M Wylacz Wifi <br />"

fi

done
?>
</body>
</html>

setwifiharm.sh

#!/usr/bin/haserl
<?
echo "Content-type: text/html"
echo ""
?>

<html>
<head>
<meta http-equiv="refresh" content="0; URL=/wifiharm.sh" />
</head>
<body>
<?


if [ "$GET_activ" == "on" ]; then

echo "$GET_minutes $GET_hours * * * wifi up" >> /etc/crontabs/root
/etc/init.d/cron restart

else

echo "$GET_minutes $GET_hours * * * wifi down" >> /etc/crontabs/root
/etc/init.d/cron restart

fi

?>
</body>
</html>

Dla wszystkich plików nadajemy uprawnienia chmod 755


Edytując /www/basic.sh wyszukujemy sekcję " id='wifi_isolate_container' "

i przed /div zamykajacym wstawiamy

<script type="text/javascript">
// Popup window code
function newPopup(url) {
popupWindow = window.open(
                url,'popUpWindow','height=250,width=250,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
}
</script>
<br><a href="JavaScript:newPopup('/wifiharm.sh');">Harmonogram WiFi</a> 

Pojawi się wtedy w GUI w zakładce ustawień wifi link do harmonogramu który będzie widoczny

pod ustawieniami na samym dole.


Od teraz wystarczy wejść na stronę /http://ip_routera/wifiharm.sh

gdzie można ustawić harmonogram włączenia sieci lub usunąć wybraną opcję.

Wyłączenie interfejsu chwilkę trwa więc proszę cierpliwie czekać przy testowaniu.

Sugestie dla poprawek mile widziane.

-----------------edit 25/03/2013---------------
mała poprawka:
dodając kolejny harmonogram do listy tabelka nie rozciąga się tylko pokazuje sie pasek przewijania co poprawia wygląd.

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

2 (edytowany przez zdzichu6969 2013-02-05 16:29:32)

Odp: Harmonogram wł./Wył. Sieci wifi

w basic.sh proponuje:

<script type="text/javascript">
// Popup window code
function newPopup(url) {
    popupWindow = window.open(
        url,'popUpWindow','height=250,width=250,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
}
</script>
<a href="JavaScript:newPopup('/wifiharm.sh');">Harmonogram WiFi</a>    

A w wifiharm.sh

 <head>
<title>Harminigram WiFi</title>
</head>

I będzie cacy;)
Poźniej jakieś polskie znaki;)

Mikrotik RB951G-2HnD, Mikrotik RB750 + RB260GS + TP-LINK-1043ND
Domowy serwer: http://home.linuxiarz.pl | http://linuxiarz.pl - Mój Blog
http://www.speedtest.net/result/3821476312.png - speed łącza domowego

3

Odp: Harmonogram wł./Wył. Sieci wifi

O i też fajnie smile  dzieki i już poprawiam kod

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

4

Odp: Harmonogram wł./Wył. Sieci wifi

Nie ma za co;)

Mikrotik RB951G-2HnD, Mikrotik RB750 + RB260GS + TP-LINK-1043ND
Domowy serwer: http://home.linuxiarz.pl | http://linuxiarz.pl - Mój Blog
http://www.speedtest.net/result/3821476312.png - speed łącza domowego

5

Odp: Harmonogram wł./Wył. Sieci wifi

Czy to ma wygladac w ten sposób,jak zmienic atrybut na 755 inaczej niz przez polaczenie ftp,jak juz bede miał wszystko czy zrestartowac ruter?

<div id='wifi_isolate_container' class='indent'>
            <label class='leftcolumn' id='wifi_isolate_label' for='wifi_isolate'>Izolacja klientĂłw bezprzewodowych:</label>
            <select class='rightcolumn' id='wifi_isolate' >
                <option value='disabled'>WyĹ‚Ä…czona</option>
                <option value='enabled'>WĹ‚Ä…czona</option>
            </select>
<script type="text/javascript">
// Popup window code
function newPopup(url) {
popupWindow = window.open(
                url,'popUpWindow','height=250,width=250,left=10,top=10,resizable=yes,scrollbars=yes,toolbar=yes,menubar=no,location=no,directories=no,status=yes')
}
</script>
<br><a href="JavaScript:newPopup('/wifiharm.sh');">Harmonogram WiFi</a>
        </div>

6

Odp: Harmonogram wł./Wył. Sieci wifi

np. przez ssh:
chmod 0777 wifiharm.sh

Mikrotik RB951G-2HnD, Mikrotik RB750 + RB260GS + TP-LINK-1043ND
Domowy serwer: http://home.linuxiarz.pl | http://linuxiarz.pl - Mój Blog
http://www.speedtest.net/result/3821476312.png - speed łącza domowego

7

Odp: Harmonogram wł./Wył. Sieci wifi

Samo chmod 777 może byc smile

http://klatka.ovh - CABANA PUBLIC SERVER
http://klatka.ovh/psi/ - phpsysinfo
http://temp.klatka.ovh/ - pogodynka

8

Odp: Harmonogram wł./Wył. Sieci wifi

Czy dobrze zrozumiałem trzeba zmienic uprawnienia na chmod 777 na wszystkich plikach ???  I drugie pytanie to czy moge sie polaczyc po ssh przez PUTY z plikami ktore potzrebuje zmienic na dysku na ktorym mam exroota i jak wyklikac aby zmienic te uprawnienia chyba ze macie takie gotowe pliki aby mozna było sciaganac.Pozdrawiam

9

Odp: Harmonogram wł./Wył. Sieci wifi

Witam. Zrobiłem tak jak wyzej tak mi sie wydaje.Wchodze na adres 192.168.1.1 Konfiguracja i na samym dole przy izolacja klientow mam Harmonogram Wifi ale jak klikne w zakładke mam informacje w innym oknie:
500 Internal Error
Something unexpected went wrong running a CGI program.

10

Odp: Harmonogram wł./Wył. Sieci wifi

Widocznie albo coś źle wpisałeś albo nie zrobiłeś chmod 755

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

11

Odp: Harmonogram wł./Wył. Sieci wifi

A mam pytanie gdzie umiescic katalog /cgi-bin/ chyba ze on istnieje gdzies w plikach ,czy nazwe chmod gdzies wpisujemy czy tylko liczy sie wartosc przy zmianie atrytutu pliku.

12

Odp: Harmonogram wł./Wył. Sieci wifi

mkdir /www/cgi-bin

Mikrotik RB951G-2HnD, Mikrotik RB750 + RB260GS + TP-LINK-1043ND
Domowy serwer: http://home.linuxiarz.pl | http://linuxiarz.pl - Mój Blog
http://www.speedtest.net/result/3821476312.png - speed łącza domowego

13

Odp: Harmonogram wł./Wył. Sieci wifi

świetna sprawa
przydała by się jeszcze możliwość ustawienia dnia tygodnia bo jak ręcznie w cronie się zmieni to nie można usunąć wpisu przy pomocy harmonogramu

wabikboy wykonaj taki harmonogram do powerswitcha z możliwością wyboru kanału

,

14

Odp: Harmonogram wł./Wył. Sieci wifi

Bo harmonogram działa codziennie. Postaram się zmienic wdg potrzeb w miarę czasu. Dominik jak będę miał chwilę to coś pomyslimy smile

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

15

Odp: Harmonogram wł./Wył. Sieci wifi

Dzieki,

A moze kolega mogl by pomoc w kwestji przycisku chwilowego, mniej wiecej wiem jak to zrobic ale chyba mniej - cos tam kombinowalem z <button type="rodzaj">Treść przycisku</button> i <form name=" ... - ale nic nie wychodzi, jak juz cos zaczyna dzialac to przy odswierzeniu strony tez wykonuje sie skrypt <?...?> - totalnie nie wiem jak to ugryzc, pisalem juz ze jestem totalnym laikiem w tym i spedzilem juz z 2 dni i nic.  Nigdzie nie moge znalezc dobrego przykladu.

TL-WR1043 @ FLASH 16MB @64RAM, GG & LuCi, 433TX PowerSwitch - podlewanie routerem, MWAN3;TL-WR-743 ;TL-MR3040 ;TL-WR-842;TL-WR-941 FLASH 16MB  @64RAM o/c 450MHz www u-boot; ; EDIMAX NS-1500N ramips; sensbase , 5  x sensnodeTX + emon -  openenergy.org, JeeLabs & http://digi-led.pl interfejs Gargoyle na Rpi jako menu do iradio usbrelay i zadania cron, GPS tracker DOCKER, openhab RPI.

16

Odp: Harmonogram wł./Wył. Sieci wifi

Witam, zadziało to na Luci BB ?

17

Odp: Harmonogram wł./Wył. Sieci wifi

Do luci jest do tego też specjalny pakiet: https://forum.openwrt.org/viewtopic.php?id=40969

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.