Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53

    PHP-serial.class.php AIUTO!!!!

    ciao a tutti
    sto lavorando su un piccolo impianto di domotica web-based, per un compito scolastico.
    ho acquistato arduino UNO e ho una relè board.
    Arduino accetta dati da seriale, quindi se invio sulla porta seriale, un carattere, arduino mi può attivare un relè.
    il sistema si basa su un pc server (a cui è collegato anche arduino) e lavora sulla rete locale.
    sto lavorando sia con linux, che con windows.
    il mio problema risiede nell'inviare (e possibilmente ricevere) dati da/per arduino.
    questa è la pagina PHP
    codice:
    <?php
    error_reporting(E_ALL);
    ini_set("display_errors", 1);
    define("PORT","COM3");
     
    if (isset($_GET['action'])) {
            include "php_serial.class.php";
        $serial = new phpSerial;
        $serial->deviceSet(PORT);
            $serial->confBaudRate(9600);
            $serial->confParity("none");
            $serial->confCharacterLength(8);
            $serial->confStopBits(1);
            $serial->confFlowControl("none");
            $serial->deviceOpen();
            if ($_GET['action'] == "on") {
                $serial->sendMessage("a");
        } else if ($_GET['action'] == "off") {
                $serial->sendMessage("s");
            }
        $read = $serial->readPort();
        print $read;
            $serial->deviceClose();
    }
     
    ?>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Test Arduino</title>
    </head>
    <body>
    <br>
    <h1>Test Arduino</h1>
     
    <a href="<?=$_SERVER['PHP_SELF'] . "?action=on" ?>">
    <button style="width:100px""><h1>ON</h1></button></a>
    <a href="<?=$_SERVER['PHP_SELF'] . "?action=off" ?>">
    <button style="width:100px""><h1>OFF</h1></button></a>
    </body>
    </html>
    ovviamente sto lavorando con un PHP server, su windows uso easyPHP e su linux PHP5 con apache.
    su windows, però, alla pressione di un tasto, il risultato è questo
    Capture.jpg
    mentre su linux, non riesco neanche a vedere la pagina, mi lascia ad una schermata bianca.
    premettendo che il programma su arduino funziona perfettamente, e che è sicuro che il problema sia solo lato server, cosa posso fare??

    p.s. su linux ho ovviamente cabiato la porta da COM3 a dev/ttyACM0/
    p.s. su windows so che non funziona, dicono che non l'hanno ancora implementata

    grazie per gli aiuti
    Z171

  2. #2
    $serial = new phpSerial();
    Questa volta, più che un voto.. è favoreggiamento.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53
    non è cambiato niente, ne su linux, ne ovviamente su windows

  4. #4
    l'immagine è troppo piccola, non si legge l'errore... che errore ti da?

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53
    Warning: Reading serial port is not implemented for Windows in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC11\data\localweb\php_serial.class.php on line 503

  6. #6
    Quote Originariamente inviata da Z171 Visualizza il messaggio
    Warning: Reading serial port is not implemented for Windows in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC11\data\localweb\php_serial.class.php on line 503
    ok su windows non lo puoi fare... e su linux che succede?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53
    come ho scritto, su linux vedo solo una schermata bianca

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53
    Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
    ok su windows non lo puoi fare... e su linux che succede?
    come ho scritto, su linux vedo solo una schermata bianca

  9. #9
    metti var_dump( $serial ); dopo l'if e vediamo cosa dice la classe su linux
    Questa volta, più che un voto.. è favoreggiamento.

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    53
    Quote Originariamente inviata da Al_katraz984 Visualizza il messaggio
    metti var_dump( $serial ); dopo l'if e vediamo cosa dice la classe su linux
    ho inserito il codice così, non sapevo in quale if
    codice:
    <?php 
    error_reporting(E_ALL); 
    ini_set("display_errors", 1); 
    define("PORT","dev/ttyACM0"); 
      
    if (isset($_GET['action'])) { 
        var_dump( $serial ); 
            include "php_serial.class.php"; 
        $serial = new phpSerial(); 
        $serial->deviceSet(PORT); 
            $serial->confBaudRate(9600); 
            $serial->confParity("none"); 
            $serial->confCharacterLength(8); 
            $serial->confStopBits(1); 
            $serial->confFlowControl("none"); 
            $serial->deviceOpen(); 
            if ($_GET['action'] == "on") { 
                $serial->sendMessage("a"); 
        } else if ($_GET['action'] == "off") { 
                $serial->sendMessage("s"); 
            } 
        $read = $serial->readPort(); 
        print $read; 
            $serial->deviceClose(); 
    } 
      
    ?>
    ho anche reinstallato linux e apache, ora visualizzo tutto, ma il risultato è questo

    Notice: Undefined variable: serial in /var/www/index.php on line 7
    NULL
    Warning: Specified serial port is not valid in /var/www/php_serial.class.php on line 111

    Warning: Unable to set the baud rate : the device is either not set or opened in /var/www/php_serial.class.php on line 204

    Warning: Unable to set parity : the device is either not set or opened in /var/www/php_serial.class.php on line 254

    Warning: Unable to set length of a character : the device is either not set or opened in /var/www/php_serial.class.php on line 298

    Warning: Unable to set the length of a stop bit : the device is either not set or opened in /var/www/php_serial.class.php on line 335

    Warning: Unable to set flow control mode : the device is either not set or opened in /var/www/php_serial.class.php on line 376

    Warning: The device must be set before to be open in /var/www/php_serial.class.php on line 137

    Warning: Device must be opened in /var/www/php_serial.class.php on line 541

    Warning: Device must be opened to read it in /var/www/php_serial.class.php on line 474

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.