Php 我如何在Arduino中使用GET请求,以及为什么使用isn';它不起作用吗?
我有一个使用GET请求的Arduino代码(函数)。请求已成功发送,但我没有在串行监视器上打印所需的页面 我的目标是从我的服务器(MySQL)获取一个值,并将其用于我的运动函数(比如使用ThingSpeak API)。但我无法接收数据。请帮忙 Arduino代码:Php 我如何在Arduino中使用GET请求,以及为什么使用isn';它不起作用吗?,php,mysql,get,arduino,Php,Mysql,Get,Arduino,我有一个使用GET请求的Arduino代码(函数)。请求已成功发送,但我没有在串行监视器上打印所需的页面 我的目标是从我的服务器(MySQL)获取一个值,并将其用于我的运动函数(比如使用ThingSpeak API)。但我无法接收数据。请帮忙 Arduino代码: void getd() { esp.println("AT+CIPMUX=0"); esp.println("AT+CIPSTART=\"TCP\",\""+server+"\",80"); //start a TCP c
void getd() {
esp.println("AT+CIPMUX=0");
esp.println("AT+CIPSTART=\"TCP\",\""+server+"\",80");
//start a TCP connection.
if( esp.find("OK")) {
Serial.println("TCP connection ready");
delay(1000);
}
delay(1000);
Req ="GET " + a +" ?val= \r\n\r\n";
int l=Req.length();
Serial.println(l+2);
esp.print("AT+CIPSEND=");
esp.println(Req.length());
if(esp.find(">")) {
Serial.println("Sending..");
Serial.print(Req);
esp.print(Req);
if(esp.find("SEND OK")) {
Serial.println("Packe");
// if there are incoming bytes available
// from the server, read them and print them:
if (esp.available()) {
String c = String(esp.read());
Serial.println(c); // to see the value
// atoi is a function to convert ascii to integer
}
}
PHP代码:
<?php
$sql= new mysqli('localhost','root', '', 'farminger');
if($sql->connect_error) {
die("connection failed:". $sql->connect_error);
}
$query1= $sql->query("select * from test order by timestamp desc limit 1" ); #insert in table
if($query1!==FALSE) {
while($row = mysqli_fetch_array($query1)) {
echo "val: " . $row["val"]. "<br>";
}
mysqli_free_result($query1);
}
$_POST['val']=$row["val"];
mysqli_close($sql);
?>
我在PHP部分是否犯了一些逻辑错误?我应该在那里使用POST请求吗?检查查询中的错误是否有任何来自它的信息?TBH,我不知道Arduino,所以我帮不了你。使用错误报告这是你的代码的精确副本吗?似乎有一些
}
missing@Jeff如果你说的是arduino密码;他们没有正确缩进;我编辑了。+”?val=\r\n\r\n“
这里的空间可能是可以查看的。也许它应该读为+“?val=\r\n\r\n”
。但是?
是一种GET方法,因此您可能希望将$\u POST['val']
更改为$\u GET['val']
,我很有信心它会解决这个问题。@Fred ii-是的,在arduino代码中缺少两个