Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sterowanie USB
gsmphone
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Witam,

Mam taki problem. Mam w do usb kartę która ma 2 przekaźniki. Działa dobrze z aplikacjami Windows.. Tzn mam program gdzie ustawiam com a potem 2 przyciski włącz/wyłącz.
Problem w tym że chciałem napisać aplikacje pod www żeby robiło to samo. Podobno jak się podłączy urządzenie pod USB to windows przypisuje mu ścieżkę:

  1. /dev/ttyUSB0



Więc zrobiłem małą aplikacje www żeby to działało ale nie działa. Jakby ktoś mógłby mi w tym pomóc byłbym wdzięczny.

  1. $zmienna = $_POST['wybor'];
  2. echo ('Wyjscie '.$_POST['wybor']);
  3. switch ($zmienna) {
  4. case "1":
  5. echo system('echo -ne "1" > /dev/ttyUSB0');
  6. break;
  7. case "2":
  8. echo system('echo -ne "2" > /dev/ttyUSB0');
  9. break;
  10.  
  11. }
  12. echo (' zmienione!');
  13.  
  14.  
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 22)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


A jak wpiszesz to samo w konsoli to się włączy/wyłączy ?
Go to the top of the page
+Quote Post
gsmphone
post
Post #3





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Cytat(fifi209 @ 11.06.2010, 10:39:41 ) *
A jak wpiszesz to samo w konsoli to się włączy/wyłączy ?



tzn co i do jakiej konsoli??
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(gsmphone @ 11.06.2010, 10:20:45 ) *
Więc zrobiłem małą aplikacje www żeby to działało ale nie działa


Cytat
tzn co i do jakiej konsoli??

Więc jak zrobiłeś skoro nie wiesz o czym do Ciebie mówimy??
Go to the top of the page
+Quote Post
gsmphone
post
Post #5





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


kurde.. ale to forum jest ********. Jeszcze nigdy tutaj nie dostałem odpowiedzi bez kogoś kto by nie dogadywał (IMG:style_emoticons/default/sciana.gif)

Chodzi mi o to co mam wpisać:

system('echo -ne "2" > /dev/ttyUSB0');

czy

/dev/ttyUSB0

czy

dev/ttyUSB0

i do której konsoli?
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Jeszcze nigdy tutaj nie dostałem odpowiedzi bez kogoś kto by nie dogadywał

Nie dziw się, że tak sporo osób reaguje, skoro wstawiasz coś, o czym - tak naprawdę - nie masz pojęcia, vide:
Cytat
i do której konsoli?


A co do tematu, przetłumaczę Ci pytanie na proste - czy tą samą komendą próbowałeś przełączać przekaźniki z Windows?

Poza tym:
Kod
/dev/ttyUSB0

To definicja działająca WYŁĄCZNIE w uniksach.
Go to the top of the page
+Quote Post
gsmphone
post
Post #7





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


To znaczy to co napisałem w php nie zadziała mi na apachu?
czyli w jaki sposób mogę sterować przez php?
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie odpowiedziałeś na moje pytanie, a bez tego więcej się nie da powiedzieć.
Go to the top of the page
+Quote Post
gsmphone
post
Post #9





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


no pod windows działa ale nie wiem czy z tą komendą bo to jest wszystko w gotowym już programie który tym steruje. Program napisany w bascomie.
Go to the top of the page
+Quote Post
erix
post
Post #10





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No to poszukaj teraz komendy, która Ci to z linii poleceń odpali, ew. parametrów do tego programu. Ale w tym Ci już raczej nie pomożemy.
Go to the top of the page
+Quote Post
gsmphone
post
Post #11





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Hmmm, a da się sterować programem przez www? Bo gdyby tak było to bym miał ułatwienie
Go to the top of the page
+Quote Post
thek
post
Post #12





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Powiem tak... Skoro możesz się dostać z poziomu windowsa do USB, to istnieje ścieżka określająca dostęp do urządzenia. Ale tu już polecam przejrzenie Menedżera urządzeń w Windowsie pod kątem słowa USBSTORE.
Go to the top of the page
+Quote Post
gsmphone
post
Post #13





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Cytat(thek @ 11.06.2010, 13:02:23 ) *
Powiem tak... Skoro możesz się dostać z poziomu windowsa do USB, to istnieje ścieżka określająca dostęp do urządzenia. Ale tu już polecam przejrzenie Menedżera urządzeń w Windowsie pod kątem słowa USBSTORE.



no to w menagerze mam coś takiego:

USB\ROOT_HUB\4&27228D47&0


ale to też nie działa

Ten post edytował gsmphone 11.06.2010, 12:19:41
Go to the top of the page
+Quote Post
thek
post
Post #14





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




