Php 使用cURL向Arduino发送HTTP POST

Php 使用cURL向Arduino发送HTTP POST,php,http,curl,arduino,Php,Http,Curl,Arduino,我正试图从我的服务器通过以太网屏蔽向我的Arduino发送HTTP POST,但它不起作用。如果我通过HTML表单或MacOSX的终端cURL发送POST值,Arduino将接收数据,因此我认为Arduino代码是可以的 这是我的旋度函数: 函数卷发器($what,$arduinoip){ $url=“http://”$arduinoip; 摘录($什么); $fields=数组( “蓝色”=>urlencode($blue) ); foreach($key=>$value形式的字段){$fie

我正试图从我的服务器通过以太网屏蔽向我的Arduino发送HTTP POST,但它不起作用。如果我通过HTML表单或MacOSX的终端cURL发送POST值,Arduino将接收数据,因此我认为Arduino代码是可以的

这是我的旋度函数:

函数卷发器($what,$arduinoip){
$url=“http://”$arduinoip;
摘录($什么);
$fields=数组(
“蓝色”=>urlencode($blue)
);
foreach($key=>$value形式的字段){$fields_string.=$key.'='.$value.&';}
$fields_string=rtrim($fields_string,&');
//祝你好运
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,20);
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_strings);
//执行职务
$result=curl\u exec($ch);
$curl\u errno=curl\u errno($ch);
$curl\u error=curl\u error($ch);
卷曲关闭($ch);
如果($curl\u errno>0){
echo“cURL Error($cURL\u errno):$cURL\u Error\n”;
}否则{
echo“接收到的数据:$result\n”;
}
}
我得到两个答复:

卷曲错误(28):connect()超时

卷曲错误(7):无法连接到主机

如果未声明CURLOPT_CONNECTTIMEOUT,则它不返回任何内容


我的代码有什么问题?

不要在主机ip之前添加“http://”:

$url = $arduinoip;
尝试增加您的时间限制:

//200+ maybe?    
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT, 250);

正在尝试从
您的服务器
ping
目标服务器
,查看它是否可访问。在
urlencode($blue)
中,什么是
$blue
?我没有看到它在你的函数中定义。它是由extract($what)命令定义的。你在Arduino端运行的草图是什么?