351

Odp: USB Relay - plugin do Gargoyle

prawie dobrze. Teraz sobie to przerób żeby zwracało w formacie
1:on
2:off

Bo takie są wymagania pluginu. Zwykły if w kodzie i będzie działać.

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

352

Odp: USB Relay - plugin do Gargoyle

Udało mi się zrobić, aby status wyglądał tak jak ma być.
Zmodyfikowałem kod karty, teraz po zapytaniu np. "echo -ne "0112\r > /dev/ttyS0" zwraca tylko "on" lub "off"
a "1:" itd. pobiera ze skryptu wink

Kolego Cezary podpowiedz jeszcze jak to uruchomić na Debianie, aby się wyświetlały ikonki itp. itd.

353

Odp: USB Relay - plugin do Gargoyle

Nie uruchomisz tego na debianie. Nie jest to samodzielny interfejs www.

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

354 (edytowany przez pimowo 2014-08-17 22:29:18)

Odp: USB Relay - plugin do Gargoyle

uuu... no to kiszka sad
W domu mam jeszcze terminal HP T5710 z openWRT nada się?

Chociaż wolałbym to zrobic na Debianie. Kolega wabikboy pokazywał tu na forum (nie mogę teraz znaleźć tego tematu) swoj sposób na sterowanie przekaźnikami przez www-nada się to na Debiana?

355

Odp: USB Relay - plugin do Gargoyle

Pod gargoyle dokładnie. Powinien.

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

356 (edytowany przez wabikboy 2014-08-18 08:32:44)

Odp: USB Relay - plugin do Gargoyle

Jeśli chodzi o ten temat na końcu, to jest zrobione na openwrt gdzie już jest serwer www, więc jak postawisz sobie na Debianie taki serwer to nie widzę problemu.

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

357

Odp: USB Relay - plugin do Gargoyle

wabikboy
możesz coś więcej powiedzieć na temat swojego rozwiązania-co i jak?

358

Odp: USB Relay - plugin do Gargoyle

Jest to prosta strona która odczytuje stan przekaźnika i wysyła do niego odpowiednie polecenie.
Jeśli chcesz więcej informacji napisz co konkretnie chcesz wiedzieć

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

359 (edytowany przez pimowo 2014-08-18 10:30:48)

Odp: USB Relay - plugin do Gargoyle

Jak postawić taką prosta stronę i jak sterować przekaźnikami wink
Tylko jest problem, a nawet dwa: to nie "Power switch" i mam Debiana.

360

Odp: USB Relay - plugin do Gargoyle

Więc
1. problem to nie problem bo skoro wysyłasz polecenie i dostajesz odpowiedz o stanie to w identyczny sposób działa Power Switch.
2. problem. Nie bawiłem się debianem ale sądzę że postawienie serwera www wygląda podobnie jak na ubuntu.
teraz robisz stronę na której po kliknięciu w przycisk wysyłasz polecenie do przekaźnika.
Jak się tak upierasz przy debianie to musisz poszperać po necie albo może tu Ci ktoś pomoże bo jak się jednak zdecydujesz na openwrt to wyślę Ci gotowca którego mam do Powerswitch'a i sobie przerobisz.

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

361

Odp: USB Relay - plugin do Gargoyle

Tzn. serwer www php itp. już u mnie jest postawiony i działa. Bardziej mi chodzi o to jak stworzyć stronę z "guziczkami" aby można było sobie sterować tym wszystkim.

Jak możesz to prześlij mi tez tego "gotowca" do Powerswitch'a na pimowo(malpa)gmail.com

362

Odp: USB Relay - plugin do Gargoyle

Panowie,
Mam takiego "stwora":

<?
if($_GET[on] == "on"){
$message = shell_exec("/var/www/power.sh on 1");
header("Location: test.php");
exit;
}
if($_GET[off] == "off"){
$message = shell_exec("/var/www/power.sh off 1");
header("Location: test.php");
exit;
}
$relay1 = trim(shell_exec("/var/www/power.sh status 1"))
?>
<html>
<?php
if($relay1 == "on" )
echo '<a href="?off=off"><img style="width: 50px; height: 50px;" src="images/on.png"></a>';
else
echo '<a href="?on=on"><img style="width: 50px; height: 50px;" src="images/off.png"></a>';
?>
</html>

i do tego skrypt /power.sh

#!/bin/bash

case "$1" in
    off)
        [ $2 = "1" ] && echo -ne "0510\r" > /dev/ttyS0
        [ $2 = "2" ] && echo -ne "0520\r" > /dev/ttyS0
        [ $2 = "3" ] && echo -ne "0530\r" > /dev/ttyS0
        ;;
     on)
        [ $2 = "1" ] && echo -ne "0511\r" > /dev/ttyS0
        [ $2 = "2" ] && echo -ne "0521\r" > /dev/ttyS0
        [ $2 = "3" ] && echo -ne "0531\r" > /dev/ttyS0
        ;;
 status)
        [ $2 = "1" ] && echo -ne "0512\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        [ $2 = "2" ] && echo -ne "0522\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        [ $2 = "3" ] && echo -ne "0532\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        ;;
   stan)
        echo -n "1:"
        echo -ne "0512\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        echo -n "2:"
        echo -ne "0522\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        echo -n "3:"
        echo -ne "0532\r" > /dev/ttyS0 && grep -m1 "" /dev/ttyS0
        ;;

   esac

 exit 0

