У меня проблемы с Arduino и php.
У меня есть веб-сайт со страницей index.php, я хочу, чтобы Arduino через последовательный порт послал бы значение 1, например, чтобы включить светодиод, и значение 0, чтобы выключить его.
Если я попробую свои наброски, работает отлично. Если в последовательном мониторе отправить 1 или 0, светодиод включится и погаснет должным образом.
Проблема возникает, когда эта страница должна отправлять значение в Arduino.
Страница (index.php) находится на внешнем сервере, а не на локальном.
На этом сервере у меня есть база данных, которая содержит таблицу, которая обновляет значение, отправленное пользователем на странице index.php.
С помощью if тогда контролируют, какое значение присутствует в базе данных, и если $ accensione равно 1, запустите часть внутри if, если равно 0, else.
Мне не хватает той части кода, которая будет вставлена внутрь, если для отправки значений Arduino и, в свою очередь, чтобы выключить или включить светодиод.
Я прочитал много тем и руководств в Интернете, но я сделал это, и я действительно не знаю, как сделать больше.
Я прилагаю свой эскиз и код страницы php.
Пожалуйста, позвольте кому-нибудь помочь мне, я схожу с ума.
Мой эскиз:
#include <SPI.h>
#include <Ethernet.h>
void setup()
{
pinMode(3, OUTPUT); // initialize the green LED pin as an output
digitalWrite(3, LOW);
Serial.begin(9600); // initialize serial communication
}
void loop()
{
// Controllo: se la porta seriale sta trasmettendo informazioni...
if (Serial.available() > 0)
{
char letter = Serial.read();if (letter == '1')
{
digitalWrite(3, HIGH);
Serial.println("LED ON");
}
if (letter == '0')
{
digitalWrite(3, LOW);
Serial.println("LED OFF");
}
}
}
Моя страница PHP:
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script>
</head>
<body><font color="#000"><u>Status LED, SELECT * FROM arduino</u>
<br>
<br>
<table style="color:#000">
<th>ID </th>
<th>Acceso </th>
<?php
$username="***********";
$password="***********";
$database="***********";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database)
or die( "Impossibile selezionare il database.");$query = "SELECT * FROM arduino";
$res = mysql_query( $query ) or die( "Attenzione errore: " . mysql_err());
while( $row = mysql_fetch_array( $res ))
{
$turn=$row['acceso'];
echo "L'accensione e' uguale a: $turn \n";
echo "<tr>
<td> ".$row['id']."</td>
<td> ".$row['acceso']."</td>
</tr>";}
if($turn==1)
{// CODE HERE FOR TURN ON LED}
else
{
if($turn==0)
{
// CODE HERE TURN OFF LEDE
}
}?></table>
</font><table style="color:#000000">
<form name="formsend" id="formsend" action="invio.php" method="post"><tr>
<td colspan="2">Set LED status | PHP + MySQL</td>
<td></td>
</tr><tr>
<td>ID: (Readonly)</td>
<td><input name="id" type="text" id="id" value="1" readonly/></td>
</tr>
<tr>
<td>Acceso: (1 for YES | 0 for NO)</td>
<td><input name="acceso" id="acceso" type="text"/></td>
</tr><tr>
<td colspan="2">
<label> </label>
<input type="submit" value="Turn On/Off"></td>
</tr></form>
</table>
<br>
<br>
</body>
</html>
invio.php это простая php-страница, которая принимает данные формы и обновляет таблицу в базе данных.
Может кто-нибудь мне помочь ??
Большое спасибо за все и спасибо тем, кто мне помогает!
Задача ещё не решена.
Других решений пока нет …