501

Odp: USB Relay - plugin do Gargoyle

Potwierdzam, nie działa na 6, nie instaluje się.

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

502

Odp: USB Relay - plugin do Gargoyle

Jest szansa na aktualizacje tej apki na nowszego androida ?

503

Odp: USB Relay - plugin do Gargoyle

Bardzo mała, nawet nie wiem czy jeszcze źródła mam.

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

504

Odp: USB Relay - plugin do Gargoyle

uggp napisał/a:

Jakby ktoś chciał pobawić się takim czymś:
USBRelay

to instalujemy:
opkg update
opkg install kmod-usb-serial-ch341

potem kopiujemy mój usbrelay do /usr/bin
i polecenie włączenie/wyłączenie:
usbrelay /dev/ttyUSB0 1
usbrelay /dev/ttyUSB0 0

tutaj spakowane:
Paczka

/*--------------------------------------------------------------------*/
/* USB Relay                                                          */
/*--------------------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>    
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <unistd.h>
#include <strings.h>
/*--------------------------------------------------------------------*/
void relay(const char *sc, const char *value)
{
int hComm=0;
struct termios oldtio,newtio;
unsigned char on[4]={0xA0,0x01,0x01,0xA2};
unsigned char off[4]={0xA0,0x01,0x00,0xA1};
hComm=open(sc, O_RDWR | O_NOCTTY);
if (hComm!=-1)
   {
   tcgetattr(hComm,&oldtio);
   bzero(&newtio, sizeof(newtio));
   newtio.c_cflag = B9600 | CS8 | CLOCAL | CREAD;
   newtio.c_iflag = IGNPAR;
   newtio.c_oflag = 0;
   newtio.c_lflag = 0;
   newtio.c_cc[VTIME] = 2;
   newtio.c_cc[VMIN] = 0;
   tcflush(hComm, TCIFLUSH);
   tcsetattr(hComm,TCSANOW,&newtio);  
   if (value[0]=='1')
      {
      write(hComm,on,4); 
      }
   else 
      {
      write(hComm,off,4); 
      };
   tcsetattr(hComm,TCSANOW,&oldtio);
   close(hComm);
   usleep(200000);
   };
}
/*--------------------------------------------------------------------*/
int main(int argc, char *argv[])
{
if (argc==3)
   { 
   relay(argv[1],argv[2]);
   }
else
   {
   printf("USBRelay %s\nuse: usbrelay /dev/ttyUSB0 1\n",__DATE__);       
   };
return 0;
}
/*--------------------------------------------------------------------*/

Czy istnieje możliwość wpięcia tego usb relay pomiędzy routerem nexx wt3020 a modemem zte mf821?
Z racji tego że modem od czasu do czasu się rozłącza i nie mogę sterować zasilaniem usb przez gpio, chciałbym aby odpowiednia komenda w monitorze połączenia odcinała i po np. 5ciu sekundach przywracała zasilanie modemu wykorzystując ten usb relay.

Jeśli mogę to w ten sposób wykorzystać, to w jaki sposób go podłączyć? Domyślam się że przez ten usb relay nie przejdzie "data", więc czy mogę to podłączyć w ten sposób jak na obrazku?

https://drive.google.com/file/d/0BwZq8S … sp=sharing

Jeśli schemat jest zły, proszę o wskazówki co gdzie i jak smile

505

Odp: USB Relay - plugin do Gargoyle

Schemat jest zły. Do wt3020 podłączasz hub usb, do huba dopiero usbrelay. Do huba połączasz na kabelku modem, kabelek rozcinasz, wydobywasz żyłę zasilania, przecinasz ją i końcówki dajesz do przekaźnika. O ile tylko przekaźnik nie będzie miał nic przeciwko działania na 5V to powinno działać.

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

506

Odp: USB Relay - plugin do Gargoyle

