我需要通过wifi屏蔽将数据从Arduino发送到我的本地主机并更新我的数据库,但我不知道它在哪里或怎么出问题了。我的Arduino可以通过端口80连接到Internet和本地服务器。我的服务器是使用xampp设置的,而我的.php文件位于htdocs目录中。
我在服务器端使用HTTP POST,用于接收HTTP POST的代码段如下:
$test_str = "";
if(isset($_POST["test_str"])){
echo "OK";
$test_str = $_POST['test_str'];
}
else echo "POST not recieved ";
$lid = $test_str;
echo $lid;
$ lid只是一个变量,我将在以后使用。 我的Arduino代码:
String test_str = "";
int testing = 1000;
const char* host = "192.168.0.169";
const int httpPort = 80;
ESP8266Client client;
test_str = "test_str=";
test_str += testing;
void loop(){
if(client.connect(host, httpPort)){
Serial.print("Connected to server ");
client.println("POST /connect.php HTTP/1.1");
client.println("Host: 192.168.0.169");
client.println("User-Agent: Arduino/1.0");
client.println("Connection: close");
client.println("Accept: */*");
client.println("Content-Type: Application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(test_str.length());
client.println("");
client.println(test_str);
Serial.println(" POST Done");
}
}
服务器页面192.168.0.169/connect.php应该显示OK和接收到的值,而只是显示未接收到POST。