Проблема с отправкой HTTP запроса на сайт

Нет ответов
Pavel666
Offline
Зарегистрирован: 05.10.2019

Добрый день. Стоит задача передачи данных с Arduino Uno на веб сервер. Хотел сначала делать через FTP, но потом решил через HTTP. Итак вот скетч:

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
const int analogInPin = A0; 
int sensorValue = 0;
char host[] ="www.mysite.ru";
EthernetClient client;


void setup() 
{

 Serial.begin(9600);
 pinMode(LEDPIN, OUTPUT);
 Ethernet.begin(mac);
 client.connect(host,80);
}

void loop() 
{
  sensorValue = analogRead(analogInPin);
  if(client.connected())
  {
    client.println("GET /dataupdate.php?");
    client.print("d=");
    client.print(sensorValue);
    client.println("HTTP/1.1");
    client.print("Host: ");
    client.println(host);
    client.println("Connection: keep-alive");
    client.println();
    client.println();
    if(client.available())
    {
      char c = client.read();
      Serial.print(c);   
    }
  }
  else{ client.connect(host,80);}
}

На серверной части крутиться php скрипт:

<?php
$fd = fopen("/data.!!!", 'w');
fwrite($fd, $_GET["d"]);
fclose($fd);
?>

Он записывает значения полученные от ардуино в файл. Далее страница html, используя xhr подгружает на страницу эти данные из файла:

<html>	
<head>		
<title>JS</title>		
<script>			
function getdata(filepath, id)			
{				
let xmlhttp = new XMLHttpRequest();				
xmlhttp.open("GET", filepath, true);				
xmlhttp.send(null);				
xmlhttp.onreadystatechange = function(){					
document.getElementById(id).innerHTML = xmlhttp.responseText;				
}			
}			
setInterval(getdata, 500, "/data.!!!", "data")		
</script>	
</head>	
<body>	
<div id="data"></div>	
</body>
</html>

Монитор порта показывает ответ от сервера, что все Ok, код 200. Но данные не перезаписываются. Не могли бы подсказать в чем может быть причина?