Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [skrypt]Sterowanie diodą LED w PHP
xxdrago
post
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 42
Dołączył: 27.07.2010
Skąd: Jaworzno

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


Witam, dzisiaj chciałem pokazać , że php nie służy tylko do tworzenia stron.
Lubie się bawić więc z małą pomocą znajomego stworzyłem sobie skrypt w php którym steruję diodą LED.
Całość jest oparta o CDC-IO (LINK).

Funkcje:
  • Zapal/Zgaś
  • Miganie diody LED (Wolne)
  • Miganie diody LED (Szybkie)
  • Miganie diody LED (Bardzo Szybkie)


Chciałem też dodać , że ta jedna dioda to jest przykład można podpiąć pod to 10 diod i nimi sterować, można też np. gasić światło w pokoju będąc 500km od domu.
Czego tylko człowiek zapragnie (IMG:style_emoticons/default/smile.gif)

Udostępniam skrypt nie jest on napisany jakoś optymalnie, jest tylko przykładem jak to wygląda.
(Mogłem w sumie napisać ładnie funkcje (IMG:style_emoticons/default/biggrin.gif) )

KOD:
  1. <?php
  2. ?>
  3. <form name="post" action="index.php" method="POST">
  4. <?php
  5. include("php_serial.class.php");
  6. $serial = new phpSerial();
  7. $serial->deviceSet("COM8:");
  8. $serial->confBaudRate(115200);
  9. $serial->confParity("none");
  10. $serial->confCharacterLength(8);
  11. $serial->confStopBits(1);
  12. $serial->confFlowControl("none");
  13.  
  14. if ($_SESSION['dane'] == 'zapalona') {
  15. echo '
  16. <input type="submit" name="opcja_1" value="Zgas"><br>';
  17. }
  18. if ($_SESSION['dane'] == '') {
  19. echo '
  20. <input type="submit" name="opcja_2" value="Zapal"><br>
  21. <form name="post" action="index.php" method="POST">';
  22. }
  23.  
  24. if ($_POST['opcja_1']) {
  25. $serial->deviceOpen();
  26. $serial->sendMessage("ff ddrb =\r");
  27. usleep(2000);
  28. $serial->sendMessage("00 portb =\r");
  29. $_SESSION['dane'] = '';
  30. header('Location: index.php');
  31. }
  32. if ($_POST['opcja_2']) {
  33. $serial->deviceOpen();
  34. $serial->sendMessage("ff ddrb =\r");
  35. usleep(2000);
  36. $serial->sendMessage("01 portb =\r");
  37. $_SESSION['dane'] = 'zapalona';
  38. header('Location: index.php');
  39. }
  40. if ($_POST['opcja_3']) {
  41. $serial->deviceOpen();
  42. $serial->sendMessage("ff ddrb =\r");
  43. usleep(2000);
  44. for ($i = 1; $i <= 5; $i++) {
  45. $serial->sendMessage("01 portb =\r");
  46. usleep(1000000);
  47. $serial->sendMessage("00 portb =\r");
  48. usleep(1000000);
  49. }
  50. header('Location: index.php');
  51. $serial->deviceClose();
  52. }
  53. if ($_POST['opcja_4']) {
  54. for ($i = 1; $i <= 5; $i++) {
  55. $serial->deviceOpen();
  56. $serial->sendMessage("ff ddrb =\r");
  57. usleep(2000);
  58. $serial->sendMessage("01 portb =\r");
  59. usleep(500000);
  60. $serial->sendMessage("00 portb =\r");
  61. usleep(500000);
  62. }
  63. header('Location: index.php');
  64. $serial->deviceClose();
  65. }
  66. if ($_POST['opcja_5']) {
  67. $serial->deviceOpen();
  68. $serial->sendMessage("ff ddrb =\r");
  69. usleep(2000);
  70. for ($i = 1; $i <= 30; $i++) {
  71. $serial->sendMessage("01 portb =\r");
  72. usleep(100000);
  73. $serial->sendMessage("00 portb =\r");
  74. usleep(100000);
  75. }
  76. header('Location: index.php');
  77. $serial->deviceClose();
  78. }
  79.  
  80. ?>
  81. <input type="submit" name="opcja_3" value="Miganie diody LED (Wolne)"><br>
  82. <input type="submit" name="opcja_4" value="Miganie diody LED (Szybkie)"><br>
  83. <input type="submit" name="opcja_5" value="Miganie diody LED (Bardzo Szybkie)"><br>
  84. </form>


żeby całość chodziło wymagana jest klasa: PHP SERIAL

A tutaj przykładowy filmik jak to wygląda:
http://youtu.be/X8CEi_AFMlo

Wiem, że jakość filmu jest do "dupy" w najbliższym czasie pojawi się ładny filmik w HD (IMG:style_emoticons/default/smile.gif)

Ten post edytował xxdrago 9.02.2012, 19:00:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
TheSnake
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 10
Dołączył: 5.06.2009

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


Przecież to inny program tym steruje, a Ty z PHP tylko go odpalasz...

P.S. Nikt nie mówił, że PHP jest tylko do tworzenia stron, ale po co skoro są lepsze narzędzia do takich rzeczy.
Go to the top of the page
+Quote Post

