Arduino Forum

International => Italiano => Software => Topic started by: ivreamark on Nov 27, 2013, 09:36 pm

Title: arduino uno e php..?
Post by: ivreamark on Nov 27, 2013, 09:36 pm
ciao a tutti, sono alle prime armi stò cercando di far accendere un led con arduino uno tramite php...ho qualche problemino.. :smiley-sweat:

ho installato il server web...e messo dentro a var/www/html questi due file...presi da qui..http://paolosarteschi.altervista.org/wp/?p=375 (http://paolosarteschi.altervista.org/wp/?p=375)
Code: [Select]
php_serial.class.php

<?php
include "php_serial.class.php";
 
// Let's start the class
$serial = new phpSerial;
 
// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyS0 for COM1, etc)
$serial->deviceSet("COM1");
 
// We can change the baud rate, parity, length, stop bits, flow control
$serial->confBaudRate(2400);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
 
// Then we need to open it
$serial->deviceOpen();
 
// To write into
$serial->sendMessage("Hello !");
 
// Or to read from
$read $serial->readPort();
 
// If you want to change the configuration, the device must be closed
$serial->deviceClose();
 
// We can change the baud rate
$serial->confBaudRate(2400);
 
// etc...
//
?>


-+-+-+-+-+-+++++++++++-+-+-+-+-+-+-+-+-+-+-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

<?php
error_reporting
(E_ALL);
ini_set("display_errors"1);
define("PORT","/dev/ttyACM0");
 
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>



il problema è che non si accende il led ma solo le luci standard di arduino uno quando faccio on oppure off..


Title: Re: arduino uno e php..?
Post by: lestofante on Nov 28, 2013, 12:12 pm
cosa vuol dire le luci standard?

questo programma parla con ardunovia seriale, quindi anche sull'arduino va caricato il codice per interpretare correttamente i comandi in arrivo ed eseguirli
Title: Re: arduino uno e php..?
Post by: ivreamark on Nov 30, 2013, 10:29 am
ho capito non ho caricato il codice per arduino ..per luci standard intendevo quelle che sono su arduino.. l pwr tx rx che non sò minimamante cosa vogliano dire sono alle prime armi..

Code: [Select]
int LED = 13;
char oldval='a',val = '0';
void setup() {
  pinMode(LED,OUTPUT);
  Serial.begin(9600);
}

void loop () {
  val = Serial.read();
  if(val!=oldval)
  oldval=val;

  if(oldval=='s'){
  digitalWrite(LED,LOW);
  Serial.println("LED spento");
  }else if (oldval=='a'){
  digitalWrite(LED,HIGH);
  Serial.println("LED acceso");
  }
}



Title: Re: arduino uno e php..?
Post by: uwefed on Nov 30, 2013, 11:29 am
puoi leggere la seriale solo quando ci sono dei dati presenti.
Code: [Select]
if (Serial.available() > 0) {
   val = Serial.read();
   ...