#1 Програмування Arduino » Web-сервер і клієнт зовн. сервера » 2018-03-11 19:16:36

fbb_ardu
відповідей: 0

Підкажіть,будь ласка, чи можливо використати один Ethernet - shield в якості web-сервера і клієнта зовнішнього сервера і
яким чином ?

#2 Програмування Arduino » get запит на різні адреси connection failed » 2018-03-11 19:11:18

fbb_ardu
відповідей: 0

Добрий день !
Не вдаэться справитись з такою проблемою.
Є процедура, яка в залежності від вхідного параметра, запускає php-скрип з різними змінними одного і того зовнішнього сервера

void sendValues(int flg){
 if ( client.connect(zzz, 80)) {
     if (flg==0)
      client.println("GET /stat.php?val=1 HTTP/1.1"); 
     else
      client.println("GET /stat.php?status=1 HTTP/1.1"); 
     client.println("Host: ardufbb.zzz.com.ua");
     client.println("User-Agent: arduino-ethernet");
     client.println("Connection: close");
     client.println(); //snd=true;
     if (flg==0) {
      client.flush();
      client.stop();
     }
   }
   else {
   
    Serial.println("connection failed");
  }
 } 

Перший раз ця процедура запускається в void  Setup ()

 void  Setup () {
 sendValues(0);
}

І все чудово відпрацьовує.

Другий раз цю процедуру з іншим параметом я запускаю уже кожну хв в loop()

void loop(){
 if (millis() > 30000){
  sendValues(1); 
}
client.stop();

І тут я завжди отримую "connection failed". Таке враження ,що не завершуэться попереднє з"єднання.

#3 Re: Програмування Arduino » get запит на web - server » 2018-03-04 21:45:59

Нюанс заключався в двох моментах-

char zzz[]="ardufbb.zzz.com.ua";
................
 if (Ardo.connect(zzz, 80)) {
    Ardo.println("GET /stat.php HTTP/1.1"); 
    Ardo.println("Host: ardufbb.zzz.com.ua");
    Ardo.println("User-Agent: arduino-ethernet");   //добавив цей рядок
    Ardo.println("Connection: close");
    Ardo.println(); //в запиті передаю лише один перехід на новий рядок
}

#4 Re: Програмування Arduino » get запит на web - server » 2018-03-04 11:16:51

З google працює , значить з хостінгом zzz.com.ua є якийсь нюанс

#5 Re: Програмування Arduino » get запит на web - server » 2018-03-03 21:34:18

приклад з библиотеки Ethernet для класа EthernetClient()
відрізняється лише використанням HTTP 1.0, а результат той самий

#6 Програмування Arduino » get запит на web - server » 2018-03-03 20:31:36

fbb_ardu
відповідей: 4

Добрий день!
Б"юсь уже як муха об вікно уже 2 дні. Використовую безкоштовний веб-хостинг, на якому є php- скрипт
За допомогою цієї процедури пробую запустити скрипт на сервері :

void sendValues(){
  
  if (Ardo.connect("ardufbb.zzz.com.ua", 80)){
    Ardo.print( "GET /stat.php");
    Ardo.println(" HTTP/1.1");
    Ardo.println( "Host: ardufbb.zzz.com.ua" );
    Ardo.println( "Connection: close");
    Ardo.println();
    Ardo.println();
  }
  else {Serial.println("no connection");}
}

Сервер відповідає помилкою "400 Bad Request" .
Перешерстив весь google . Начеб-то код правильний.

Підкажіть, будь ласка, може хтось стикався?

Підвал форуму