用于读取PHP文件的ESP8266 wifi模块

用于读取PHP文件的ESP8266 wifi模块,php,arduino,esp8266,Php,Arduino,Esp8266,寻求有关让arduino和ESP8266 wifi模块读取网页(不是LAN;我正在使用域名和网页托管服务)上的PHP文件的建议,该网页回显“1”或“0”。如果是“1”,我将打开LED,如果是“0”,则将其关闭 例如,PHP文件如下所示,以打开LED: 我需要能够读取php文件,以打开LED。在这种情况下,最好的方法是什么?是向ESP8266 wifi模块的IP地址发送HTTP GET请求更好,还是有办法对模块进行编程以读取php文件中的回显数据?是否有另一个wifi模块使这更容易 如果我没有说

寻求有关让arduino和ESP8266 wifi模块读取网页(不是LAN;我正在使用域名和网页托管服务)上的PHP文件的建议,该网页回显“1”或“0”。如果是“1”,我将打开LED,如果是“0”,则将其关闭

例如,PHP文件如下所示,以打开LED:

我需要能够读取php文件,以打开LED。在这种情况下,最好的方法是什么?是向ESP8266 wifi模块的IP地址发送HTTP GET请求更好,还是有办法对模块进行编程以读取php文件中的回显数据?是否有另一个wifi模块使这更容易

如果我没有说清楚,或者你需要更多的信息来建议我,请让我知道


提前谢谢

我建议使用来自Arduino的
HTTPGET
请求。根据堆栈代码的不同,如果未设置DNS,它可能无法解析域名。因此,我建议您使用IP,除非您知道它可以将您的域解析为正确的IP。您可以在WebClient示例中看到更多内容:

然后在循环中查找正确的响应(假设已在设置中定义了
LEDPIN
):

然后,PHP可以执行以下操作:

<?php

if(isset($_GET['led']) && $_GET['led']){
  // LED is on, send 0 to turn it off
  echo "0";
} else {
  // Turn LED on
  echo "1";
}

?>

因此,页面将始终显示0,除非您通过
led
,并且满足条件


如果您需要更多信息或更清晰的回答,请更新您的问题,并提供更多详细信息。发布您的代码。

PHP文件看起来像这样,欢迎使用SO。要明确的是,您有一个Arduino正在调用PHP页面。根据PHP页面的结果,您希望LED亮起或熄灭。您将向PHP页面传递哪些信息?情况如何?还请发布一个Arduino代码和PHP代码的示例。
void loop()
{
  // if there are incoming bytes available
  // from the server, read them and print them:
  if (client.available()) {
    char c = client.read();
    if(c == 1){
      digitalWrite(LEDPIN, HIGH);
    } else {
      digitalWrite(LEDPIN, LOW);
    }
    Serial.print(c);
  }

  // if the server's disconnected, stop the client:
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    // do nothing forevermore:
    while(true);
  }
}
<?php

if(isset($_GET['led']) && $_GET['led']){
  // LED is on, send 0 to turn it off
  echo "0";
} else {
  // Turn LED on
  echo "1";
}

?>