Hi, I've got around 10 arduinos setup around a farm collecting soil data and uploading the data to a website hosted by bluehost through a simple http GET request. These have been installed for around 2-3 years and updating happily every 15 minutes. Last month all of these arduinos stopped updating every 15 minutes and now get an update through about every 2 days if I'm lucky sometimes going up to a week without updating. I have not changed anything of my end, I have 2 using GSM modules and they are also unreliable. I have done a tcpdump on my router and I can see each station attempt to update every 15 minutes but a don't get any reply from blue host.
below is how I am sending and http request.
packet = formpacket(collectedData);
Serial.println(packet);
String formpacket(char c[][7])
{
wdt_reset();
String ret;
ret = (String)"/handleimcoming.php?farmID=" + farmID
+"&siteID="
+siteID
+"&110cm="
+c[0]
+"&120cm="
+c[1]
+"&130cm="
+c[2]
+"&140cm="
+c[3]
+"&210cm="
+c[8]
+"&220cm="
+c[9]
+"&230cm="
+c[10]
+"&240cm="
+c[11]
+"&T110cm="
+c[4]
+"&T120cm="
+c[5]
+"&T130cm="
+c[6]
+"&T140cm="
+c[7]
+"&T210cm="
+c[12]
+"&T220cm="
+c[13]
+"&T230cm="
+c[14]
+"&T240cm="
+c[15];
return ret;
}
Serial.println("ARDUINO: attempting upload");
if (skip == 0)
{
if(gsm){
// powerOnSim900();
// gsmSendTCP(packet);
// powerOffSim900();
}
if(ethernet){
ethernetSendTCP(packet);
}
success = 1;
}
else
{
Serial.println("read failure");
}
void ethernetSendTCP(String packet){
if(client.connect(server, 80))
{
Serial.println("connected...");
Serial.println("Forming HTTP Request");
client.print("GET ");
client.print(packet);
client.println(" HTTP/1.1");
client.println("Host: localhost");
client.println("Connection: close");
client.println();
Serial.println("ARDUINO: HTTP message sent");
client.stop();
client.flush();
}
}
i have also attached a packet capture which failed to upload to the website, any help would be much appreciated, I have been scratching my head for weeks.