使用Arduino Uno&amp ;;发出GET请求再见

时间:2017-02-08 10:09:29

标签: php rest arduino wifi arduino-uno

我正在使用Arduino Uno Wifi,我想将我的Uno中的传感器数据发送到PHP脚本,这样可以将数据保存到MySQL数据库中。对于GET请求,我正在使用UnoWiFiDevEd.h库中的Ciao.write()函数,因为我还没有找到另一种可能的方法(不使用屏蔽)。

这就是我的Arduino代码的样子:

#include <UnoWiFiDevEd.h>

void setup() {
  char* connector = "rest";
  char* server = "myserver/src/add_data.php?";
  char* method = "GET";
  String resource = "humidity=11&&temperature=22";

  Serial.begin(9600);
  Ciao.begin();

  doRequest(connector, server, resource, method);
}

void loop() {

}

void doRequest(char* conn, char* server, String command, char* method) {
  CiaoData data = Ciao.write(conn, server, command, method);
  if(!data.isEmpty()){
    Serial.println("Success");
  } else {
    Serial.println("FAILED");
  }  
}

这是我的PHP脚本(get_data.php)

<?php
    // Connect to MySQL
    include("dbconnect.php");

    // Prepare the SQL statement
    $SQL = "INSERT INTO arduino_data (Humidity, Temperature) VALUES ('".$_GET["humidity"]."', '".$_GET["temperature"]."')";

    // Execute SQL statement
    mysql_query($SQL);
?>

如果我正在使用浏览器并将“myserver / src / add_data.php?humidity = 60&amp;&amp; temperature = 22”写入网址栏,那么一切正常。

我想我可能会误解这个Ciao.write是如何工作的,即使我查看了代码(在CiaoData PassThroughRead函数中)并认为我指定了一切正确。 documentation完全没有帮助。

作为参考,我使用了tutorial,它以某种方式完全正常工作。

1 个答案:

答案 0 :(得分:-2)

您需要使用POST not GET方法。我有确切的问题。