951

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

staging_dir/target-mipsel_r2_uClibc-0.9.33.2/usr/include/usb.h


Cos nie hula(na tym sprzecie co robie, pozniej sprawdze na 2),

 /media/disk/openwrt/staging_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-uclibc-gcc -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -o power ./powerSwitch.c -I /media/disk/openwrt/staging_dir/target-mipsel_r2_uClibc-0.9.33.2/usr/include
/tmp/ccx7rw92.o: In function `usbGetStringAscii.constprop.1':
powerSwitch.c:(.text+0x38): undefined reference to `usb_control_msg'
/tmp/ccx7rw92.o: In function `usbOpenDevice.constprop.0':
powerSwitch.c:(.text+0x100): undefined reference to `usb_init'
powerSwitch.c:(.text+0x108): undefined reference to `usb_find_busses'
powerSwitch.c:(.text+0x110): undefined reference to `usb_find_devices'
powerSwitch.c:(.text+0x118): undefined reference to `usb_get_busses'
powerSwitch.c:(.text+0x15c): undefined reference to `usb_open'
powerSwitch.c:(.text+0x16c): undefined reference to `usb_strerror'
powerSwitch.c:(.text+0x1ac): undefined reference to `usb_strerror'
powerSwitch.c:(.text+0x1e8): undefined reference to `usb_strerror'
powerSwitch.c:(.text+0x218): undefined reference to `usb_close'
/tmp/ccx7rw92.o: In function `main':
powerSwitch.c:(.text.startup+0x40): undefined reference to `usb_init'
powerSwitch.c:(.text.startup+0xd0): undefined reference to `usb_control_msg'
powerSwitch.c:(.text.startup+0xf0): undefined reference to `usb_strerror'
powerSwitch.c:(.text.startup+0x1c4): undefined reference to `usb_control_msg'
powerSwitch.c:(.text.startup+0x1e4): undefined reference to `usb_strerror'
powerSwitch.c:(.text.startup+0x388): undefined reference to `usb_control_msg'
powerSwitch.c:(.text.startup+0x3b0): undefined reference to `usb_strerror'
powerSwitch.c:(.text.startup+0x3cc): undefined reference to `usb_close'
collect2: ld returned 1 exit status

no i nie dales mi odpowiedzi co do Makefile (chcialbym abys mi troszke pomogl - bede wdzieczny), jak prawidlowo powinien byc zrobiony i jak zapewnic aby chmod 755 wykonywalny sie kopiowal podczas kompilacji calego bina (stronke zostawie sobie na pozniej). Czy w SRC katalogu w pluginie powinno byc linkowanie do usb.h czy ewentualnie biblioteka z libusb. Doszlismy co do DEPENDS: , ze musi byc libusb. Czy przy kompilowaniu powerswitch binarki konieczne jest to linkowanie do libusb (w twoim skompilowaniu z tego watku bylo linkowanie do libsub1-0.[...]14.o) - nie wiem jak to skompilowales, ze to dziala.


Czy finalna postac komilacji z reki powinna wygladac tak:

/media/disk/openwrt/staging_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-uclibc-gcc -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -o power ./powerSwitch.c -I /media/disk/openwrt/staging_dir/target-mipsel_r2_uClibc-0.9.33.2/usr/include

952

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

no i ktory uzyc ?

i jak ?

./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/include/linux/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/arch/mips/include/asm/mach-pnx8550/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/arch/mips/include/asm/netlogic/xlp-hal/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/arch/arm/plat-omap/include/plat/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/arch/arm/mach-omap1/include/mach/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/drivers/staging/keucr/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/drivers/net/wireless/mwifiex/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/drivers/net/wireless/brcm80211/brcmfmac/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/drivers/net/wireless/rtlwifi/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/drivers/usb/storage/usb.h
./build_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/linux-3.7.2/drivers/usb/core/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/libusb-0.1.12/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/libusb-0.1.12/ipkg-install/usr/include/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/.pc/generic/820-usb_add_usb_find_device_by_name.patch/include/linux/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/include/config/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/include/linux/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/arch/mips/include/asm/mach-pnx8550/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/arch/mips/include/asm/netlogic/xlp-hal/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/arch/arm/plat-omap/include/plat/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/arch/arm/mach-omap1/include/mach/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/drivers/staging/keucr/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/drivers/net/wireless/mwifiex/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/drivers/net/wireless/brcm80211/brcmfmac/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/drivers/net/wireless/rtlwifi/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/drivers/usb/storage/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/linux-ramips_rt305x/linux-3.7.2/drivers/usb/core/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/libpcap-1.1.1/pcap/usb.h
./build_dir/target-mipsel_r2_uClibc-0.9.33.2/libpcap-1.1.1/ipkg-install/usr/include/pcap/usb.h
./build_dir/host/u-boot-2012.04.01/include/usb.h
./build_dir/host/u-boot-2012.04.01/arch/arm/include/asm/arch-tegra2/usb.h
./build_dir/host/u-boot-2012.04.01/arch/blackfin/include/asm/mach-common/bits/usb.h
./staging_dir/target-mipsel_r2_uClibc-0.9.33.2/usr/include/usb.h
./staging_dir/target-mipsel_r2_uClibc-0.9.33.2/usr/include/pcap/usb.h

953

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

No chyba niekoniecznie zrobiłeś grep libusb smile


Bo rezultat byl pusty. Czy powinienem przy kompilacji uzyc -L czy wystarczy standardowe usb.h w ../included w kompilatorze

/media/proc/test5/gargoyle/custom-src/staging_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-uclibc-gcc -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -o powerswitch -c /media/proc/gargoyl_pl_build/gargoyle_add/plugin-gargoyle-powerswitch/src/powerSwitch.c

954

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

mam taki rezultat

$!8@
'! @
$!8@
'! @
B$! `
B$! `
B$! `
B$! `
<! @
<! @
usage:
  %s status
  %s on <port> [<duration>]
  %s off <port> [<duration>]
  %s test
Ports are single digits in the range 0...7
The pulse duration for switching temporarily is given in seconds.
Warning: cannot open USB device: %s
Warning: cannot query manufacturer for device: %s
Warning: cannot query product for device: %s
www.obdev.at
PowerSwitch
Could not find USB device "PowerSwitch" with vid=0x%x pid=0x%x
test
USB error: %s
only %d bytes received in iteration %d
value sent = 0x%x
data error: received 0x%x instead of 0x%x in iteration %d
test succeeded
status
only %d bytes status received
port %d: %s%s
 / pulse off
 / pulse on

955

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Zrób

strings /dodatki/powersw/powerswitch | grep libusb

(czy gdzie tam masz tą binarkę) to Ci pokaże czy zależy od libusb czy libusb-1.0. Moja była kompilowana z libusb, ale ta informacja jest dla Ciebie bezużyteczna, bo przecież sam to skompilowałeś, więc może być inaczej.


Nie mam takiej binarki ona jest w pakiecie openwrt, nie mam tam nic wgrane tylko skompilowany powerswitch, nie bardzo wiem jak to opanowac.

956

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

Tak naprawde nie wiem nie robilem linkow, skompilowalem bez linkowania, a do dzialania tego programu jest potrzebny libusb* w pliku .c jest tylko odniesienie do usb.h. Nie bardzo wiem do ktorego zlinkowac - opcja -L w kompilatorze to wiem.  Sugerowalem sie tym:

"Switch został wykonany na podstawie schematu z tej strony, można tam też znaleźć pliki źródłowe, gotowy wsad dla Attiny2313 jak i program sterujący, dzięki wielkiej uprzejmości Cezarego który skompilował go pod Openwrt mogłem przetestować owe urządzenie.
wersja dla OpenWrt Backfire -> powerSwitch - po pobraniu ustawić chmod 755"

ty robiles ta kompilacje dla innej platformy - pytanie do Ciebie z jaka biblioteka zlinkowac - ja wgralem poprostu usb.h do usr/included w stage_dir i sie skompilowalo.

kod pobralem z tej stronki

http://www.obdev.at/products/vusb/powerswitch.html

oryginalny Makefile mowi tylko to

USBFLAGS = `libusb-config --cflags`
USBLIBS = `libusb-config --libs` #-framework CoreFoundation
EXE_SUFFIX =

# Use the following 3 lines on Windows and comment out the 3 above. You may
# have to change the include paths to where you installed libusb-win32
#USBFLAGS = -I/usr/local/include
#USBLIBS = -L/usr/local/lib -lusb
#EXE_SUFFIX = .exe


CC        = gcc
CFLAGS    = $(USBFLAGS) -O -Wall
LIBS    = $(USBLIBS)

PROGRAM = powerSwitch$(EXE_SUFFIX)


all: $(PROGRAM)

.c.o:
    $(CC) $(CFLAGS) -c $<

$(PROGRAM): powerSwitch.o
    $(CC) -o $(PROGRAM) powerSwitch.o $(LIBS)

strip: $(PROGRAM)
    strip $(PROGRAM)

clean:
    rm -f *.o $(PROGRAM)
USBFLAGS = `libusb-config --cflags`
USBLIBS = `libusb-config --libs` #-framework CoreFoundation
EXE_SUFFIX =

# Use the following 3 lines on Windows and comment out the 3 above. You may
# have to change the include paths to where you installed libusb-win32
#USBFLAGS = -I/usr/local/include
#USBLIBS = -L/usr/local/lib -lusb
#EXE_SUFFIX = .exe


CC        = gcc
CFLAGS    = $(USBFLAGS) -O -Wall
LIBS    = $(USBLIBS)

PROGRAM = powerSwitch$(EXE_SUFFIX)


all: $(PROGRAM)

.c.o:
    $(CC) $(CFLAGS) -c $<

$(PROGRAM): powerSwitch.o
    $(CC) -o $(PROGRAM) powerSwitch.o $(LIBS)

strip: $(PROGRAM)
    strip $(PROGRAM)

clean:
    rm -f *.o $(PROGRAM)

Przyznam sie , ze nie jestem zbyt dobry w zagadnieniach GCC i kompilacji OpenWrt, to moja 1 przygoda, ale zalezy mi na tym pluginie.

Czy moglbys pomoc w prawidlowej definicji ?

pozdrawiam,

957

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

DEPENDS:=+gargoyle +libusb +libusb-1.0

Na pewno nie. Albo jedna albo druga, program nie korzysta z obu na raz.

Powinno być w sekcji install. I nie stosuje się install tak jak zrobiłeś tylko makra $(INSTALL_BIN) ew. $(CP). Czemu kopiujesz binarki do /dodatki/powersw (nie robiąc tego katalogu tak swoją drogą wcześniej) zamiast np. do /usr/bin ?


Witam,

Wlasnie $(CP) nie zmienia mi praw dostepu na wykonywalne. Katalogi tam sa w katalogu files - jest tam jeszcze pare skryptow sh, nie wiem czy potrzebne to jest robienie katalogu. $(INSTALL_BIN) w ktorej za tem sekcji powinien byc w compile czy w install.  A co do libusb, to ktory jest lepszy ?

958

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

Pytanie w zasadzie do Cezarego, dotyczy budowy plugina do gargoyle-powerswitch.

Przygotowuje Makefile do instalacji plugina i nie wiem czy dobrze to napisalem. Dodatkowo kopiowanie plikow niezachowuje mi executable dla skompilowanego pliku dla danej platformy.

include $(TOPDIR)/rules.mk

PKG_NAME:=plugin_gargoyle_powerswitch
PKG_VERSION:=20130817

PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

include $(INCLUDE_DIR)/package.mk

define Package/plugin-gargoyle-powerswitch
    SECTION:=admin
    CATEGORY:=Administration
    SUBMENU:=Gargoyle Web Interface
    TITLE:=Powerswitch program for Gargoyle
    MAINTAINER:=RL
    DEPENDS:=+gargoyle +libusb +libusb-1.0
    PKGARCH:=all
endef

define Package/plugin-gargoyle-powerswitch/description
    Plugin powerswitch[PL]
endef

define Build/Prepare
endef

define Build/Configure
endef

define Build/Compile
    $(CP) ./src/* $(PKG_BUILD_DIR)
    $(TARGET_CC) $(TARGET_CONFIGURE_OPTS) -c $(PKG_BUILD_DIR)/powerSwitch.c -o $(PKG_BUILD_DIR)/dodatki/powersw/powerswitch ## czy to jest ok
    $(TARGET_CC) $(TARGET_CONFIGURE_OPTS) -c $(PKG_BUILD_DIR)/powerSwitch.c -o $(PKG_BUILD_DIR)/dodatki/powersw/power  ## czy to jest ok
    $(INSTALL_BIN) $(PKG_INSTALL_DIR)/dodatki/powersw/powerswitch  $(1)/dodatki/powersw/powerswitch ## czy to ma byc tu ?? czy w sekcji install
    $(INSTALL_BIN) $(PKG_INSTALL_DIR)/dodatki/powersw/powerswitch  $(1)/dodatki/powersw/power   ## czy to ma byc tu ?? czy w sekcji install
    
##compile@root:/media/proc/test5/gargoyle$ /media/proc/test5/gargoyle/custom-src/staging_dir/toolchain-mipsel_r2_gcc-4.6-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-uclibc-gcc -Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -o powerswitch -c /media/proc/gargoyl_pl_build/gargoyle_add/plugin-gargoyle-powerswitch/src/powerSwitch.c 
endef

define Package/plugin-gargoyle-powerswitch/postinst
#!/bin/sh

if [ -z "$${IPKG_INSTROOT}" ]; then
    uci set gargoyle.display.system_powerswitch='Zadania powerswitch'
    uci set gargoyle.scripts.system_powerswitch='switch.sh'
    uci set gargoyle.system.powerswitch='1000'
    uci commit
fi
endef

define Package/plugin-gargoyle-powerswitch/postrm
#!/bin/sh

if [ -z "$${IPKG_INSTROOT}" ]; then
    uci del gargoyle.display.system_powerswitch
    uci del gargoyle.scripts.system_powerswitch
    uci del gargoyle.system.powerswitch
    uci commit
fi
endef


define Package/plugin-gargoyle-powerswitch/install
    $(INSTALL_DIR) $(1)
    install -m0755 $(PKG_BUILD_DIR)/dodatki/powersw/powerswitch  $(1)/dodatki/powersw/powerswitch
    install -m0755 $(PKG_BUILD_DIR)/dodatki/powersw/powerswitch  $(1)/dodatki/powersw/power
    $(CP) ./files/* $(1)/
endef

$(eval $(call BuildPackage,plugin-gargoyle-powerswitch))

Pozostaje jeszcze przerobienie stronki do formatu gargoyle, ale tu juz wczesniej poległem.

Cezary możesz pomoc ?

Odezwal bym sie jeszcze w sprawie formatu dla gargoyle dla stronki.

tu jej kod

#!/usr/bin/haserl

<?

eval $( gargoyle_session_validator -c "$COOKIE_hash" -e "$COOKIE_exp" -a "$HTTP_USER_AGENT" -i "$REMOTE_ADDR" -r "login.sh" -t $(uci get gargoyle.global.session_timeout) -b "$COOKIE_browser_time"  )

status=$( cgi-bin/powersw/urzadzenie.sh )


echo "Content-type: text/html"
echo "$status"
?>

<html>
<head>
 <title>Power Switch w garazu</title>
<div align="center" align="justify"><font size="6" color="black" title >Power switch 
    przekaznikowy -
    <span class="auto-style6">Atiny 2313</span>, sterowanie przez
    <? if [ -e /tmp/sysinfo/model ]; then
        echo "var model=\""$(cat /tmp/sysinfo/model)"\";"
    else
    
     #echo "var model=\"brak danych\";"
     echo "var model=\""$(awk -F: '/machine/ {print $2}' /proc/cpuinfo)"\";" 
                
    
    fi ?> </font> </div>
<script src="js/jquery.min.js"></script> <!-- Trzeba pobrać: http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js -->


 
 
 
 <script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan1.sh',function(data) {
          $('#buttona').attr('src',"iconsw/"+data+".png");
          $('#buttona').attr('power',data);
   });
},4000);
    $('#buttona').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power1.sh',{action:power},function(data) {
          $('#buttona').attr('src',"iconsw/"+data+".png");
          $('#buttona').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan2.sh',function(data) {
          $('#buttonb').attr('src',"iconsw/"+data+".png");
          $('#buttonb').attr('power',data);
   });
},4000);
    $('#buttonb').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power2.sh',{action:power},function(data) {
          $('#buttonb').attr('src',"iconsw/"+data+".png");
          $('#buttonb').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan3.sh',function(data) {
          $('#buttonc').attr('src',"iconsw/"+data+".png");
          $('#buttonc').attr('power',data);
   });
},4000);
    $('#buttonc').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power3.sh',{action:power},function(data) {
          $('#buttonc').attr('src',"iconsw/"+data+".png");
          $('#buttonc').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan4.sh',function(data) {
          $('#buttond').attr('src',"iconsw/"+data+".png");
          $('#buttond').attr('power',data);
   });
},4000);
    $('#buttond').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power4.sh',{action:power},function(data) {
          $('#buttond').attr('src',"iconsw/"+data+".png");
          $('#buttond').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan5.sh',function(data) {
          $('#buttone').attr('src',"iconsw/"+data+".png");
          $('#buttone').attr('power',data);
   });
},4000);
    $('#buttone').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power5.sh',{action:power},function(data) {
          $('#buttone').attr('src',"iconsw/"+data+".png");
          $('#buttone').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan6.sh',function(data) {
          $('#buttonf').attr('src',"iconsw/"+data+".png");
          $('#buttonf').attr('power',data);
   });
},4000);
    $('#buttonf').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power6.sh',{action:power},function(data) {
          $('#buttonf').attr('src',"iconsw/"+data+".png");
          $('#buttonf').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan7.sh',function(data) {
          $('#buttong').attr('src',"iconsw/"+data+".png");
          $('#buttong').attr('power',data);
   });
},4000);
    $('#buttong').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power7.sh',{action:power},function(data) {
          $('#buttong').attr('src',"iconsw/"+data+".png");
          $('#buttong').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan8.sh',function(data) {
          $('#buttonh').attr('src',"iconsw/"+data+".png");
          $('#buttonh').attr('power',data);
   });
},4000);
    $('#buttonh').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power8.sh',{action:power},function(data) {
          $('#buttonh').attr('src',"iconsw/"+data+".png");
          $('#buttonh').attr('power',data);
       });
    });
});
</script>


<!-- chwilowe przyciski -->
<script>
$(document).ready(function(){
        $('#buttona1s').click(function(){    
       $.get('cgi-bin/powersw/power11s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttonb1s').click(function(){    
       $.get('cgi-bin/powersw/power21s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttonc1s').click(function(){    
       $.get('cgi-bin/powersw/power31s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttond1s').click(function(){    
       $.get('cgi-bin/powersw/power41s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttone1s').click(function(){    
       $.get('cgi-bin/powersw/power51s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttonf1s').click(function(){    
       $.get('cgi-bin/powersw/power61s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttong1s').click(function(){    
       $.get('cgi-bin/powersw/power71s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttonh1s').click(function(){    
       $.get('cgi-bin/powersw/power81s.sh')
    });
});
</script>

<style type="text/css">
.auto-style1 {
    border: 2px solid #000000;
}
.auto-style2 {
    border-width: 2px;
}
.auto-style4 {
    border-left-style: solid;
    border-left-width: 2px;
    border-right-style: solid;
    border-right-width: 2px;
    border-top-style: solid;
    border-top-width: 2px;
    border-bottom-width: 2px;
}
.auto-style6 {
    margin-left: 0px;
}
.auto-style7 {
    margin-left: 11px;
}
.auto-style8 {
    margin-left: 6px;
}
.auto-style9 {
    margin-left: 40px;
}
.auto-style10 {
    margin-left: 2px;
}
.auto-style11 {
    margin-left: 1px;
}
</style>


</head>
<body style="height: 80px; width: 935px; margin-top: 10; margin-bottom: 10; background-color: #C0C0C0">

<div align="center" style="height: 20px"><br><font size="4" color="red"> <? status=$(cgi-bin/powersw/urzadzenie.sh 2>/dev/null) echo "$status" ?></font></div>

<div auto;="" margin:="" style="position: absolute; left: 10px; top: 152px; height: 982px; width: 934px;">

<table class="auto-style1" >
<colgroup span="1"></colgroup>
<colgroup span="7"></colgroup>
<tr align="center" class="auto-style2">
<td style="border-bottom-color: #000000; border-color: #000000; height: 36; border-bottom-style: double; border-bottom-width: inherit;" class="auto-style4" colspan="8">
<strong>Przekazniki (kliknij na ikone aby przelaczyc) <br> info: <a href="http://eko.one.pl/forum/viewtopic.php?id=3894"><br/>http://eko.one.pl/forum/viewtopic.php?id=3894</strong></td>
</tr>
<tr align="center">
<td style="width: 103px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-1<br><font size="2" color="black"/font>tu opis przeznaczenia<br>
<br>

<img id="buttona" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 0 | sed 's/port.0..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 107px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-2<br><font size="2" color="black"/font>tu opis przeznaczenia<br>
<br>

<img id="buttonb" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 1 | sed 's/port.1..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >
<br>
    <td style="width: 113; height: 146;" class="auto-style1">
    <font size="4" color="blue">SW-3<font size="2" color="black"/font><br>tu opis przeznaczenia<br>
    <br>

<img id="buttonc" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 2 | sed 's/port.2..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 107px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-4<br><font size="2" color="black"/font>tu opis przeznaczenia<br>
<br>

<img id="buttond" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 3 | sed 's/port.3..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 133px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-5<br><font size="2" color="black"/font>tu opis
<br>przeznaczenia<br>
<br>

<img id="buttone" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 4 | sed 's/port.4..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="height: 146;" class="auto-style1">
<font size="4" color="blue">SW-6<br><font size="2" color="black"/font>tu opis
<br>przeznaczenia<br>
<br>

<img id="buttonf" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 5 | sed 's/port.5..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 45px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-7<br><font size="2" color="black"/font>tu opis
<br>przeznaczenia<br>
<br>

<img id="buttong" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 6 | sed 's/port.6..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 113; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-8<br><font size="2" color="black"/font>tu opis
<br>przeznaczenia<br>
<br>

<img id="buttonh" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 7 | sed 's/port.7..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >
<br>
<tr align="center">
<td class="auto-style1" colspan="8" style="height: 28">
<strong>Wlaczenie chwilowe</strong></td>
</tr>
<tr align="center">
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttona1s" >SW-1 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttonb1s" >SW-2 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttonc1s" >SW-3 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttond1s" >SW-4 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttone1s" >SW-5 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttonf1s" >SW-6 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttong1s" >SW-7 (2s)</button></td>
<td sstyle="width: 103px; height: 38;"class="auto-style1">
<button style="width: 105px" id="buttonh1s" >SW-8 (2s)</button></td>
</tr>
<tr  align="center"><td class="auto-style1" colspan="2" style="height: 36px">
    <strong>Ustaw czas zalaczenia - crona</strong></td>
    <td class="auto-style1" colspan="2" style="height: 36px">
    <strong>Wybierz stan przekaznika</strong></td>
    <td class="auto-style1" colspan="4" style="height: 36px">
    <strong>Usuwanie ustawien crona</strong></td>

    <tr align="center">
<td colspan="2" class="auto-style1" rowspan="2">

<form name="listswitchharm" action="/cgi-bin/switchharm/setswitchharm.sh" method="get" enctype="text/plain" >
<table cellpadding="4" style="height: 239px; width: 210px;">
<tr><td style="width: 105px; height: 90px;">&nbsp;&nbsp;&nbsp; Godzina <br> <br>
            <select name="hours" title="Wybierz godzine" style="width: 44px; height: 19px;">
<option value="*"></option>
<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><input type="checkbox" title="Co wybrany zakres godzin" name="everyhour" value="on" class="auto-style10" style="width: 22px"></td>
<td style="height: 90px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Minuty<br><br>
            <select name="minutes" title="Wybierz minuty" style="height: 19px; width: 62px;">
<option value="*"></option>
<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><input type="checkbox" title="Co wybrany zakres minut" name="everymin" value="on" class="auto-style7"></td></tr>
<tr><td style="height: 57px; width: 105px;">&nbsp;&nbsp;&nbsp;&nbsp; Dzien<br>&nbsp;<br>
            <select name="day" title="Wybierz dzien" style="width: 40px; height: 19px;" >
<option value="*"></option>
<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> 
            </select><input type="checkbox" title="Co podany dzien" name="everyday" value="on" class="auto-style8" style="width: 20px"></td>

<td style="height: 57" class="auto-style1">&nbsp; Dzien tygodnia<br><br>
<select name="dayofweek" title="Wybierz dzien tygodnia" style="height: 19px" >
<option value="*"></option>
<option value="1">Poniedzialek</option>
<option value="2">Wtorek</option>
<option value="3">Sroda</option>
<option value="4">Czwartek</option>
<option value="5">Piatek</option>
<option value="6">Sobota</option>
<option value="0">Niedziela</option>
</select></td></tr>
</table>





<td colspan="2" class="auto-style1" rowspan="2">

<table cellpadding="4" style="height: 242px; width: 210px"><tr><td align="center">
<input type="radio" name="activ" value="on" checked="check"/>Wlaczenie</td>
<td><input type="radio" name="activ" value="off"/>Wylaczenie</td></tr>

<tr><td align="center" colspan="2">Numer przekaznika<br><br>
<select name="nrswitch" title="Wybierz nr portu" class="auto-style6" style="width: 118px; height: 19px;">
<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>  
            </select></td></tr>
<tr><td align="center" colspan="2" style="height: 36px">        
<input type="submit" title="dodaj do harmonogramu" value="Dodaj" id="wpisz" style="width: 133px; height: 28px;"/></td></tr>
</table>
</form>

    </td>
<td style="height: 150px;" colspan="4" class="auto-style1">

<iframe src="/cgi-bin/switchharm/readharm.sh" height="150" frameborder="1" style="width: 455px" class="auto-style6"></iframe></td>

</tr>

<tr align="center">
<td colspan="4" class="auto-style1" style="height: 69px">
    
<form name="delswitchharm" action="/cgi-bin/switchharm/delswitchharm.sh" method="get" enctype="text/plain" style="height: 61px" class="auto-style11" >
&nbsp;<br>  
<input type="submit" name="usuwanie" value="Usun" onclick="return confirm('Na pewno chcesz usunac ?');" style="height: 26px; width: 161px"/>
<select name="lstswitchharm" class="auto-style9" style="height: 34px; width: 172px" >
<? 
/www/cgi-bin/switchharm/lstswitchharm.sh

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

</html>

Pozdrawiam,

959

(146 odpowiedzi, napisanych Oprogramowanie / Software)

wszystkie dodatkowe pliki typu APN, 00-buton, konfiguracje, ktore opisujesz w historii.
Bedzie to zrodlo takie samo jak do pozostalych platform, tyak aby mozna testowac ramipsa.

Pozdrawiam,
RL

960

(146 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

twoje repo zawiera patche do 00-hotplug i wszystkie o ktorych piszesz na swoim forum ?

Pozdr,
Rl

961

(146 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

A tak przy okazji zerknij na to

http://www.gargoyle-router.com/phpbb/vi … p;start=60
moze dodacz do swojego repo, jak ktos wybierze dla ramipsa ta opcje to bedzie mial to samo co ja i tydzien w plecy.

Pozdr,
RL

962

(146 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

A wrzucil bys caly system na swoj git do jakiejs rewizjii ?
Przetestuje na ramipsie nie generyka tylko caly twoj GG, moze cos sie zmieni i dodatkowo zrobi sie gotowy profil dla ramipsa.
Na innych gitach GG niema nigdzie jeszcze ramipsa.

Pozdrawiam,
Rl

963

(146 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

Cezary, a udostępnił bys swoje wszystkie patche do buttons, do nadawcow, do dodania do gargoyle pluginow defaultowych, do wszelkich inowacji, ktore zrobiles. Wrzucil bym je sobie i potestowal na moim Edimaxsie ns-1500n. Chce tez zrobic plugina do powerswitcha takiego zeby go pozniej mozna bylo zdystrybuowac.

Pozdrawiam,
RL

964

(146 odpowiedzi, napisanych Oprogramowanie / Software)

Witam,


co to znaczy dla "czystego"

Pozdrawiam,

965

(146 odpowiedzi, napisanych Oprogramowanie / Software)

pepe_lodz napisał/a:

Ok rozumie... No przepraszam dla mnie to zupełna nowość i część rzeczy poprostu czytam a nie zapamiętuje....bo jest to cos nowe i mi umyka.

A jak w takim razie pobrać aktualną wersję gita. Jak sklonować wersje tą dla której są łatki abym mógł je nałożyć ? Jakim poleceniem...


ok poradziłem sobie chyba...

   $ git clone http://gargoyle-router.com/git/gargoyle.git
   $ cd gargoyle
   $ git checkout 456b0b9a2cf41f3a17ebcb7fdb72ad586d4a409a

następnie spatchowałem i poszło wszystko ok smile


Cezary,

Czy masz swoje Łatki do nizszych lub wyższych wersi swoich buildow ?

Czy mozesz wskazać ostatnie repozytorium  git z Twoimi poprawkami dla 1.5.10.10 ?

Chętnie bym potrenowal.

Probuje zrobic kompilacje dla ramipsa i jak narazie mam problemy z bwmon i netfilter w iptables

Chcialbym zastosowac wyzszą wersje AA niz r37174 dla której jest przewidziany git 456b0b9a2cf41f3a17ebcb7fdb72ad586d4a409a


podobno poprawnie ramipsy kompiluja sie na wersję

Gargoyle revision 62b7660 | OpenWrt revision r36469 

Masz moze swoje latki dla tego gita i rewizjii AA ?

Pozdrawiam,
RL

966

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Witam,

wczoraj troche czasu nie bylo ale dokonczylem i chyba dziala wszystko

tak wyglada moj pomysl na sterowanie
http://img266.imageshack.us/img266/2217/mojswitch.jpg


zalaczam kod stronki jak by ktos chcial skorzystac, pliki sterujace .sh opisane we wczesniejszych postach. Stronka jest uzalezniona od gargoyle i zabezpieczona haslem odpowiada za to wpis w sekcji HEAD

eval $( gargoyle_session_validator -c "$COOKIE_hash" -e "$COOKIE_exp" -a "$HTTP_USER_AGENT" -i "$REMOTE_ADDR" -r "login.sh" -t $(uci get gargoyle.global.session_timeout) -b "$COOKIE_browser_time"  )

aby w/w zadzialalo i bylo dostepne w menu gargoyle trzeba dodac odpowiednie wpisy w /etc/config/gargoyle


# w sekcji 

config display 'display'

                       option system_switch 'Power switch'

# oraz do sekcji

config scripts 'scripts'

                      option system_switch 'switch.sh'

# i pozycja w menu

config 400 'system'

                       option switch '1200'

dodatklowo dodalem komunikat o braku podlaczenia

status=$( cgi-bin/powersw/urzadzenie.sh )

kod jest tozsamy prawie z plikiem stan

#!/usr/bin/haserl
<?
status=$(/dodatki/powersw/power status 2>/dev/null | wc -l)
if [ "$status" == "0" ] ; then
echo "Brak podlaczonego PowerSwitcha - sprawdz polaczenie lub zasilanie"
else
echo "PowerSwitch podlaczony"
fi 
?>

przyciski chwilowe sa sterowane plikami takimi jak powerX.sh y dodaniem czasu przez jaki ma zadzialac - u mnie 2s:

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

status=$(/dodatki/powersw/power status | grep 0 | sed 's/port.0..//')
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`