Czy potrzeba zastosowania huba jest na prawdę konieczna?
Kupiłem nexxa po to aby pozbyć się huba, bo energia dostarczana przez usb w nexxie wystarczała do zasilenia routera oraz modemu. Btw, mój bts z którym się łączę jest 300 metrów od domu, obsługuje tylko 3g, więc może nie muszę go stosować?
Przyznam się szczerze że nie zaglądałem do manuala i pewnie znalazł bym bardziej lub mniej skomplikowaną odpowiedź, ale do końca nie wiem gdzie wychodzi "plus" w usb relay- to jest NC, NO czy COM?

507

Odp: USB Relay - plugin do Gargoyle

Tak, musisz mieć hub. Jak masz jedno gniazdo usb to możesz podłączyć jedno urządzenie. USB nie działa na tej zasadzie że podłączysz wiele kabelków i możesz podłączyć ile chcesz urządzeń. Jedno gniazdo - jedno urządzenie, chcesz wiele urządzeń to stosujesz hub usb który ma odpowiednią elektronikę w środku.

Jeden kabelek podłączasz do "com" drugi  do nc jak chcesz żeby domyślnie było załączone LUB do no jak chcesz aby domyślnie było rozłączone.

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

508

Odp: USB Relay - plugin do Gargoyle

Jedno usb, jedno urządzenie, rozumiem.
W takim razie mam kolejne pytanie - pomysł.
Schemat mojego połączenia:

Modem - nexx wt3020 z wyłączonym wifi - połączenie lan do wr842nd z włączonym radiem.

Skoro wr842nd oraz nexx ma usb, czy mogę jakoś to ogarnąć bez huba?

Jeśli nie, wychodzi na to że mniej skomplikowaną metodą będzie kupno aktywnego huba usb z opcją sterowania portami

509

Odp: USB Relay - plugin do Gargoyle

Możesz, ale zaczynasz chyba za bardzo komplikować sprawę.

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

510

Odp: USB Relay - plugin do Gargoyle

Rozumiem wszystko
Dziękuję serdecznie za pomoc, na Ciebie zawsze można liczyć smile

511 (edytowany przez geotravel 2017-05-07 16:18:58)

Odp: USB Relay - plugin do Gargoyle

Mamy pytanie, mam modul przekaznika  uruchamiany przez podanie stanu niskiego na wejście

http://elty.pl/pl/p/Modul-z-1-przekazni … ptorem/667

oraz jesli dokupie do niego konwerter USB<->serial ktory ma wyprowadzone sygnal RTS

http://allegro.pl/konwerter-usb-to-ttl- … 00068.html

i podlacze wejscie modulu przekaznika "IN" do "RTS" konwertera uda mi sie sterowac programem USBrelay tym zalaczonym 7 postow wyzej ??

Pozdrawiam

512

Odp: USB Relay - plugin do Gargoyle

Cezary - na jakiego androida jest napisana apk? Bo na 6.0 nie śmiga sad

513

Odp: USB Relay - plugin do Gargoyle

Na górze tej strony, post 501 napisałem że nie działa na androidzie 6.

Na poprzednich działało.

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

514 (edytowany przez snietyrycerz 2017-10-10 03:08:35)

Odp: USB Relay - plugin do Gargoyle

A takie pytanko co do apki, w chwili jak apka laczy sie przez ssh i wysyla zapytanie o status: do /usr/lib/gargoyle/usbrelay.sh status , to nie wysyla mi nazw poszczegolnych przekaznikow tylko same numery od 0 do 7, ale nad przyciskami mam "... " Nazwy przekaznikow mam w pliku txt w /etc/config/usbrelay.txt. Pytanie jak apka sobie te nazwy ściąga? Probowalem sam napisac taka apke ale nie wiem jak powinna wygladac sama konstrukcja polaczenia ssh i nie za bardzo to działa.

(INTERNET)__>Nanobridge M5 22dBi>__>bramka WR1043ND(Gargoyle-extroot na microdrive,hub aktywny,kamera1,MPD,pilot RC-201,LCD2USB,printserwer,ftp)>__>pomocniczy  NETGEAR WNR3500Lv1(Tomato,klient torrent i transmission,ftp)>__>repeater 3420v2(Gargoyle,extroot na pendrive,hub pasywny,kamera2,powerSwitch do sterowania oświetleniem, pilot X10 sterowanie lokalne)>stary LG GT540+CloudCam w roli ip kamery3

