stazione meteo

utilizzo esp8266 per collegarmi con il wifi ma non carica i dati..

#include "DHT.h"
#include <SFE_BMP180.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#define SSID "xxxxx"
#define PASS "yyyyy"
#define SERVER "www.ma3.altervista.org"
String path_page = "/inserisci.php";
SoftwareSerial mySerial(9, 10);
SFE_BMP180 pressure; //Creo istanza pressione
#define DHTPIN 2 //Pin per rilevare la temperatura
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE); //Creo istanza temperatura del tipo DHTTYPE

int count;
char status_p;
String cosaMandare;
double T, P, p0, a;
int errore_pressione = 0; //Per vedere se ci sono errori nell'inizializzazione del sensore BMP180. Impongo flag a zero.
String temp_title = "t=";
String umid_title = "u=";
String press_title = "p=";
String lux_title = "l=";
String temp, pressi, umid, lux; //Dati da inviare con il Wifi
int inLux = A2; //Pin per rilevare la luce
String response, response2;

void setup() {
  Serial.begin(9600);
  mySerial.begin(115200); //Solo per debug
  delay(3000);
  //Serial.println("INIZIO"); //Per debug
    Serial.println("Start...");
}

void loop() {
sendData("AT+RST\r\n", 3000); //Resetta modulo
  sendData("AT+GMR\r\n", 3000); //Ottieni info
  //sendData("AT+CWLAP\r\n", 3000); //Momentaneamente tolto
  sendData("AT+CWMODE=1\r\n", 1000);

  String cmd = "AT+CWJAP=\"";
  cmd += SSID;
  cmd += "\",\"";
  cmd += PASS;
  cmd += "\"\r\n";

  sendData(cmd, 7000);
  sendData("AT+CIFSR\r\n", 5000);
  //Serial.println(" ");
  if (pressure.begin())
  {
  //  Serial.println("BMP180 inizializzato."); //Inizializzato con successo il sensore BMP180
  }
  else
  {
  // Serial.println("BMP180 non inizializzato.\n\n");
    errore_pressione = 1; // errore pressione. Flag = 1.
  }
  //Serial.println(" ");
  if (errore_pressione == 0) //Se il sensore è stato inizializzato correttamente...
  {
    status_p = pressure.startTemperature(); //Inizia a misurare la temperatura con sensore BMP180
    if (status_p != 0) {
      delay(status_p); // Wait for the measurement to complete
      status_p = pressure.getTemperature(T);
      if (status_p != 0)
      {
        // Print out the measurement:
        /*Serial.print("Temperatura: ");
          Serial.print(T,2); //Scrivi la temperatura (con due cifre dopo la virgola) in gradi Celsius
          Serial.print("^C ");
        */
        status_p = pressure.startPressure(3); //Inizia a misurare la pressione con sensore BMP180
        if (status_p != 0)
        {
          // Wait for the measurement to complete:
          delay(status_p);
          status_p = pressure.getPressure(P, T);
          if (status_p != 0)
          {
            // Print out the measurement:
            /*Serial.print("Pressione: ");
              Serial.print(P,2); //Scrivi pressione in mbar
              Serial.print(" mb, ");
              Serial.print(P*0.0295333727,2);
              Serial.println(" inHg"); //e in inHg
            */
          }
          else
          {
            //Serial.println("error retrieving pressure measurement\n");
          }
        }
        else
        {
          //Serial.println("error starting pressure measurement\n");
        }
      }
      else
      {
        //Serial.println("error retrieving temperature measurement\n");
      }
    }
    else
    {
      //Serial.println("error starting temperature measurement\n");
    }
  }
    
  //Rilevazione temperatura e umidità
  float temperatura; /*Temperatura che verrà inviata (scelgo la media tra i due valori misurati
                    DHT22 e BMP180)*/
  delay(3000); //Attenzione: per il DHT22 frequenza di campionamento non superiore a 0,5 Hz (una volta ogni 2 secondi)
  int temp_dht22 = (int)dht.readTemperature(); //Leggo il valore della temperatura in gradi C dall'istanza dht
  delay(3000);
  int umi_dht22 = (int)dht.readHumidity(); //Leggo il valore dell'umidità dall'istanza dht
  delay(3000);
  if ((float)temp_dht22 > 0 && errore_pressione == 0)
  {
    temperatura = (float)((temp_dht22 + T) / 2); //faccio la media
  }
  else
  {
    temperatura = (float)temp_dht22;
  }
  delay(2000);
  int lux_value = analogRead(inLux); //Leggi valore di luce in una scala da 0 a 1023
  int lux_perc = map(lux_value, 1023, 0, 0, 100); //percentuale
  /*Serial.print("Luminosita': ");
    Serial.print(lux_perc);
    Serial.println("%");
  */
  delay(2000);

  temp = temp_title + (int)temp_dht22;
  umid = umid_title + (int)umi_dht22;
  pressi = press_title + (int)(P);
  lux = lux_title + lux_perc;
 cosaMandare=temp;
cosaMandare+="&";
cosaMandare+=umid;
cosaMandare+="&";
cosaMandare+=pressi;
cosaMandare+="&";
cosaMandare+=lux;

  String cmd55 = "AT+CIPSTART=\"TCP\",\"";
  cmd55 += SERVER;
  cmd55 += "\",80\r\n";

  sendData(cmd55, 2000); //Avvia connessione con server
  //invio temperatura


String cmd2 = "GET ";
  cmd2 += path_page;
  cmd2 += "?";
  cmd2 += cosaMandare;
  cmd2 += " HTTP/1.1\r\nHost: ";
  cmd2 += SERVER;
  cmd2 += "\r\n\r\n";

  String cmd3 = "AT+CIPSEND=";
  cmd3 += cmd2.length();
  cmd3 += "\r\n";
  sendData(cmd3, 2000);//Lunghezza della richiesta
  //delay(1000);
  sendData(cmd2, 3000); //Richiesta

}

String sendData(String command, const int timeout)
{
  response = "";
  response2 = "";
  count = 0;
  mySerial.print(command); // invia il comando all' esp8266
  long int time = millis();
  while ((time + timeout) > millis())
  {
    while (mySerial.available())
    {
      char c = mySerial.read(); // componi la risposta coi caratteri ricevuti dal modulo
      if (c == '\n' or c == '\r')
        response2 += ' ';
      else
        response2 += c;


      response += c;

      count++;
    }
  }
  
    Serial.print(response);
    Serial.print(count);
  
  return response;
}

che soluzione avete voi?
grazie.

[EDIT] canellato la password per ragioni di sicurezza e provacy Uwe [/EDIT]

@uscrocc: ... e si che è un po' che frequenti il forum ...
... nella sezione dove avevi messo il post c'è chiaramente scritto, in grassetto, di non postare nulla ... quindi, per favore, la prossima volta presta più attenzione !!!

Il tuo post è stato spostato nell'opportuna sezione del forum.

Guglielmo

grazie per aver spostare il thread. scusami.

abbiamo appena appurato che la software serial a 115200 baud non ce la fà link

ho sostituito 115200 con 9600 in mySerial.begin ma non funziona lo stesso. mi visualizza questo:

Start...
00000