if [ "$stan" -gt "0" ] ; then

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

/dodatki/powersw/power off 0 2

else

/dodatki/powersw/power on 0 2

fi 

status0=$(/dodatki/powersw/power status | grep 0 | sed 's/port.0..//')
echo "$status0"
else
echo "NA" 
fi
?>


A tu moja stronka integrujaca harmonogram i switcha oczywiscie pliki sterujace do harmonogramu przerobilem i tam gdzie byl wpis powerswitch zmienilem na power oraz odwolania switchharm na switch, zachowalem katalog zrodlowy switchharm
nalezy takze pamietac o usunieciu komentarzy zw. z cronem w plikach sh, gdyz skierowane one sa w wersji autora na testswitchharm.txt (wyrzucic 2 sredniki na koncu).


nie zalaczam wszystkich plikow sterujacych i stanu xxxxx.sh bo za duzo by bylo, trzeba dokladnie przesledzic 2 tematy- switch i switchharm aby moje rozwiazanie zadzialalo.


Jak by ktos mial jakies sugestie co do tego kodu to bardzo prosze o uwagi  - plik switch.sh:

#!/usr/bin/haserl

<?

eval $( gargoyle_session_validator -c "$COOKIE_hash" -e "$COOKIE_exp" -a "$HTTP_USER_AGENT" -i "$REMOTE_ADDR" -r "login.sh" -t $(uci get gargoyle.global.session_timeout) -b "$COOKIE_browser_time"  )