To jest urządzenie pracujące jako koncentrator USB (root hub)... Nie jest to urządzenie podpięte do niego. Te mają swoje własne, o wiele dłuższe identyfikatory. Odczytaj sobie z managera jakie to konkretnie urządzenie, znajdź je na liście i zacznij grzebać przy danych sterownika.
Go to the top of the page
+Quote Post
gsmphone
post
Post #15





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Cytat(thek @ 11.06.2010, 13:23:18 ) *
To jest urządzenie pracujące jako koncentrator USB (root hub)... Nie jest to urządzenie podpięte do niego. Te mają swoje własne, o wiele dłuższe identyfikatory. Odczytaj sobie z managera jakie to konkretnie urządzenie, znajdź je na liście i zacznij grzebać przy danych sterownika.



a właśnie... bo to urządzenie jak podłącze do usb wykrywa jako USB Serial PORT pod COM5. Sterowniki do tego urządzenia też mam. Link do sterowników:
http://www.plikos.pl/16pe/ster.zip.html

Jak byś mógł zerknąć czy o to chodzi
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




To pobaw się hyperterminalem, otwórz ten port i NAJPIERW ustal, jakimi komendami trzeba aktywować poszczególne wyjścia.

Potem już z górki.
Go to the top of the page
+Quote Post
gsmphone
post
Post #17





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Jak się połączyłem hyperterminalem to co sekunde się 0 pokazuje w okienku. Może jakoś inaczej to mam zrobić?

Znalazłem takie coś:
ser_open( "COM4", 2400, 8, "None", "1", "None" );
ser_write("1");


co ma niby odpowiadać linuksowego:
echo system('echo -ne "4" > /dev/ttyUSB6');

tylko że wyskakuje błąd:

Fatal error: Call to undefined function ser_open()


bo całość znalazłem tutaj:
http://www.thebyteworks.com/phpserial/php_ser_reference.html


wiem że jestem już blisko tylko coś nie tak.
Go to the top of the page
+Quote Post
erix
post
Post #18





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Żeby to rozszerzenie działało, trzeba je najpierw zainstalować...
Go to the top of the page
+Quote Post
gsmphone
post
Post #19





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


No instalowałem całość, oprócz tego php.ini bo nie ma nigdzie takiego pliku.
Go to the top of the page
+Quote Post
erix
post
Post #20





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Samo skopiowanie dll nie wystarczy, poczytaj o instalacji PECL.

Jak nie ma php.ini, to go stwórz, ale o tym na Sieci.
Go to the top of the page
+Quote Post
gsmphone
post
Post #21





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


ok, dzięki.

