Задача: Ложить данные в базу данных на сервере, передача идет методом get. Но дело в том что на домашнем сервере все работает замечательно, обращение к серверу по ip, И вручную, типа: http://192.168.10.21/get.php?data1ard=1.00&data2ard=2.00&data3ard=3.00 И ардуина нормально подключается, и передает данные. К удаленному серверу доступ только по URL Вручную все работает: http://site.com.ua/get.php?data1ard=1.00&data2ard=2.00&data3ard=3.00 А ардуино ни как не может достучаться. В чем может быть проблемы? Код (C++): #include <Ethernet.h> float a=1, b=2, c=3; String msg = "GET /get.php?data1ard="+ String(a) + "&data2ard="+String(b) + "&data3ard="+String(c); byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 }; IPAddress ip(192, 168, 10, 22); byte server[] = { 192, 168, 10, 21 }; //char server[] = "www.site.com.ua"; void setup() { } void loop() { EthernetClient client; Ethernet.begin(mac, ip); delay(1000); client.connect(server, 80); client.println(msg); client.println(" HTTP/1.1"); client.println("Connection: close"); client.println(); client.println(); delay (2000); client.stop(); }
Пытаюсь прописать, ругается при компиляции: Код (C++): #include <Ethernet.h> float a=1, b=2, c=3; String msg = "GET /get.php?data1ard="+ String(a) + "&data2ard="+String(b) + "&data3ard="+String(c); byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 }; IPAddress ip(192, 168, 10, 22); IPAddress dnServer(8. 8. 8. 8); IPAddress gateway(192, 168, 10, 1); byte server[] = { 192, 168, 10, 21 }; //char server[] = "www.site.com.ua"; void setup() { Ethernet.begin(mac, ip, dnServer, gateway); } void loop() { EthernetClient client; delay(1000); client.connect(server, 80); client.println(msg); client.println(" HTTP/1.1"); client.println("Connection: close"); client.println(); client.println(); delay (2000); client.stop(); } Код (C++): get:7:23: error: expected ')' before numeric constant IPAddress dnServer(8. 8. 8. 8 ); ^ exit status 1 expected ')' before numeric constant
Упс, поправил, но проблема оказалась вовсе не в этом, днс не при чем. Нужно указывать хост после запроса: было: Код (C++): client.connect(server, 80); client.println(msg); client.println(" HTTP/1.1"); client.println("Connection: close"); client.println(); client.println(); стало: Код (C++): client.print("GET "); client.print(msg); client.println(" HTTP/1.1"); client.println("Host: www.сайт.com.ua"); client.println(""); client.println("Connection: close");