Arduino以太网+ PHP请求
问题描述:
我正在写代码为Arduino +以太网盾发送数据与$_GET
方法(PHP),到一个Mysql数据库。Arduino以太网+ PHP请求
我已经测试了浏览器上的PHP代码,它工作正常,但在Arduino上它没有工作。我无法分辨问题在哪里。我一直在寻找其他论坛,并找不到任何答案。下面是我的代码,我将不胜感激,如果有人可以帮助解决崩溃
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip[] = { 192, 168, 1, 60 }; //IP (WEB CLIENT)
byte server[] = { 192, 168, 1, 8 }; //IP (SERVER)
EthernetClient client;
void setup() {
Serial.begin(9600);
Ethernet.begin(mac, ip);
if (client.connect(server, 8095)) {
Serial.println("CONECTED");
client.print("GET http://192.168.1.8:8095/prs/Query.php?a=");
client.print(2);
client.print(" HTTP/1.1\r\n");
Serial.println("Information sent successfully!");
delay(1000);
} else {
Serial.println("Conection fail");
}
}
void loop() {
}
答
client.print("GET http://192.168.1.8:8095/prs/Query.php?a=");
client.print(2);
client.print(" HTTP/1.1\r\n");
这不是一个合式HTTP 1.1请求:
它包含一个协议,主机名,并在请求线路端口。这在HTTP代理请求之外是不合适的。它不包含
Host
标题。请求后不包含两条换行符。
一个适当的请求可能类似于:
"GET /prs/Query.php?a=2\r\nHost: 192.168.1.8\r\n\r\n"
+0
谢谢。那是问题,现在它正在工作 –
答
我注意到以太网客户端变量/对象被称为cliente(与上月底的五)在其声明,但低于这个对象的名称是客户端(没有结束),如果你改正了这个名称的差异,它是否工作?
EthernetClient cliente;
client.connect(server, 8095)
欢迎#1。不幸的是,你的问题很不明确,而且“这里是我的代码,请纠正它!”这在这里不受欢迎。 –
对不起,如果我被误解了,但我只是要求有人在这个领域更有经验,帮助我找到我的代码的问题,因为我已经尝试了一切,我无法实现它的工作。 –
你在串口监视器上得到了什么输出? –