status=$( cgi-bin/powersw/urzadzenie.sh )


echo "Content-type: text/html"
echo "$status"
?>

<html>
<head>
 <title>Power Switch w garazu</title>
<div align="center" align="justify"><font size="6" color="black" title >Power switch 
    przekaznikowy -
    <span class="auto-style6">Atiny 2313</span>, sterowanie przez
    TP-WR1043ND </font> </div>
<script src="js/jquery.min.js"></script> <!-- Trzeba pobrać: http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js -->


 
 
 
 <script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan1.sh',function(data) {
          $('#buttona').attr('src',"iconsw/"+data+".png");
          $('#buttona').attr('power',data);
   });
},4000);
    $('#buttona').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power1.sh',{action:power},function(data) {
          $('#buttona').attr('src',"iconsw/"+data+".png");
          $('#buttona').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan2.sh',function(data) {
          $('#buttonb').attr('src',"iconsw/"+data+".png");
          $('#buttonb').attr('power',data);
   });
},4000);
    $('#buttonb').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power2.sh',{action:power},function(data) {
          $('#buttonb').attr('src',"iconsw/"+data+".png");
          $('#buttonb').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan3.sh',function(data) {
          $('#buttonc').attr('src',"iconsw/"+data+".png");
          $('#buttonc').attr('power',data);
   });
},4000);
    $('#buttonc').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power3.sh',{action:power},function(data) {
          $('#buttonc').attr('src',"iconsw/"+data+".png");
          $('#buttonc').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan4.sh',function(data) {
          $('#buttond').attr('src',"iconsw/"+data+".png");
          $('#buttond').attr('power',data);
   });
},4000);
    $('#buttond').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power4.sh',{action:power},function(data) {
          $('#buttond').attr('src',"iconsw/"+data+".png");
          $('#buttond').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan5.sh',function(data) {
          $('#buttone').attr('src',"iconsw/"+data+".png");
          $('#buttone').attr('power',data);
   });
},4000);
    $('#buttone').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power5.sh',{action:power},function(data) {
          $('#buttone').attr('src',"iconsw/"+data+".png");
          $('#buttone').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan6.sh',function(data) {
          $('#buttonf').attr('src',"iconsw/"+data+".png");
          $('#buttonf').attr('power',data);
   });
},4000);
    $('#buttonf').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power6.sh',{action:power},function(data) {
          $('#buttonf').attr('src',"iconsw/"+data+".png");
          $('#buttonf').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan7.sh',function(data) {
          $('#buttong').attr('src',"iconsw/"+data+".png");
          $('#buttong').attr('power',data);
   });
},4000);
    $('#buttong').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power7.sh',{action:power},function(data) {
          $('#buttong').attr('src',"iconsw/"+data+".png");
          $('#buttong').attr('power',data);
       });
    });
});
</script>