515

Odp: USB Relay - plugin do Gargoyle

Widzisz, bo za bardzo mieszasz. W pierwszym poście wyraźnie jest gdzie są opisy - w /etc/config/usbrelay a nie w /etc/config/usbrelay.txt, na dodatek w formacie UCI - czyli w tym na czym całe openwrt bazuje. Więc nic dziwnego że nie masz opisów.
Aplikacja wykonuje skrypt i pobiera zawartość pliku więc ma i status przekaźników ma i nazwę przekaźników.

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

516

Odp: USB Relay - plugin do Gargoyle

Pod openwrt mi dziala bez problemu, zaczałem kombinowac bo router okazał sie zbyt slaby (sporo softu z motion na czele) a w rece wpadło mi orange pi zero, chcialem to przeportowac do armbiana, nawet przekompilowalem powerSwitcha i dziala tylko szkoda mi tej apki bo taka fajna. Niestety przeniesienie plikow do takiego samego drzewa katalogow skutkuje tym ze apka przelacza, sciaga status ale nazw juz nie, no trudno. Cezary a jak pisales ta apke to pamietasz moze czy i z jakiej biblioteki korzystałeś do SSH, bo nie moge nic znalesc prócz jsch

(INTERNET)__>Nanobridge M5 22dBi>__>bramka WR1043ND(Gargoyle-extroot na microdrive,hub aktywny,kamera1,MPD,pilot RC-201,LCD2USB,printserwer,ftp)>__>pomocniczy  NETGEAR WNR3500Lv1(Tomato,klient torrent i transmission,ftp)>__>repeater 3420v2(Gargoyle,extroot na pendrive,hub pasywny,kamera2,powerSwitch do sterowania oświetleniem, pilot X10 sterowanie lokalne)>stary LG GT540+CloudCam w roli ip kamery3

517

Odp: USB Relay - plugin do Gargoyle

Bo nie masz uci na armbiana....

Za grosz tego nie pamiętam, gdzieś w archiwach muszę pogrzebać.

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

518

Odp: USB Relay - plugin do Gargoyle

Witam.

Cezary zainstalowałem paczki. "Napisałem" czyli kopia mojego starego skryptu od przekaźników.
Jednak jak robię sprawdzenie
/usr/lib/gargoyle/usbrelay.sh status
Wywala mi

1:/usr/lib/gargoyle/usbrelay.sh: line 56: /bin/RelayBoard: not found

2:/usr/lib/gargoyle/usbrelay.sh: line 56: /bin/RelayBoard: not found

3:/usr/lib/gargoyle/usbrelay.sh: line 56: /bin/RelayBoard: not found

4:/usr/lib/gargoyle/usbrelay.sh: line 56: /bin/RelayBoard: not found

5:/usr/lib/gargoyle/usbrelay.sh: line 56: /bin/RelayBoard: not found

6:/usr/lib/gargoyle/usbrelay.sh: line 56: /bin/RelayBoard: not found

7:/usr/lib/gargoyle/usbrelay.sh: line 56: /bin/RelayBoard: not found

8:/usr/lib/gargoyle/usbrelay.sh: line 56: /bin/RelayBoard: not found

Moje configi:

/bin/

Mam sterownik do mojego przekaźnika tj. plik /bin/RelayBoard z nadanymi uprawnieniami 775

/usr/lib/gargoyle/usbrelay.sh

#!/bin/sh
# plik do obsługi RelayBoard
# usbrelay.sh polecenie [numer_portu]
# polecenie, pierwszy argument:
# off - wylacza przekaznik
#   usbrelay.sh off 0
# on - wlacza przekaznik
#   usbrelay.sh on 0
# status - podaje status wszystkich przekaznikĂłw w postaci numer_przekaznika:on lub numer_portu:off, kazdy w osobnej linii
#   usbrelay.sh status
#   1:on
#   2:on
#   3:off
#   4:off
#   5:off
#   6:off
#   7:off
#   8:off

