我有PHP脚本控制Arduino的二极管通过网站,但我有一个问题。Arduino和PHP通过串行incomingbyte读取
我Arduino的代码是:
int green = 8;
int incomingbyte;
void setup()
{
Serial.begin(9600);
pinMode(green,OUTPUT);
}
void loop()
{
if(Serial.available() > 0)
{
incomingbyte = Serial.read();
}
if(incomingbyte == '0'){
digitalWrite(green,HIGH);
}
if(incomingbyte == '1'){
digitalWrite(green,LOW);
}
}
我的PHP代码:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
if (isset($_GET['action'])) {
require("php_serial.class.php");
$serial = new phpSerial();
$serial->deviceSet("COM3");
$serial->confBaudRate(9600);
$serial->deviceOpen();
if ($_GET['action'] == "green1") {
$serial->sendMessage("0\r");
} else if ($_GET['action'] == "green0") {
$serial->sendMessage("1\r");
}
$serial->deviceClose();
}
而我的HTML代码:
<!DOCTYPE html>
<html>
<head>
<title>ARDUINO</title>
</head>
<body>
<h1> ARDUINO AND PHP COMMUNICATION </h1>
<a href="led.php?action=green1">ON</a></br>
<a href="led.php?action=green0">OFF</a></br>
</body>
</html>
我有两个问题:
Arduino只接收传入= 0,所以我可以打开二极管,但我不能关闭它。我修改了代码来设置incomingbyte = 1打开二极管,但它也不能正常工作。所以我认为Arduino只得到incomingbyte = 0.
运行脚本后,我的网站正在关闭。当我点击“ON”或“OFF”脚本正在运行时,我正在变白(空白)站点。我应该怎么做才能保持我的HTML网站的所有时间?
Thx为接受,抱歉,我无法帮助第1部分。建议你阅读一下这个人正在使用PHP/Arduino的一些东西http://www.tinkerfailure.com/我相信你会发现他的代码中最终解决方案的线索。 – Cups 2013-05-11 14:46:59
我现在正在工作;)ty – 2013-05-11 15:27:49