Go Down

Topic: ¿Como puedo evitar esos dos segundos del puerto serial? (Read 1 time) previous topic - next topic

Alexrip

Hola amigos, vuelvo a pedir ayuda (lo siento, soy un novatillo xD) el problema viene al mandar datos al puerto serie.  Siempre tengo que añadirle un delay de 2 segundos para que funcione bien... ¿Alguien sabe como hacer para que el puerto serial siempre este abierto y recibiendo? Si habro la consola del soft de arduino no me hace falta esperar esos 2 segundos ya que esta abierto ya....

Alguien sabe de alguna solucion?

Gracias y siento las preguntas :(

Lisergio


Alexrip

El codigo es este:

Code: [Select]

<?php
    
if(isset($_REQUEST['message'])){
    
$msg=$_REQUEST['message'];
    require(
"php_serial.class.php");
    
$serial = new phpSerial();
    
$serial->deviceSet("/dev/ttyACM0"); // Arduino usb-port
    
$serial->confBaudRate(9600);  //baud rate
    
$serial->confParity("none");  //Parity
    
$serial->confCharacterLength(8); //Character length  
    
$serial->confStopBits(2);  //Stop bits
    
$serial->confFlowControl("none");
    
$serial->deviceOpen(); // open connection
    
sleep(2);
    
$serial->sendMessage($msg); //send the message
    
}
    
?>


    <html><head><title>Mi Casa</title></head><body>



<a href="1.php?message=2"><input type="button" name="boton" value="Apagar luz"></a>
    <a href="1.php?message=1"><input type="button" name="boton" value="Encender luz"></a>
<a href="1.php?message=3"><input type="button" name="boton" value="Luz intermitente"></a>


    </body></html>



Si le quito el sleep(2); no funciona

Naruto128


Alexrip

Pues no se como explicarlo mejor... he puesto el codigo y si le quito el sleep(2); no funciona el serial :S

Alexrip

Creo que el problema es que el puerto serial se reinicia solo... estoy mirando maneras para que no haga ese reinicio solo. He mirado lo de la resistencia de 110 ohms pero n ose si sera posible hacerlo de otra manera?

Alexrip

Solucionado amigos. Alfinal no era que tardara 2 segundos si no que el arduino hacia auto reset del puerto com.

La solucion que hice fue la siguiente:

- Cortar la pista del auto reset del arduino
- Soldarle dos pines para poder activar y desactivar el auto reset con un jumper.

Saludos

Go Up