326

Odp: USB Relay - plugin do Gargoyle

dostalem cos takiego

#!/bin/bash


i=0;
while [ $i -le 0 ]; do
clear

echo "Choose 1-8"
echo "9 - All relays"
echo "0 - END"
echo "-----------------------------"

read -p "Option >>   " opcja
echo "You choosed $opcja"

case "$opcja" in
  "1") echo -ne "1" > /dev/ttyUSB0;;
  "2") echo -ne "6" > /dev/ttyUSB0;;
  "3") echo -ne "8" > /dev/ttyUSB0;;
  "4") echo -ne "7" > /dev/ttyUSB0;;
  "5") echo -ne "4" > /dev/ttyUSB0;;
  "6") echo -ne "3" > /dev/ttyUSB0;;
  "7") echo -ne "2" > /dev/ttyUSB0;;
  "8") echo -ne "5" > /dev/ttyUSB0;;
  "9") echo -ne "12345678" > /dev/ttyUSB0;;
  "11") echo -ne "1687" > /dev/ttyUSB0;;
  "22") echo -ne "4325" > /dev/ttyUSB0;;
  "0") i=1; clear ;;
  *) echo "You didn't choose"; sleep 2;
esac

done

327

Odp: USB Relay - plugin do Gargoyle

PS. Widzę że to po prostu tekstowo idzie. Więc wróć na początek wątku i czytaj jak zbudować skrypt który to będzie obsługiwał.

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

328

Odp: USB Relay - plugin do Gargoyle

hmm czyli musze przerobic skrypt najlepiej usbrelay ?

329

Odp: USB Relay - plugin do Gargoyle

Dowolny z nich. Masz opisane co skrypt musi zwracać i jak przyjmuje parametry, a resztę musisz dostosować to pod swoją płytkę. Masz przykłady pod relayboard, usbrelay, gpio, więc jest na czym się wzorować.

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

330

Odp: USB Relay - plugin do Gargoyle

Dobra skrypt skryptem, mysle ze sobie poradze ale mnie ogolnie aplikacja "usbrelay" po wpisaniu

root@Gargoyle:~# usbrelay status
Could not find USB device "usbRelay" with vid=0x16c0 pid=0x5df

wywala ze niema takiego urządzenia gdzie
root@Gargoyle:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC


gdzies to trzeba by podmienić czy jak ?

331

Odp: USB Relay - plugin do Gargoyle

No ale to nie jest aplikacja do tej płyki. Oba od innego urządzenia jest, którego nie znajduje, więc co się dziwisz że takie coś wypisuje?

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

332

Odp: USB Relay - plugin do Gargoyle

Czy próbował już ktoś sterować tym pluginem sygnałami gpio z arduino?

Chcę podpiąć arduino nano V3.0 i sterować za pomocą tego pluginu.

333

Odp: USB Relay - plugin do Gargoyle

attiny85 idzie bez problemu. Kwestia tylko jaki soft do tego nano wsadzisz.

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

334

Odp: USB Relay - plugin do Gargoyle

Może już ktoś to przerabiał i się podzieli wsadem?

335

Odp: USB Relay - plugin do Gargoyle

Zwykła komunikacja serialem po usb, reagowanie na polecenia i ustawianie wyjść.

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

336

Odp: USB Relay - plugin do Gargoyle

Dzięki szukam właśnie tego po necie jak to oprogramować. Nie umiem programować więc muszę poszukać jakiegoś gotowca i poprzerabiać.

337

Odp: USB Relay - plugin do Gargoyle

To zobacz powerSwitcha który był tu opisywany. Gotowiec.

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

338

Odp: USB Relay - plugin do Gargoyle

sorry za głupie pytanie, ale mogę użyć tego samego wsadu do nano i będzie to działać?

339

Odp: USB Relay - plugin do Gargoyle

Zapewne nie, nie będzie działać ot tak sobie.

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

340

Odp: USB Relay - plugin do Gargoyle

Tak tez podejrzewał em. A mi właśnie zależy na Arduino.

341

Odp: USB Relay - plugin do Gargoyle

A da się sterowć w ten sposob przez www (Linux-Debian) ale przekaźnikami podłączonymi przez RS485?

342

Odp: USB Relay - plugin do Gargoyle

Jak sobie napiszesz odpowiedni skrypt do tego.

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

343

Odp: USB Relay - plugin do Gargoyle

A od czego zacząć?
Problem przy RS485 polega na tym, że jest kilka kart i one mają dodatkowo swój adres.

W tej chwili mam zrobione tak, że wysyłając komendę przez terminal:
echo -ne "xxy1\r" > /dev/ttyS0 włączy przekaźnik y na karcie xx
echo -ne "xx91\r" > /dev/ttyS0 włączy wszystkie przekaźniki na karcie xx
echo -ne "9991\r" > /dev/ttyS0 włączy wszystkie przekaźniki na wszystkich katach
echo -ne "xxy0\r" > /dev/ttyS0 wyłączy przekaźnik y na karcie xx
echo -ne "xx90\r" > /dev/ttyS0 wyłączy wszystkie przekaźniki na karcie xx
echo -ne "9990\r" > /dev/ttyS0 wyłączy wszystkie przekaźniki na wszystkich katach
echo -ne "xxy2\r" > /dev/ttyS0 zwróci stan przekaźnika y na karcie xx w formie "xx:0" lub "xx:1"
echo -ne "xx92\r" > /dev/ttyS0 zwróci stan wszystkich przekaźników na karcie xx w formie "xx:00000000"

