Problema invio dati arduino a pagina php remota

Buongiorno. Sono nuovo nel forum. Stavo provando a inviare dei dati sulla temperatura e umidità al sito web su altervista. Il codice arduino funziona (Testato nel monitor seriale), il codice php non segna nessun errore e inivia tranquillamente i dati al database. Il mio problema è la comunicazione Arduino → Pagina PHP. Infatti il codice non riceve nessun input da parte di arduino.
Dove ho messo * c’è il dominio corretto

#include <DHT.h>
#include <DHT_U.h>

#include <Adafruit_Sensor.h>

#include <Wire.h>

#include <SPI.h>
#include <Ethernet.h>
#define DHTPIN 7
// 8 è il pin di Arduino a cui collego il sensore di temperatura
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

//specify the temp sensor


float currentTemp;
float currentHumid;



//engineeringtoolbox.com/barometers-elevation-compensation-d_1812.html
float altitudeAdjustment = 1;

//ethernet client vars
//IPAddress server(192,168,1,35); 
char server ("****.****.***");
IPAddress ip(192, 168, 178, 36); //in case of DHCP failure
IPAddress myDns(192, 168, 178, 1);
EthernetClient client;

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
String urlString;
String temperatureToDB;
String humidityToDB;



void setup() {

  Serial.begin(9600); 

  //wait for sensors to be ready
  delay(3000);
  
  //Check if BMP 280 is ready

  //check if DHT22 is ready
  

  if (Ethernet.begin(mac) == 0) 
  {
    Serial.print("Failed to configure Ethernet using DHCP");
    // Check for Ethernet hardware present
    if (Ethernet.hardwareStatus() == EthernetNoHardware) 
    {
      Serial.println("Ethernet shield not found");
      //show failure flag
    }
    
    if (Ethernet.linkStatus() == LinkOFF) 
    {
      Serial.println("Ethernet cable not connected.");
    }
    
    // try to congifure using IP address instead of DHCP:
    Ethernet.begin(mac, ip, myDns);
  } 
    else 
  {
      Serial.print("Got IP via DHCP:  ");
      Serial.println(Ethernet.localIP());
  }

  //wait for sensors again
  delay(3000);
}

void loop() {

  currentTemp = dht.readTemperature();
  currentHumid = dht.readHumidity();


  //build the string to send to the server
  temperatureToDB = currentTemp;
  humidityToDB = currentHumid;

  //send the data
  urlString = "GET /web/arduino/form.php?t=" + temperatureToDB + "&h=" +  humidityToDB + " HTTP/1.1";
  sendDataToServer(urlString);

  //wait 10 minutes
  for (int i = 0; i < 599; i++)
  {
    delay (1000);
  }
}

void sendDataToServer(String stringToSend)
{
  Serial.println(stringToSend);
  if (client.connect("****.*****.***", 80)) 

  { client.println(stringToSend); client.println("Host: ****.*****.***"); 

 client.println("Connection: close");

 client.println(); } 

 else { 

 Serial.println("connection failed"); 

 } }

Ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato ::slight_smile:

Guglielmo

Puoi fare un semplice controllo così:
nella parte //send the data fai un Serial.println (urlString);
Apri il monitor seriale e guadri che stringa ti ha fatto
la selezioni e la copi con ctrl+C (eh, lo so, nel 2021 lo IDE di arduino non ha il click destro e poi copia...)
vai sul web
scrivi il tuo host e cioè www.**./e qui incolli la tua stringa
premendo enter vedi la risposta che ottieni.
Se è tutto ok devi vedere la pagina bianca

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.