Sterowanie urządzeniami przez WWW - Inteligentny dom

0

Witam,

Chciałbym uzyskać informację na temat możliwości kontrolowania urządzeń sterowanych przez USB z poziomu przeglądarki. Jak można odebrać dane z apache np. wysłane przez formularz i przekazać je do aplikacji zewnętrznej, która w tym przypadku będzie sterować urządzeniem podłączonym do USB.

Poproszę o wszelkie propozycję (również tytuły książek (linki do publikacji) dla webmasterów, programistów w j. polskim) dzięki którym można zrealizować taki projekt, dodam że całość miałaby być uruchomiona w środowisku Linux.

Projekt "inteligentnego domu" robie hobbystycznie, jego celem jest zdobycie jak największej wiedzy na ten temat :-)
Z góry dziękuje za pomoc :-)

0

Obsługa USB to jedno, a komunikacja z przeglądarką to coś innego.

Przeglądarka do apache klasycznie, po stronie serwera jakiś skrypt server-side z wywołaniem powiedzmy programu konsolowego, który do programu obsługi USB wyśle stosowny komunikat (z pewnych przyczyn lepiej gdy są to 2 osobne programy), a ten już robi swoje. Z odczytem robisz w odwrotnym kierunku

Server-side odpala program, który z programu obsługi USB pobiera potrzebne dane i zwraca na wyjście, które skrypt przechwytuje i zwraca przeglądarce.

Potrzebne narzędzia: serwer www z zainstalowanym mechanizmem server-side (PHP, ASP, albo wręcz jakimś CGI), program - najlepiej konsolowy do komunikacji z programem obsługi urządzenia, program obsługi urządzenia.

0
Szczawik napisał(a)

Obsługa USB to jedno, a komunikacja z przeglądarką to coś innego....
A "inteligentny dom" to jeszcze coś zupełnie innego. USB jest fajne ale na biurku.

0

Jesli chodzi o inteligentny dom to cykl artykulow zaczal sie w EP

http://www.ep.com.pl/?strona=archiwum.php&r=2004&m=1

co do USB kontra apache + server side to ja bym nie chcial takiego domu. Raczej zabawa.

0
mgr.Dobrowolski napisał(a)
Szczawik napisał(a)

Obsługa USB to jedno, a komunikacja z przeglądarką to coś innego....
A "inteligentny dom" to jeszcze coś zupełnie innego. USB jest fajne ale na biurku.

A to rzeczywiście jest inna sprawa. Inteligentny dom wymaga urządzeń komunikacyjnych na większą odległość. Można wykorzystać WiFi, Ethernet itp. USB średnio się do tego nadaje.

0
reichel napisał(a)

co do USB kontra apache + server side to ja bym nie chcial takiego domu. Raczej zabawa.

Racja - zabawa, tak jak napisałem na początku to chce się jak najwięcej nauczyć ;]

Co do USB i części elektronicznej to zostawmy to na razie w spokoju ;], bardziej interesują mnie zagadnienia programowe.

Jak przekazać dane z WWW do zewnętrznej aplikacji, nie chodzi mi o odpalenie za każdym razem aplikacji przez PHP, tylko o wysłanie/odebranie danych z innej aplikacji zewnętrznej działającej na tym serwerze.
Myślałem o wykorzystaniu bazy danych którą by aplikacja cały czas monitorowała i odbierała z niej dane, chociaż w tym wypadku chciałbym zrobić to z ominięciem baz.
Ponieważ przymierzam się do nauki programowa w Ruby, czy w tym języku można również zrealizować coś takiego ?

0

1) Czy aplikacja umozliwia podlaczenie jakiegos pluginu ?

2) Tak (np WinAMP): no to problem z glowy piszemy plugin (no raczej nie w ruby, ani php)
i mozemy nim sterowac z ruby/php (oba pozwalaja wywolac api systemow).

3) Nie - no to glowimy sie jak to mozna zrobic, przechwytujemy mysz, klawiature, rozkrecamy aplikacje ... mozemy to napisac w php/ruby ale .... lepiej w czym innym a sterowac z php/ruby jak w 2

4) pozostaje interfejs www.

Wniosek:
Kupa roboty, ktora moze sie do niczego nie przydac. Wlasciwie to takie VNC wiec moze od razu lapac pulpit i wysylac go do klienta ?!

0
reichel napisał(a)

1) Czy aplikacja umozliwia podlaczenie jakiegos pluginu ?

Aplikacja wysyłająca dane przez USB będzie dopiero pisana czyli teoretycznie może obsługiwać wszystko. Ma to być prosty program konsolowy, który po odebraniu danych wysłanych przez WWW wyśle je na port COM lub z niego odbierze i wyśle do WWW( za transmisje przez USB będzie odpowiedzialny układ FT8U232BM, widziany w systemie jako wirtualny COM), a resztą zajmie się mikrokontroler który np włączy/wyłączy urządzenia lub wyśle informację w jakim ono znajduje się stanie.

reichel napisał(a)

2) Tak (np WinAMP): no to problem z glowy piszemy plugin (no raczej nie w ruby, ani php) i mozemy nim sterowac z ruby/php (oba pozwalaja wywolac api systemow).

Może coś więcej na ten temat ?? ;]

reichel napisał(a)

Wniosek:
Kupa roboty, ktora moze sie do niczego nie przydac.

Może się przydać ;] załóżmy że mamy postawiony serwer WWW z możliwością kontrolowania urządzeń w domu, wystarczy połączyć się z serwerem (np przez LAN, wifi. Bluetooth, internet) i bez instalowania dodatkowych aplikacji można np wyłączyć światło kuchni :d

reichel napisał(a)

Wlasciwie to takie VNC wiec moze od razu lapac pulpit i wysylac go do klienta ?

Na serwerze będzie zainstalowany linux bez trybu graficznego, w sumie najprościej byłoby łaczyć się z aplikacją przez telnet, ale to nie o to w tym projekcie chodzi :-)

0

W takim wypadku lepiej aplikacje napisac w rodzaju CGI, lub stworzyc biblioteke dolaczana do php.

0

Ja bym odrzucił php. Za dużo zabawy z zabezpieczaniem tego czegoś. Ładniejszym rozwiązaniem jest napisanie całości w Javie :) Jako serwera można użyć Tomcata. Następnie wykorzystując któryś z frameworków piszemy interfejs użytkownika w oparciu o web MVC. Wybrał bym springa ponieważ posiada zintegrowany system zabezpieczeń (Acegi). Urządzenia uruchamiał bym w oparciu o kilka prostych interfejsów z poziomu kontrolerów webowych. Za serwerem dostępowym (oj pachnie mi tu proxy) był by serwer działający w oparciu o rmi dla poszczególnych urządzeń.

Rozwiązanie o tyle ładne, że JVM może być uruchomiony nawet na tosterze. W końcu po to został wymyślony :)

//oftop: phpowcy mnie zabiją za ten post

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0