PORT="/dev/ttyUSB0"
# numer_portu, drugi argument
PK1="/bin/RelayBoard $PORT get 1"
PK2="/bin/RelayBoard $PORT get 2"
PK3="/bin/RelayBoard $PORT get 3"
PK4="/bin/RelayBoard $PORT get 4"
PK5="/bin/RelayBoard $PORT get 5"
PK6="/bin/RelayBoard $PORT get 6"
PK7="/bin/RelayBoard $PORT get 7"
PK8="/bin/RelayBoard $PORT get 8"

case "$1" in
    off)
    RelayBoard $PORT off $2
    ;;
    on)
    RelayBoard $PORT on $2
    ;;
    status)
    echo -n "1:"
    echo $($PK1)
    echo -n "2:"
    echo $($PK2)
    echo -n "3:"
    echo $($PK3)
    echo -n "4:"
    echo $($PK4)
    echo -n "5:"
    echo $($PK5)
    echo -n "6:"
    echo $($PK6)
    echo -n "7:"
    echo $($PK7)
    echo -n "8:"
    echo $($PK8)
    ;;
esac

exit 0

/www/usbrelay/js/usbrelay.js

/*
 * This program is copyright © 2014-2017 Cezary Jackiewicz and is distributed under the terms of the GNU GPL
 * version 2.0 with a special clarification/exception that permits adapting the program to
 * configure proprietary "back end" software provided that all modifications to the web interface
 * itself remain covered by the GPL.
 * See http://gargoyle-router.com/faq.html#qfoss for more information
 */

usbrelayS = new Object();

function resetData()
{
    var columnNames = usbrelayS.Columns;
    var usbrelayTableData = new Array();

    if (ports.length == 0)
    {
        document.getElementById("no_usbrelay").style.display = "block";
        return;
    }

    for (idx=0; idx<ports.length; idx++)
    {
        var img = document.createElement("img");
        img.style.cssText= "margin-top:5px;";
        if (ports[idx][1] == "on")
        {
            img.src = "img/green-power-button.png";
            img.onclick = function(){offRelay(this);}
        } else {
            img.src = "img/red-power-button.png";
            img.onclick = function(){onRelay(this);}
        }

        var tmp = uciOriginal.get("usbrelay", "desc", ''+ports[idx][0])
        if (tmp == "") { tmp = "..."; }
        var anchor = document.createElement("a");
        anchor.href="usbrelay_schedule.sh?port=" + ports[idx][0];
        anchor.innerHTML = tmp;
        anchor.style.css = "a{text-decoration:none}";

        usbrelayTableData.push([ports[idx][0], anchor, img]);
    }

    var usbrelayTable = createTable(columnNames, usbrelayTableData, "usbrelay_table", false, false);
    var tableContainer = document.getElementById('usbrelay_table_container');
    if (tableContainer.firstChild != null)
    {
        tableContainer.removeChild(tableContainer.firstChild);
    }
    tableContainer.appendChild(usbrelayTable);
}
function onRelay(node)
{
    onoffRelay(node.parentNode.parentNode, "on");
}

function offRelay(node)
{
    onoffRelay(node.parentNode.parentNode, "off");
}

function onoffRelay(row, action)
{
    var port = row.firstChild.firstChild.data;
    var cmds = [ "/usr/lib/gargoyle/usbrelay.sh " + action + " " + port, "/usr/lib/gargoyle/usbrelay.sh status" ];
    var param = getParameterDefinition("commands", cmds.join("\n")) + "&" + getParameterDefinition("hash", document.cookie.replace(/^.*hash=/,"").replace(/[\t ;]+.*$/, ""));

    var stateChangeFunction = function(req)
    {
        if(req.readyState == 4)
        {
            var lines = req.responseText.split(/[\r\n]+/);
            ports.length = 0;
            for (idx=0; idx < lines.length; idx++)
            {
                if (lines[idx].match(/:o/))
                {
                    stat=lines[idx].split(":");
                    ports.push([ stat[0], stat[1] ]);
                }
            }
            resetData();
            setControlsEnabled(true);
        }
    }
    runAjax("POST", "utility/run_commands.sh", param, stateChangeFunction);
}