Tak dla upewnienia się... to jest ten plik? No i gdzie mam go skopiować jak serwer mam na apache'u?

  1. [PHP]
  2. engine = On
  3. zend.ze1_compatibility_mode = Off
  4. short_open_tag = On
  5. asp_tags = Off
  6. precision = 14
  7. y2k_compliance = On
  8. output_buffering = 4096
  9. ;output_handler =
  10. zlib.output_compression = Off
  11. ;zlib.output_handler =
  12. implicit_flush = Off
  13. unserialize_callback_func=
  14. serialize_precision = 100
  15. allow_call_time_pass_reference = Off
  16. disable_functions =
  17. disable_classes =
  18. expose_php = Off
  19. max_execution_time = 60 ; Maximum execution time of each script, in seconds
  20. max_input_time = 120 ; Maximum amount of time each script may spend parsing request data
  21. memory_limit = 128M ; Maximum amount of memory a script may consume (8MB)
  22. error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
  23. display_errors = Off
  24. display_startup_errors = Off
  25. log_errors = On
  26. log_errors_max_len = 1024
  27. ignore_repeated_errors = Off
  28. ignore_repeated_source = Off
  29. report_memleaks = On
  30. track_errors = Off
  31. arg_separator.output = "&"
  32. variables_order = "GPCS"
  33. register_globals = Off
  34. register_long_arrays = Off
  35. register_argc_argv = Off
  36. post_max_size = 40M
  37. magic_quotes_gpc = Off
  38. magic_quotes_sybase = Off
  39. auto_prepend_file =
  40. auto_append_file =
  41. default_mimetype = "text/html"
  42. default_charset = "UTF-8"
  43. include_path = ".:/usr/local/share/smarty:/usr/local/lib/php/pear"
  44. doc_root =
  45. user_dir =
  46. extension_dir = /usr/local/lib/php/20050922
  47. enable_dl = Off
  48. cgi.force_redirect = 1
  49. ; cgi.nph = 1
  50. ; cgi.redirect_status_env = ;
  51. ; fastcgi.impersonate = 1;
  52. ;cgi.rfc2616_headers = 1
  53. file_uploads = On
  54. upload_tmp_dir = /usr/local/www/php/tmp
  55. upload_max_filesize = 40M
  56. allow_url_fopen = On
  57. user_agent="PHP"
  58. default_socket_timeout = 60
  59.  
  60. [Syslog]
  61. define_syslog_variables = Off
  62.  
  63. [mail function]
  64. ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
  65. ;sendmail_path =
  66. ;mail.force_extra_parameters =
  67.  
  68. ; Allow or prevent persistent links.
  69. mysql.allow_persistent = On
  70. mysql.max_persistent = 20
  71. mysql.max_links = -1
  72. mysql.default_port = 3306
  73. mysql.default_socket =
  74. mysql.default_host = localhost
  75. mysql.connect_timeout = 60
  76. mysql.trace_mode = Off
  77.  
  78. [MySQLI]
  79. mysqli.max_links = -1
  80. mysqli.default_port = 3306
  81. mysqli.default_socket =
  82. mysqli.default_host = localhost
  83. mysqli.reconnect = Off
  84.  
  85. [PostgresSQL]
  86. pgsql.allow_persistent = On
  87. pgsql.auto_reset_persistent = Off
  88. pgsql.max_persistent = 20
  89. pgsql.max_links = 40
  90. pgsql.ignore_notice = 0
  91. pgsql.log_notice = 0
  92.  
  93. [dbx]
  94. dbx.colnames_case = "lowercase"
  95.  
  96. [bcmath]
  97. bcmath.scale = 0
  98.  
  99. [Session]
  100. session.save_handler = files
  101. session.save_path = "/tmp"
  102. session.use_cookies = 1
  103. session.name = PHPSESSID
  104. session.auto_start = 0
  105. session.cookie_lifetime = 0
  106. session.cookie_path = /
  107. session.cookie_domain =
  108. session.serialize_handler = php
  109. session.gc_probability = 1
  110. session.gc_divisor = 1000
  111. session.gc_maxlifetime = 1440
  112. session.bug_compat_42 = 0
  113. session.bug_compat_warn = 1
  114. session.referer_check =
  115. session.entropy_length = 0
  116. session.entropy_file =
  117. session.cache_limiter = nocache
  118. session.cache_expire = 180
  119. session.use_trans_sid = 0
  120. session.hash_function = 1
  121. session.hash_bits_per_character = 5
  122. url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
  123.  
  124.  
  125. [Sockets]
  126. sockets.use_system_read = On
  127.  
  128. [com]
  129. ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
  130. ;com.typelib_file =
  131. ; allow Distributed-COM calls
  132. ;com.allow_dcom = true
  133. ; autoregister constants of a components typlib on com_load()
  134. ;com.autoregister_typelib = true
  135. ; register constants casesensitive
  136. ;com.autoregister_casesensitive = false
  137. ; show warnings on duplicate constat registrations
  138. ;com.autoregister_verbose = true
  139.  
  140. [mbstring]
  141. ;mbstring.language = Japanese
  142. ;mbstring.internal_encoding = EUC-JP
  143. ;mbstring.http_input = auto
  144. ;mbstring.http_output = SJIS
  145. ;mbstring.encoding_translation = Off
  146. ;mbstring.detect_order = auto
  147. ;mbstring.substitute_character = none;
  148. ;mbstring.func_overload = 0
  149.  
  150.  
  151. [exif]
  152. ;exif.encode_unicode = ISO-8859-15
  153. ;exif.decode_unicode_motorola = UCS-2BE
  154. ;exif.decode_unicode_intel = UCS-2LE
  155. ;exif.encode_jis =
  156. ;exif.decode_jis_motorola = JIS
  157. ;exif.decode_jis_intel = JIS
  158.  
  159. [Tidy]
  160. ;tidy.default_config = /usr/local/lib/php/default.tcfg
  161. tidy.clean_output = Off
  162.  
  163. [soap]
  164. soap.wsdl_cache_enabled=1
  165. soap.wsdl_cache_dir="/tmp"
  166. soap.wsdl_cache_ttl=86400
  167.  
  168. ; Local Variables:
  169. ; tab-width: 4
  170. ; End:
  171.  
  172. [Zend]
  173. zend_extension_manager.optimizer=/usr/local/lib/php/20050922/Optimizer
  174. zend_extension_manager.optimizer_ts=/usr/local/lib/php/20050922/Optimizer_TS
  175. zend_optimizer.version=3.0.0
  176. zend_extension=/usr/local/lib/php/20050922/ZendExtensionManager.so
  177. zend_extension_ts=/usr/local/lib/php/20050922/ZendExtensionManager_TS.so


Ten post edytował gsmphone 11.06.2010, 21:39:35
Go to the top of the page
+Quote Post
erix
post
Post #22





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A zajrzałeś do manuala? To naprawdę zostało opisane już wystarczająco wiele razy... Bez sensu jest więc pisać n-ty raz to samo...
Go to the top of the page
+Quote Post
gsmphone
post
Post #23





Grupa: Zarejestrowani
Postów: 150
Pomógł: 0
Dołączył: 20.10.2006

Ostrzeżenie: (0%)
-----


Teraz działa. W końcu się udało:)

Jeszcze jak byś mógł mi napisać co mam wpisać w tym przykładnie żeby dostać taki sam efekt jak tu:

case "1":
echo system('echo -ne "1" > /dev/ttyUSB0');
break;

Czyli naciskając 1 (czy wybierając 1), moja karta z przekaźnikami która jest podpięta do usb która jest wykrywana przez windowsa jako com5, spowoduje uruchomienie się pierwszego przekaźnika.

Ten post edytował gsmphone 12.06.2010, 12:55:30
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 18:03