<script>
 
$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan8.sh',function(data) {
          $('#buttonh').attr('src',"iconsw/"+data+".png");
          $('#buttonh').attr('power',data);
   });
},4000);
    $('#buttonh').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
         if(power=='NA'){
                power='NA';
         }
       $.get('cgi-bin/powersw/power8.sh',{action:power},function(data) {
          $('#buttonh').attr('src',"iconsw/"+data+".png");
          $('#buttonh').attr('power',data);
       });
    });
});
</script>


<!-- chwilowe przyciski -->
<script>
$(document).ready(function(){
        $('#buttona1s').click(function(){    
       $.get('cgi-bin/powersw/power11s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttonb1s').click(function(){    
       $.get('cgi-bin/powersw/power21s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttonc1s').click(function(){    
       $.get('cgi-bin/powersw/power31s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttond1s').click(function(){    
       $.get('cgi-bin/powersw/power41s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttone1s').click(function(){    
       $.get('cgi-bin/powersw/power51s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttonf1s').click(function(){    
       $.get('cgi-bin/powersw/power61s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttong1s').click(function(){    
       $.get('cgi-bin/powersw/power71s.sh')
    });
});
</script>

<script>
$(document).ready(function(){
        $('#buttonh1s').click(function(){    
       $.get('cgi-bin/powersw/power81s.sh')
    });
});
</script>

<style type="text/css">
.auto-style1 {
    border: 2px solid #000000;
}
.auto-style2 {
    border-width: 2px;
}
.auto-style4 {
    border-left-style: solid;
    border-left-width: 2px;
    border-right-style: solid;
    border-right-width: 2px;
    border-top-style: solid;
    border-top-width: 2px;
    border-bottom-width: 2px;
}
.auto-style6 {
    margin-left: 0px;
}
.auto-style7 {
    margin-left: 11px;
}
.auto-style8 {
    margin-left: 6px;
}
.auto-style9 {
    margin-left: 40px;
}
.auto-style10 {
    margin-left: 2px;
}
.auto-style11 {
    margin-left: 1px;
}
</style>


</head>
<body style="height: 80px; width: 935px; margin-top: 10; margin-bottom: 10; background-color: #C0C0C0">

<div align="center" style="height: 20px"><br><font size="4" color="red"> <? status=$(cgi-bin/powersw/urzadzenie.sh 2>/dev/null) echo "$status" ?></font></div>

<div auto;="" margin:="" style="position: absolute; left: 10px; top: 152px; height: 982px; width: 934px;">

<table class="auto-style1" >
<colgroup span="1"></colgroup>
<colgroup span="7"></colgroup>
<tr align="center" class="auto-style2">
<td style="border-bottom-color: #000000; border-color: #000000; height: 36; border-bottom-style: double; border-bottom-width: inherit;" class="auto-style4" colspan="8">
<strong>Przekazniki (kliknij na ikone aby przelaczyc) <br> info: <a href="http://eko.one.pl/forum/viewtopic.php?id=3894"><br/>http://eko.one.pl/forum/viewtopic.php?id=3894</strong></td>
</tr>
<tr align="center">
<td style="width: 103px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-1<br><font size="2" color="black"/font>tu opis przeznaczenia<br>
<br>

<img id="buttona" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 0 | sed 's/port.0..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 107px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-2<br><font size="2" color="black"/font>tu opis przeznaczenia<br>
<br>

<img id="buttonb" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 1 | sed 's/port.1..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >
<br>
    <td style="width: 113; height: 146;" class="auto-style1">
    <font size="4" color="blue">SW-3<font size="2" color="black"/font><br>tu opis przeznaczenia<br>
    <br>

<img id="buttonc" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 2 | sed 's/port.2..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 107px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-4<br><font size="2" color="black"/font>tu opis przeznaczenia<br>
<br>

<img id="buttond" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 3 | sed 's/port.3..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 133px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-5<br><font size="2" color="black"/font>tu opis
<br>przeznaczenia<br>
<br>

<img id="buttone" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 4 | sed 's/port.4..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="height: 146;" class="auto-style1">
<font size="4" color="blue">SW-6<br><font size="2" color="black"/font>tu opis
<br>przeznaczenia<br>
<br>

<img id="buttonf" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 5 | sed 's/port.5..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 45px; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-7<br><font size="2" color="black"/font>tu opis
<br>przeznaczenia<br>
<br>

<img id="buttong" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 6 | sed 's/port.6..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >

<br>
<td style="width: 113; height: 146;" class="auto-style1">
<font size="4" color="blue">SW-8<br><font size="2" color="black"/font>tu opis
<br>przeznaczenia<br>
<br>

<img id="buttonh" src="<?
stan=`/dodatki/powersw/power status 2>/dev/null | wc -l`
if [ "$stan" -gt "0" ] ; then
status1=$(/dodatki/powersw/power status | grep 7 | sed 's/port.7..//')
echo -n "iconsw/$status1.png"
else
echo -n "iconsw/NA.png"  
fi
?>" power="<?
if [ "$stan" -gt "0" ] ; then
echo -n "$status1"
else
echo -n "NA"  
fi
?>" width="50" height="50" >
<br>
<tr align="center">
<td class="auto-style1" colspan="8" style="height: 28">
<strong>Wlaczenie chwilowe</strong></td>
</tr>
<tr align="center">
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttona1s" >SW-1 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttonb1s" >SW-2 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttonc1s" >SW-3 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttond1s" >SW-4 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttone1s" >SW-5 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttonf1s" >SW-6 (2s)</button></td>
<td style="width: 103px; height: 38;" class="auto-style1">
<button style="width: 105px" id="buttong1s" >SW-7 (2s)</button></td>
<td sstyle="width: 103px; height: 38;"class="auto-style1">
<button style="width: 105px" id="buttonh1s" >SW-8 (2s)</button></td>
</tr>
<tr  align="center"><td class="auto-style1" colspan="2" style="height: 36px">
    <strong>Ustaw czas zalaczenia - crona</strong></td>
    <td class="auto-style1" colspan="2" style="height: 36px">
    <strong>Wybierz stan przekaznika</strong></td>
    <td class="auto-style1" colspan="4" style="height: 36px">
    <strong>Usuwanie ustawien crona</strong></td>

    <tr align="center">
<td colspan="2" class="auto-style1" rowspan="2">

<form name="listswitchharm" action="/cgi-bin/switchharm/setswitchharm.sh" method="get" enctype="text/plain" >
<table cellpadding="4" style="height: 239px; width: 210px;">
<tr><td style="width: 105px; height: 90px;">&nbsp;&nbsp;&nbsp; Godzina <br> <br>
            <select name="hours" title="Wybierz godzine" style="width: 44px; height: 19px;">
<option value="*"></option>
<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><input type="checkbox" title="Co wybrany zakres godzin" name="everyhour" value="on" class="auto-style10" style="width: 22px"></td>
<td style="height: 90px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Minuty<br><br>
            <select name="minutes" title="Wybierz minuty" style="height: 19px; width: 62px;">
<option value="*"></option>
<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><input type="checkbox" title="Co wybrany zakres minut" name="everymin" value="on" class="auto-style7"></td></tr>
<tr><td style="height: 57px; width: 105px;">&nbsp;&nbsp;&nbsp;&nbsp; Dzien<br>&nbsp;<br>
            <select name="day" title="Wybierz dzien" style="width: 40px; height: 19px;" >
<option value="*"></option>
<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> 
            </select><input type="checkbox" title="Co podany dzien" name="everyday" value="on" class="auto-style8" style="width: 20px"></td>

<td style="height: 57" class="auto-style1">&nbsp; Dzien tygodnia<br><br>
<select name="dayofweek" title="Wybierz dzien tygodnia" style="height: 19px" >
<option value="*"></option>
<option value="1">Poniedzialek</option>
<option value="2">Wtorek</option>
<option value="3">Sroda</option>
<option value="4">Czwartek</option>
<option value="5">Piatek</option>
<option value="6">Sobota</option>
<option value="0">Niedziela</option>
</select></td></tr>
</table>





<td colspan="2" class="auto-style1" rowspan="2">

<table cellpadding="4" style="height: 242px; width: 210px"><tr><td align="center">
<input type="radio" name="activ" value="on" checked="check"/>Wlaczenie</td>
<td><input type="radio" name="activ" value="off"/>Wylaczenie</td></tr>

<tr><td align="center" colspan="2">Numer przekaznika<br><br>
<select name="nrswitch" title="Wybierz nr portu" class="auto-style6" style="width: 118px; height: 19px;">
<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>  
            </select></td></tr>
<tr><td align="center" colspan="2" style="height: 36px">        
<input type="submit" title="dodaj do harmonogramu" value="Dodaj" id="wpisz" style="width: 133px; height: 28px;"/></td></tr>
</table>
</form>

    </td>
<td style="height: 150px;" colspan="4" class="auto-style1">

<iframe src="/cgi-bin/switchharm/readharm.sh" height="150" frameborder="1" style="width: 455px" class="auto-style6"></iframe></td>

</tr>

<tr align="center">
<td colspan="4" class="auto-style1" style="height: 69px">
    
<form name="delswitchharm" action="/cgi-bin/switchharm/delswitchharm.sh" method="get" enctype="text/plain" style="height: 61px" class="auto-style11" >
&nbsp;<br>  
<input type="submit" name="usuwanie" value="Usun" onclick="return confirm('Na pewno chcesz usunac ?');" style="height: 26px; width: 161px"/>
<select name="lstswitchharm" class="auto-style9" style="height: 34px; width: 172px" >
<? 
/www/cgi-bin/switchharm/lstswitchharm.sh

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

</html>

:

967

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Witam,

to co lepiej zastosowac ? rozwiazanie wabikboy czy dominika-s ?


napewno to nied zadziala podczas oswierzania ?

div><? /www/cgi-bin/bcd/read0.sh ?></div>

Pozdr

968

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Witaj Dominik-S,

i co przy odswierzeniu strony to nie zadziala ?

mozesz to potwierdzic ?

POZDR,
rl

969

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Witam,

kolega kamillo zrobil to co ja chce dodac w nastepnym kroku (sos na zasadzie zapoalania i gasniecia diody) przy nacisnieciu przycisku chwilowego aby dac operatorowi fitback ze zadzialalo jego nacisniecie przycisku. Tez jestem zainteresowany rozwiazaniem twojego problemu.

pozdr,

970

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Witam,

Super ! o to chodzilo, jak juz dostane spowrotem routerek z ram modem to wrzuce do siebie (niechce mi sie na vboxsie bawic bo niedokonfigurowany mam). 3 ikonka i komunikat jest wazny, mowi o jakis problemach ze sterowaniem a to wazne jak sie czyms powaznym steruje :-). Jak juz skoncze zintegrowana stronke z harmonogramem to przesle do Ciebie, moze cos zoptymalizujesz moze da sie zrobic plugina z tego do gargoyle, taki mam cel (duzo nauki przedemna) ale wspolnie moze sie da dotuningowac i bedzie gotowy plugin, jest to naprawde fajna sprawa. Harmonogram wi-fi zrobil sie pluginem - dlaczego nie powerswitch :-). Moze pozniej 1-wire jakis - i to radiowy :-) to mnie zainspirowalo http://majsterkowo.pl/prosty-system-pow … pocztowej/ i to http://majsterkowo.pl/forum/pomiar-tem … -t651.html koszt max 50 PLN http://allegro.pl/modul-nadajnik-odbior … 03596.html, to nastepne podejscie, ale bede chcial z czujnikiem ognia i wilgotnosci cos wykabinowac razem z prezentacja na gargoyle (dluga zabawa na ardurino). Wielkie dzieki za zainteresowanie napewno jutro juz bede mial swoja wersje beta sterowania.

Pozdr

971

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

Juz 3 dni siedze nad tym, a przez to ze laik jestem w programowaniu to szukam po internecie i znalezc nie moge, a w JS to juz zupelne 0, poczekam na pomoc kolegi - bede wdzieczny, choc przetestuje jutro bo wymieniam pamiec na 64 m dzisiaj w routerze i bede mial go dopiero jutro po polodniu.

972

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Witam,

<button type="button" onclick="cgi-bin/powersw/power11s.sh">Click Me!</button>

nie odpala nic - niestety - jak to kurna odpalic, zwykly klawisz i 1 skrypt ?

Moze ktos wie ?

Ja wpadlem tylko na to ze w sekcji HEAD

dodaje skrypt JS (niestety nie wiem jak odpalic skrypt shela ze skryptu javy)

 <script type="text/javascript">
<!--
function popup() {

    alert("Hello World")
    }
//-->
</script>

i do mojego przycisku dodaje ta funkcje jako onclick - ale to tyle co potrafir, i to dziala, daziala po kliknieciu przycisku nie po odswierzeniu strony - ale niestety musze odpalic skrypt lub chociaz komende w shellu z tego skryptu JS.


moj przycisk wyglada tak

<button name="Button2" style="width: 105px" type="button" onclick="popup()">SW-2 (2s)</button>

973

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Witam,

Ale ja nie chce odswierzania, ttylko wykonanie kliku i odpalenie skryptu powerXX.sh, ktory wlaczy i zaraz wylaczy dany port switcha. Nie wiem czy moja koncepcja byla sluszna i ten skrypt:

<script>
$(document).ready(function(){$('#buttona1s').click(function()
            {$.get('cgi-bin/powersw/power11s.sh');
            });
});
</script>

z odpaleniem przycisku:


<td><input name="Button9" style="width: 105px; height: -1px;" type="button" value="SW-1 (2s)" onclick="buttona1s"/></td>


Nie wiem czy to wystarczy, czy koniecznie musi sie to odswierzac skoro przenioslem caly harmonogram do strony power switcha gdzie juz sa skrypty i przyciski (ikony), ktore maja swoja pierwotna funkcjie. Moje przyciski sa przyciskami dodatkowymi.

Powiem ze wszystko mi juz dziala po zintegrowaniu 2 stronek, czyli switcha i harmonogramu oprocz zalaczenia chwilowego przez przyciski. Jak by kolega mogl pomoc to jak juz wszystko skoncze udostepnie swoje rozwiazanie, gdzie polaczylem oba projekty w 1 i dodalem jeszcze kontrole apodlaczenia powerswitcha i chce dodac przyciski chwilowe.

Bardzo prosze o pomoc i analize tego co wykoncepowalem sobie w tej kwestii.

Bo po ciezkich bojach poleglem, skrypty sie nie odpalaja (maja 777)  - ani w podanym przykladzie przez wabikboy ani w moim rozwiazaniu, zalezy mi strasznie zeby byly to przyciski nie ikony do klikania.

Pozdr,

974

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Czesc,

Nie bardzo sie na tym znam ale wydaje mi sie ze ta funkcja $(document).ready to dziala na wczytanie dokumentu tylko, moze
kolega wabikboy - pomoze nam w naszych problemach.


moze popatrz na to:

http://eko.one.pl/forum/viewtopic.php?id=3642

Pozdr

975

(365 odpowiedzi, napisanych Oprogramowanie / Software)

Witam,

Chcialbym teraz jakos opanowac to:

<script>

$(document).ready(function(){
    setInterval(function (){
   $.get('cgi-bin/powersw/stan1.sh',function(data) {
          $('#buttona1s').attr('src',"iconsw/"+data+".png");
          $('#buttona1s').attr('power',data);   });},7500);
    $('#buttona').click(function(){
       var power=$(this).attr('power');
        if(power=='on'){
            power='off'
       }else{
            power='on';
       }
       $.get('cgi-bin/powersw/power11s.sh',{action:power},function(data) {
          $('#buttona1s').attr('src',"iconsw/"+data+".png");
          $('#buttona1s').attr('power',data);
       });
    });
});
</script>

które jest obslugiwane przez to

<img id="buttona1s" src="<?
status1=$(/dodatki/powersw/power status | grep 0 | sed 's/port.0..//')
echo -n "iconsw/$status1.png"
?>" power="<?
echo -n "$status1"
?>" width="50" height="50" ></font>

wlozyc do tego tak aby zadzialalo na 1 s:

<input name="Button9" style="width: 105px; height: -1px;" type="button" value="SW-1 (2s)" onclick="cos">

poprzez wykonanie skryptu (tu jest prosto):

cgi-bin/powersw/power1.sh

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

status=$(/dodatki/powersw/power status 2>/dev/null | grep 0 | sed 's/port.0..//')

if [ "$status" == "on" ] ; then
       /dodatki/powersw/power off 0
       sleep 1
       /dodatki/powersw/power on 0

else
        /dodatki/powersw/power on 0 2>/dev/null

#2>/dev/null jest potrzebne do podstawienia 3 ikonki przy braku podlaczonego switcha

           sleep 1

        /dodatki/powersw/power off 0 2>/dev/null
fi

#tu jest badane czy jest podlaczony switch - podstawienia 3 ikonki przy braku podlaczonego switcha

if [ "$status" == "on" ] || [ "$status" == "off" ] ; then

status0=$(/dodatki/powersw/power status | grep 0 | sed 's/port.0..//' )

echo "$status0"
else

status0="unknown"    # tu musi byc w katalogu ikonek 3 ikonka unknown.png
echo "$status0"
fi

?>

Czy ktos moze byc tak mily i jakos moze to pozenic ze soba, aby zadzialaly wszystkie funkcje i przycisk typu "button", i bylo tak ze przy odswierzeniu strony nie zadzialala akcja "onclick" i nie wcisnie sie automatycznie "onclick"

tak sobie to wykombinowalem, ale nie wiem czy zadziala

-----------------------------------------------------------------------------------------------------------------
switch.sh  (switchharm.sh)
-----------------------------------------------------------------------------------------------------------------

....

<script>
$(document).ready(function(){$('#buttona1s').click(function()
            {$.get('cgi-bin/powersw/power11s.sh');
            });
});
</script>

....

<td><input name="Button9" style="width: 105px; height: -1px;" type="button" value="SW-1 (2s)" onclick="buttona1s"/></td>

....

-----------------------------------------------------------------------------------------------------------------
cgi-bin/powersw/power11s.sh
-----------------------------------------------------------------------------------------------------------------

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

status=$(/dodatki/powersw/power status 2>/dev/null | grep 0 | sed 's/port.0..//')

if [ "$status" == "on" ] ; then
       /dodatki/powersw/power off 0
       sleep 1
       /dodatki/powersw/power on 0

else
       
/dodatki/powersw/power on 0 2>/dev/null    #<<<< 2>/dev/null jest potrzebne do podstawienia 3 ikonki przy braku podlaczonego switcha

           sleep 1

        /dodatki/powersw/power off 0 2>/dev/null
fi

# tu jest badane czy jest podlaczony switch - podstawienia 3 ikonki przy braku podlaczonego switcha

if [ "$status" == "on" ] || [ "$status" == "off" ] ; then

status0=$(/dodatki/powersw/power status | grep 0 | sed 's/port.0..//' )

echo "$status0"

else

status0="unknown"    # <<<<<<  tu musi byc w katalogu ikonek 3 ikonka unknown.png

echo "$status0"

fi

?>

Czy ktos kto jest obcykany w JS mogl by pomoc w tym temacie ?

Pozdr,