/etc/config/usbrelay

config 'usbrelay' 'desc'
    option '0' 'PrzekaĹşnik 0'
    option '1' 'PrzekaĹşnik 1'
    option '2' 'PrzekaĹşnik 2'
    option '3' 'PrzekaĹşnik 3'
    option '4' 'PrzekaĹşnik 4'
    option '5' 'PrzekaĹşnik 5'
    option '6' 'PrzekaĹşnik 6'
    option '7' 'PrzekaĹşnik 7'
    option '8' 'PrzekaĹşnik 8'

/etc/config/uhttpd

config uhttpd 'main'
    list listen_http '0.0.0.0:3000'
    list listen_http '[::]:3000'
    list listen_https '0.0.0.0:4000'
    list listen_https '[::]:4000'
    option redirect_https '0'
    option home '/www'
    option rfc1918_filter '1'
    option max_requests '3'
    option max_connections '100'
    option cert '/etc/uhttpd.crt'
    option key '/etc/uhttpd.key'
    option cgi_prefix '/cgi-bin'
    option script_timeout '60'
    option network_timeout '30'
    option http_keepalive '20'
    option tcp_keepalive '1'
    option ubus_prefix '/ubus'

config uhttpd secondary
        list listen_http '0.0.0.0:80'
    list listen_https '0.0.0.0:443'
        option home '/www_strona'
    option cert '/etc/uhttpd.crt'
    option key '/etc/uhttpd.key'

config cert 'defaults'
    option days '730'
    option bits '2048'
    option country 'ZZ'
    option state 'Somewhere'
    option location 'Unknown'
    option commonname 'LEDE'

config uhttpd usbrelay
    list listen_http    '0.0.0.0:6000'
    list listen_https    '0.0.0.0:7000'
    option cert '/etc/uhttpd.crt'
    option key '/etc/uhttpd.key'
    option 'index_file'    'usbrelay.sh'
    option 'index_page'    'usbrelay.sh'
    option 'error_page'    '/usbrelay.sh'
    option 'no_dirlists'    '1'
    
    option home        /www/usbrelay
    option rfc1918_filter    1
    option max_requests    50
    option max_connections    200
    option cgi_prefix    /cgi-bin
    list interpreter    ".sh=/usr/bin/run_haserl"
    option script_timeout    900
    option network_timeout    30
    option http_keepalive    20
    option tcp_keepalive    1

Obecne, chwilowo nie mam huba z własnym zasilaniem lecz myślę że nie w tym jest problem.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

519

Odp: USB Relay - plugin do Gargoyle

ls -al /bin/RelayBoard

pokaż.

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

520

Odp: USB Relay - plugin do Gargoyle

Cezary napisał/a:

ls -al /bin/RelayBoard

pokaż.

-rwxrwxr-x    1 root     root         15064 Oct 13 19:23 /bin/RelayBoard

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

521

Odp: USB Relay - plugin do Gargoyle

/bin/RelayBoard /dev/ttyUSB0 get 8

Uruchom i pokaż. Strzelam ze masz starą binarkę skomplikowaną z uclibc z nie musl.

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

522

Odp: USB Relay - plugin do Gargoyle

Cezary napisał/a:

/bin/RelayBoard /dev/ttyUSB0 get 8

Uruchom i pokaż. Strzelam ze masz starą binarkę skomplikowaną z uclibc z nie musl.

-ash: /bin/RelayBoard: not found

Binarka pochodzi stąd http://dl.eko.one.pl/projekty/usbrelay/RelayBoard/

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

523

Odp: USB Relay - plugin do Gargoyle

Więc dokładnie jest tak jak napisałem. Ona nie uruchomi sie na lede.

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

524

Odp: USB Relay - plugin do Gargoyle

Cezary napisał/a:

Więc dokładnie jest tak jak napisałem. Ona nie uruchomi sie na lede.

Dobra wiadomość to taka że znana jest przyczyna.
Niedobra, to że ja tej binarki nie skompiluję sad

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

525

Odp: USB Relay - plugin do Gargoyle

A masz źródła?

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