I teraz tak, wszystko jest fajnie, pięknie, ikonki on/off podstawiają sie do aktualnego stanu przekaźnika, ale jak zrobić więcej "guzików"?
Tzn. "guziki" sobie zrobię, ale mam problem z odczytaniem stanu dla większej ilości "guzików" sad
Jak to zrobić, aby stan się ustawiał zawsze dla wszystkich jednocześnie poprzez jedno zapytanie czy odświeżenie strony?

363

Odp: USB Relay - plugin do Gargoyle

Masz trzy, to teraz przerób skrypt żeby odczytywał całą 100 jak chciałeś.

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

364 (edytowany przez pimowo 2014-08-21 22:52:53)

Odp: USB Relay - plugin do Gargoyle

Te trzy to tylko dla testów...
Chodzi mi o to jak to zrobić na stronie odnośnie tych statusów.
Na wet dla tych trzech mam problem opanować ich stan sad

365

Odp: USB Relay - plugin do Gargoyle

TO po pokazałeś to fragment strony. Działają Ci te statusy dla 3 czy nie?

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

366

Odp: USB Relay - plugin do Gargoyle

Nie działają mi statusy bo jak dam np. trzy guziki to już przy wczytywaniu strony jest problem-wszystkie trzy wysyłają zapytanie o status i wszystkie czekają na odpowiedz. Przez tyle pytań i odpowiedzi jednocześnie blokuje się magistrala bo poprzez RS485 dane mogą płynąć tylko w jedna stronę w danym czasie sad

367

Odp: USB Relay - plugin do Gargoyle

Ale przecież to skrypt robi, więc dodaj sobie sleep pomiędzy.

Tyle że w ten sposób odpytanie 100 mija się z celem, więc zrób sobie tak żeby wszystkie na raz odpowiadały a ty to przeparsuj.

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

368

Odp: USB Relay - plugin do Gargoyle

Cezary napisał/a:

więc zrób sobie tak żeby wszystkie na raz odpowiadały a ty to przeparsuj.

Właśnie nie wiem jak to ugryźć.
Wysyłam "/power.sh stan" i otrzymuję:

1:on
2:off
3:off
itd.

wynik przefiltrować dla każdego guzika i każdemu stan podstawić. Chyba musiało by być, że za każdym kliknięciem jakiegoś guzika przeładowanie strony i stan podstawiany dla wszystkich.

369

Odp: USB Relay - plugin do Gargoyle

I tak ma być. Skoro masz możliwość to możesz sobie przerobić kod w sterowniku żeby po poleceniu np.

echo -ne "9999999\r" > /dev/ttyS0

Zwracało wynik dokładnie w w/w formie. Nawet nie będziesz musiał nic parsować.

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

370

Odp: USB Relay - plugin do Gargoyle

Cezary napisał/a:

I tak ma być. Skoro masz możliwość to możesz sobie przerobić kod w sterowniku żeby po poleceniu np.

echo -ne "9999999\r" > /dev/ttyS0

To już bym musial "rozwalic" cały program w karcie.

Cezary napisał/a:

Zwracało wynik dokładnie w w/w formie. Nawet nie będziesz musiał nic parsować.

Ten sposób wydaje mi się, że jest ok. Karty maja swoje adresy, a dzięki temu skryptowi wszystko w nim definiuje-nr karty i nr przekaźnika i na wyjściu mam już tylko "1:", "2:", itd.

371

Odp: USB Relay - plugin do Gargoyle

Więc musisz po prostu odczytywać kartą kartę o wszystkie przekaźniki a potem to ładnie skryptem obrobić jeżeli jest potrzeba

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

372 (edytowany przez pimowo 2014-09-13 15:14:17)

Odp: USB Relay - plugin do Gargoyle

Już prawie wszystko mam zrobione. Problemem u mnie okazał się program na karcie przekaźników.

Cezary, możesz mi podpowiedzieć jak to zrobić, aby polecenie w skrypcie:

echo -ne "0112\r" > /dev/ttyACM0 && grep -m1 "" /dev/ttyACM0

czekało max 1 sekundę na odpowiedz i zakończyło swoje działanie?
Jeżeli dostanie odpowiedz to natychmiast kończy swoje zadanie, a jak nie dostanie odpowiedzi w określonym czasie to tez kończy swoje zadanie.

373

Odp: USB Relay - plugin do Gargoyle

grep -m1 "" /dev/ttyACM0 to jest źle. Zamiast "" daj jakiś ciąg tekstu, wtedy w nieskończoność będzie czekało na to.

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

374

Odp: USB Relay - plugin do Gargoyle

A czy to jest poprawne?

echo -ne "0112\r" > /dev/ttyACM0 && grep -m1 "1:" /dev/ttyACM0 | sed -e 's/^1://'

Karta teraz zwraca "1:on" lub "1:off" sed wycina "1:" i zostaje mi on/off-potrzebuje samo on/off.

Ale nadal skrypt "wisi" jeżeli nie otrzyma "1:on" lub "1:off" sad Jak go zatrzymać jeżeli odpowiedz jest inna, brak odpowiedzi czy tam jeszcze coś nie tak przez określony czas?

375

Odp: USB Relay - plugin do Gargoyle

Bo tak właśnie grep działa - czeka aż sie to pojawi. Możesz przed wykonaniem tego polecenia uruchomić np. (sleep 10; killall grep) & co spowoduje że ubije wszystkie grep po 10s.

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