我正在使用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,它以某种方式完全正常工作。
答案 0 :(得分:-2)
您需要使用POST not GET方法。我有确切的问题。