Nowe posty

Autor Wątek: Wysyłanie polecen do ttyUSB0  (Przeczytany 8604 razy)

PrisonHunter

  • Gość
Wysyłanie polecen do ttyUSB0
« dnia: 2009-12-31, 14:53:26 »
Witam :)

Kupiłem na Allegro kartę z przekaźnikami.

http://allegro.pl/item854847235_karta_8_przekaznikow_usb_steruj_poprzez_pc.html
I zastanawiam się jak wysyłać do niej polecenia... Jeśli wyśle się na port literkę "a" włącza się pierwszy przekaźnik.

Jest jakiś program pod Linuxa który po podaniu ttyUSB0 wysyła do urządzenia polecenia (w tym wypadku literki) ?

Pozdrawiam
PrisonHunter

PrisonHunter

  • Gość
Wysyłanie polecen do ttyUSB0
« Odpowiedź #1 dnia: 2009-12-31, 15:50:16 »
Edit:

Znalazlem program i emuluje go przez Wine. Wszystko dziala. Teraz się zastanawiam jak to zrobić w PHP... Wie ktoś może?

Offline Arkadiusz Bednarczyk

  • Linux.pl
  • Administrator
  • Guru
  • *****
  • Wiadomości: 649
    • Zobacz profil
    • Linux.pl
Wysyłanie polecen do ttyUSB0
« Odpowiedź #2 dnia: 2009-12-31, 15:58:31 »
a standardowe "echo a > /dev/ttyUSB0" nie zadziała?
--
pozdrawiam
Arkadiusz Bednarczyk
email/jabber: arek@linux.pl

ra-v

  • Gość
Wysyłanie polecen do ttyUSB0
« Odpowiedź #3 dnia: 2009-12-31, 23:02:18 »
Czy chcesz może przez stronę internetową umieszczoną na serwerze na którym jest również to urządzenie sterować przekaźnikami? Bo do końca nie rozumiem.

PrisonHunter

  • Gość
Wysyłanie polecen do ttyUSB0
« Odpowiedź #4 dnia: 2010-01-01, 17:52:54 »
Cytat: ra-v
Czy chcesz może przez stronę internetową umieszczoną na serwerze na którym jest również to urządzenie sterować przekaźnikami? Bo do końca nie rozumiem.
Tak, tak właśnie chciałbym :)

Napisałem coś w PHP jako tako, ale wywala mi błąd przy fopen permission denied...

ZipoKing

  • Gość
Wysyłanie polecen do ttyUSB0
« Odpowiedź #5 dnia: 2010-01-02, 11:12:46 »
Cytat: PrisonHunter
Napisałem coś w PHP jako tako, ale wywala mi błąd przy fopen permission denied...
Sprawdź dwie rzeczy:
1. Uprawnienia pliku /dev/ttyUSB0 - prawdopodobnie użytkownik, na którego prawach działa serwer WWW nie ma najzwyczajniej w świecie uprawnień do tego pliku.
2. PHP na serwerze ma włączony tryb "safe mode" który blokuje dostęp do wszelkich plików znajdujących się poza zdefiniowanymi katalogami.

Offline Arkadiusz Bednarczyk

  • Linux.pl
  • Administrator
  • Guru
  • *****
  • Wiadomości: 649
    • Zobacz profil
    • Linux.pl
Wysyłanie polecen do ttyUSB0
« Odpowiedź #6 dnia: 2010-01-02, 17:55:06 »
Do takich zastosowań ja bym raczej zaprzągł perla, no i sprawdziłbym uprawnienia ttyUSB0
--
pozdrawiam
Arkadiusz Bednarczyk
email/jabber: arek@linux.pl

ra-v

  • Gość
Wysyłanie polecen do ttyUSB0
« Odpowiedź #7 dnia: 2010-01-03, 23:19:27 »
Idea w HTML i PHP
....


....

if( !empty($_GET['kod']) )
  exec('echo '.$_GET['kod'].' > /dev/urzadzenie')
?>
Uprawnienia do urządzenia - właściciel grupowy to raczej apache i musi mieć uprawnienia do odczytu i zapisu.

PrisonHunter

  • Gość
Wysyłanie polecen do ttyUSB0
« Odpowiedź #8 dnia: 2010-01-07, 19:50:50 »
Ok już poradziłem sobie dzięki Waszym radom :) Ustawiłem dla /dev/ttyUSB0 chown'a nogroup i już PHP ma dostęp do tego urządzenia :)

Teraz mam pytanie, jak mam odczytywać informacje wysyłane z tego portu...? Ponieważ urządzenie w nowej wersji softu będzie wysyłać stan w jakim są przekaźniki.

ra-v

  • Gość
Wysyłanie polecen do ttyUSB0
« Odpowiedź #9 dnia: 2010-01-07, 23:10:25 »
Z bezpośrednim odczytem danych z /dev/* może być (będzie) problem. Raczej takie rzeczy odczytuje się jakimiś aplikacjami, niestety nie wiem jakimi.

Urządzenie posiada gdzieś informacje w zawartości pliku umieszczonego w /sys albo /proc - a z tamtąd jakieś wartości już możesz odczytać zwykłym poleceniem "cat plik" (oczywiście pamiętaj o uprawnieniach(

wcg

  • Gość
Wysyłanie polecen do ttyUSB0
« Odpowiedź #10 dnia: 2010-02-02, 12:58:21 »
Witam
Mam takie samo urządzenie, po wlożeniu usb zgłasza się ze zostalo podpięte pod ttyUSB0 ale po wywołaniu komenty z echo -ne '1' >dev/ttyUSB0 nic się nie dzieje. Jestem zalogowany jako root. Czy potrzebne są jeszcze jakieś dodatkowe ustawienia, sterowniki, itd, co robie nie tak? Używam FC12
Prosze o pomoc

ra-v

  • Gość
Wysyłanie polecen do ttyUSB0
« Odpowiedź #11 dnia: 2010-02-02, 18:10:24 »
Z pierwszego postu wnioskuje że to mają być litery a nie cyfry, czyli
echo -ne 'a' >dev/ttyUSB0
lub
echo a >dev/ttyUSB0
A w logach coś zauważa w ogóle? (/var/log/messages lub polecenie dmesg)

na logikę "lsmod" powinien wyświetlić gdzieś załadowany "usbserial". Jęsli nie to jako root wpisz "modprobe usbserial"