Posty w temacie
- xxdrago   [skrypt]Sterowanie diodą LED w PHP   9.02.2012, 18:59:11
- - strife   No no gratuluje pomysłu, fajnie to wygląda To te...   9.02.2012, 19:07:57
- - xxdrago   hehe, miało być tak jak ty mówisz ale miałem małe ...   9.02.2012, 19:14:15
- - TheSnake   Przecież to inny program tym steruje, a Ty z PHP t...   9.02.2012, 19:38:19
- - xxdrago   Ja z poziomu php wysyłam komendy do Atmegi , wiem...   9.02.2012, 19:39:57
- - #luq   Fajny pomysł, tylko dużo łatwiej byłoby sterować z...   9.02.2012, 21:05:44
- - Damonsson   Noo muszę przyznać, że świetny pomysł, może jakiś ...   9.02.2012, 22:13:33
- - toaspzoo   Co do nowych postów to można przecież porównywać z...   11.02.2012, 12:19:44
- - mls   Od siebie dodam, że do obsługi komunikacji z porta...   11.02.2012, 14:20:17
|- - !*!   Cytat(mls @ 11.02.2012, 14:20:17 ) na...   11.02.2012, 20:52:04
||- - mls   Cytat(!*! @ 11.02.2012, 20:52...   15.02.2012, 12:35:25
|- - cepa   Cytat(mls @ 11.02.2012, 15:20:17 ) Ni...   14.02.2012, 23:46:02
|- - Spawnm   Cytat(cepa @ 14.02.2012, 23:46:02 ) a...   20.02.2012, 20:46:18
- - xxdrago   Ja dałem, przykład z diodą znajomy zrobił sobie co...   15.02.2012, 20:04:10
|- - Fifi209   Cytat(xxdrago @ 15.02.2012, 20:04:10 ...   20.02.2012, 21:25:19
- - Speedy   Wielkiej filozofii nie ma. Wysyłasz komendę na por...   15.02.2012, 22:28:05
- - pisii35   Na mnie też jakoś to wielkiego wrażenia nie zrobił...   16.02.2012, 20:11:45
- - corran_horn   bardzo ciekawy pomysł   20.02.2012, 20:29:24
- - piotrooo89   u nas w firmie sterujemy wiatrakiem za pomocą php ...   21.02.2012, 15:09:52
|- - xxdrago   Cytat(piotrooo89 @ 21.02.2012, 15:09...   21.02.2012, 15:40:32
|- - Orzeszekk   Cytat(xxdrago @ 21.02.2012, 15:40:32 ...   21.02.2012, 21:26:47
- - gothye   ja dla odmiany 2 lata temu popełniłem stację meteo...   23.02.2012, 17:35:32
- - Fifi209   Sam zrobiłeś obudowę do tego serwera? I z ciekawoś...   23.02.2012, 17:51:26
- - gothye   Obudowa serwera jest fabryczna Fractal Design Arra...   23.02.2012, 18:11:54
- - Fifi209   No jestem pod wrażeniem, a te kontaktrony normalni...   23.02.2012, 19:03:56
- - gothye   Wewnątrz budynku wszytko wykonane jest przewodowo ...   23.02.2012, 19:13:01
- - Fifi209   Powiem Ci imponujesz mi Sam najchętniej bym WSZYS...   23.02.2012, 19:47:01
|- - xxdrago   Cytat(Fifi209 @ 23.02.2012, 19:47:01 ...   27.02.2012, 20:29:26
- - Fifi209   A mógłbyś zarzucić jakimś linkiem? Szczerze nie ma...   27.02.2012, 22:17:49
- - gothye   zakładając że sterujesz z USB np za pomoca FT232 =...   27.02.2012, 23:24:14
- - Fifi209   @up Wcale nie interesuje mnie sterowanie za pomocą...   27.02.2012, 23:27:41
- - gothye   więc powyższy przykład można potraktować dowolnym ...   28.02.2012, 09:37:38
- - xxdrago   Fifi209, ogólnie to w Google jest trochę tego... T...   28.02.2012, 16:19:31
|- - gothye   Cytat(xxdrago @ 28.02.2012, 16:19:31 ...   13.03.2012, 21:00:31
- - mls   Skoro już tak się chwalimy swoim "hardware...   29.02.2012, 01:01:46
- - marcio   CytatJa aktualnie mam zamiar zrobić wyświetlaczu p...   13.03.2012, 23:21:06
- - piterek-23   -> gothye Czy poprzez moduł GSM da się sterow...   19.04.2012, 17:08:11
|- - Fifi209   Cytat(piterek-23 @ 19.04.2012, 18:08...   19.04.2012, 21:31:23
|- - gothye   Cytat(piterek-23 @ 19.04.2012, 18:08...   20.04.2012, 19:31:35
|- - piterek-23   Cytat(gothye @ 20.04.2012, 20:31:35 )...   22.04.2012, 20:49:28
- - gothye   U mnie bramka SMS na SIM300 połączona jest z reszt...   22.04.2012, 21:22:27


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: 8.10.2025 - 08:40