Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - errore scrivere seriale usb per controllare arduino
Forum - PHP - errore scrivere seriale usb per controllare arduino

Avatar
alex1995 (Normal User)
Expert


Messaggi: 294
Iscritto: 27/01/2011

Segnala al moderatore
Postato alle 22:04
Giovedì, 30/04/2015
salve, sto cercando di inviare comandi ad arduino tramite la porta seriale con php usando la classe php-serial ma mi ritorna questi errori:

Codice sorgente - presumibilmente Delphi

  1. Warning: Unable to open the device in C:\xampp\htdocs\serial.php on line 173
  2.  
  3. Warning: Device must be opened in C:\xampp\htdocs\serial.php on line 661
  4.  
  5. Warning: Device must be opened to read it in C:\xampp\htdocs\serial.php on line 576



il codice sorgente è questo:

Codice sorgente - presumibilmente Php

  1. <?php
  2.  
  3. require("serial.php");
  4.  
  5. // Let's start the class
  6. $serial = new phpSerial;
  7.  
  8. // First we must specify the device. This works on both linux and windows (if
  9. // your linux serial device is /dev/ttyS0 for COM1, etc)
  10. $serial->deviceSet("COM3");
  11.  
  12. // We can change the baud rate, parity, length, stop bits, flow control
  13. $serial->confBaudRate(9600);
  14. $serial->confParity("none");
  15. $serial->confCharacterLength(8);
  16. $serial->confStopBits(1);
  17. $serial->confFlowControl("none");
  18.  
  19. // Then we need to open it
  20. $serial->deviceOpen();
  21.  
  22. // To write into
  23. $serial->sendMessage("on");
  24.  
  25. // Or to read from
  26. $read = $serial->readPort();
  27.  
  28. // If you want to change the configuration, the device must be closed
  29. $serial->deviceClose();
  30.  
  31. ?>



la porta seriale è giusta ho guardato nell ide di arduino e il monitor seriale è chiuso. potete aiutarmi?

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 1:22
Venerdì, 01/05/2015
direttamente dal primo risultato su google "ho cercato un pò e ho trovato la risposta, bastava mettere
sleep(2);
dopo
$serial->deviceOpen();
"

PM Quote
Avatar
alex1995 (Normal User)
Expert


Messaggi: 294
Iscritto: 27/01/2011

Segnala al moderatore
Postato alle 15:40
Venerdì, 01/05/2015
si l' avevo letto anch' io ma non funziona mi da gli stessi errori, quello script lo sto usando su windows che a quanto pare php ha problemi con la seriale. cosa posso fare?

Ultima modifica effettuata da alex1995 il 01/05/2015 alle 15:42
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 15:45
Venerdì, 01/05/2015
andiamo avanti con le ricerche su google: "In php_serial.class.php, for COM > 4, change at OS Windows:
$this->_device = "\\.\com" . $matches[1];
with
$this->_device = "\\\.\com" . $matches[1];"

P.S. hai l'ultima versione delle librerie?

Ultima modifica effettuata da TheDarkJuster il 01/05/2015 alle 15:46
PM Quote
Avatar
alex1995 (Normal User)
Expert


Messaggi: 294
Iscritto: 27/01/2011

Segnala al moderatore
Postato alle 14:08
Sabato, 02/05/2015
grazie, si ho l' ultima versione scaricata da github ma non funziona nemmeno con questa modifica e da gli stessi errori :S

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 14:41
Sabato, 02/05/2015
E allora ho finito le idee. Probabilemtne è windows che non ti da il permesso di usare la seriale

PM Quote