Wszystkie komendy jak i to co karty zwracają mogę zmienić.

Proszę o jakaś podpowiedz co i jak to ugryźć.
Chciałbym uzyskać sterowanie przekaźnikami przez www klikając na ikonę-włącz/wyłącz i zobaczyć stan.

344

Odp: USB Relay - plugin do Gargoyle

Plugin jest uniwersalny - wyświetli tyle przełączników ile mu skrypt zwróci. Więc jeżeli masz np. 2 karty po 2 przekaźniki to możesz od razu pokazać dwie karty np:

case "$1" in
    off)
        [ $2 = "1" ] && echo -ne "0110\r" > /dev/ttyS0 
        [ $2 = "2" ] && echo -ne "0120\r" > /dev/ttyS0 
        [ $2 = "3" ] && echo -ne "0210\r" > /dev/ttyS0 
        [ $2 = "4" ] && echo -ne "0220\r" > /dev/ttyS0 
        ;;
    on)
        [ $2 = "1" ] && echo -ne "0111\r" > /dev/ttyS0 
        [ $2 = "2" ] && echo -ne "0121\r" > /dev/ttyS0 
        [ $2 = "3" ] && echo -ne "0211\r" > /dev/ttyS0 
        [ $2 = "4" ] && echo -ne "0221\r" > /dev/ttyS0 
        ;;
    status)
        echo -n "1:"
        echo -ne "0112\r" > /dev/ttyS0
        echo -n "2:"
        echo -ne "0122\r" > /dev/ttyS0
        echo -n "3:"
        echo -ne "0212\r" > /dev/ttyS0
        echo -n "4:"
        echo -ne "0222\r" > /dev/ttyS0
        ;;
esac

exit 0

Tylko sobie najpierw skrypt przetestuj a nie od razu gui.

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

345

Odp: USB Relay - plugin do Gargoyle

PS - źle jest. Dla statusu trzeba najpierw wysłać polecenie a potem go odebrać z portu szeregowego.

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

346 (edytowany przez pimowo 2014-08-17 18:09:04)

Odp: USB Relay - plugin do Gargoyle

Skrypt dla "on", "off" działa.
Status musiałbym jakoś inaczej sprawdzić. Wysyłam zapytanie, odczekać chwilę i dopiero dostanę odpowiedź.

Jaką by było najlepiej dostać odpowiedz od karty/jaka forma? Mogę to teraz zmienić, aby później było mniej problemów.

Planuje używać około 10-12 kart po 8 przekaźników na każdej.

347

Odp: USB Relay - plugin do Gargoyle

Jak to od odczytujesz z portu? Zwykły cat? Czy zwracany jest znak nowej linii po danych?

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

348 (edytowany przez pimowo 2014-08-17 18:31:12)

Odp: USB Relay - plugin do Gargoyle

Sprawdzanie stanu o którym piałem wcześniej wymyśliłem niedawno.
Do sprawdzanie stanu itp. używałem minicom.
Soft w kartach oczywiście mogę zmienić i dostane odpowiedz jaka mi pasuje.

W tej chwili na co dzień używam kilku kart przez CRON'a i skrypty BASH, ale bez sprawdzania stanu-po prostu włącz/wyłącz.

Marzy mi się używać tego wszystkiego przez przeglądarkę i wiedzieć co jest włączone/wyłączone.

349

Odp: USB Relay - plugin do Gargoyle

Ok, więc dorób tak żeby po wyniku był znak nowej linii. Wtedy odczyt będziesz mógł zrealizować poleceniem:

echo -ne "0112\r" > /dev/ttyS0 && grep -m1 "01:" /dev/ttyS0

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

350 (edytowany przez pimowo 2014-08-17 20:07:59)

Odp: USB Relay - plugin do Gargoyle

Według Twoich wytycznych skrypt wygląda tak:

#!/bin/bash

case "$1" in
    off)
        [ $2 = "1" ] && echo -ne "6010\r" > /dev/ttyS0
        [ $2 = "2" ] && echo -ne "6020\r" > /dev/ttyS0
        ;;
    on)
        [ $2 = "1" ] && echo -ne "6011\r" > /dev/ttyS0
        [ $2 = "2" ] && echo -ne "6021\r" > /dev/ttyS0
        ;;
    status)
        echo -n "1:"
        echo -ne "6012\r" > /dev/ttyS0 && grep -m1 "60:" /dev/ttyS0
        echo -n "2:"
        echo -ne "6022\r" > /dev/ttyS0 && grep -m1 "60:" /dev/ttyS0
        ;;
esac

exit 0

Męczę kartę  o numerze "60" bo akurat mam ją na stole.

I teraz tak:

/skrypt.sh on 1

włącza pierwszy przekaźnik na karcie "60", a

/skrypt.sh off 1

wyłącza pierwszy przekaźnik na karcie "60".

Polecenie:

/skrypt.sh status

zwraca po chwili (karty odpowiadają z opóźnieniem aby nie było kolizji na magistrali)

1:60:1
2:60:0

czyli stan faktyczny przekaźników na karcie smile

Tak sobie myślę, może lepiej by było gdyby karta zwracała "on" i "off" zamiast "1" i "0" i wyrzucić jej numer?
Pytając przez skrypt o status np:

    status)
        ...
        echo -n "88:"
        echo -ne "8812\r" > /dev/ttyS0 && grep -m1 "88:" /dev/ttyS0
        ...

otrzymam w odpowiedzi:

...
88:off
...