Go Down

Topic: arduino uno e php..? (Read 612 times) previous topic - next topic

ivreamark

Nov 27, 2013, 09:36 pm Last Edit: Nov 29, 2013, 12:51 pm by leo72 Reason: 1
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
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..



lestofante

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
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

ivreamark

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");
  }
}




uwefed

puoi leggere la seriale solo quando ci sono dei dati presenti.
Code: [Select]
if (Serial.available() > 0) {
   val = Serial.read();
   ...

Go Up