Connessione a internet

Salve, è diverso tempo che cerco in internet esempi e li provo e copio, però nulla.. non riesco a connettere la mia nodeMCU Amica a internet, non so se abbia molto a che fare qui, o se mi trovo nella sezione giusta o sbagliata, ma proprio non riesco a collegarlo, se volete riporto qui il codice:

#include <ESP8266WiFi.h>

char ssid [] = "******"; //le ho mascherate solo per postarle
char password [] = "************"; //le ho mascherate solo per postarle
void setup()
{
  Serial.begin(115200);
  delay(1000);
  Serial.println("Inizo connettendomi alla rete");
  Serial.println("==================================");
  Serial.print(" SSID:");
  Serial.println(ssid);
  Serial.print("Password:");
  Serial.println(password);
  Serial.println("==================================");
  Serial.print("Provo a connetermi");
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    //Serial.print(WiFi.status());//utilizzato per capire il codice che assumeva WiFi.tatus();
    delay(500);
  }
  Serial.println();
  Serial.println("Connessione avenuta con successo");
  Serial.println("====================================");
  Serial.print("indirizzo ip: ");
  Serial.println(WiFi.localIP());
  Serial.println("====================================");
}
void loop() {
}

il problema è che non mi esce mai dal ciclo, ho commentato quella istruzione nel ciclo perchè la avevo usata per capire il valore che assumeva e assumeva solo dei 6 all'inizio e poi una serie di 1.
Ho provato a cercare in internet ma non riesco a venirne fuori, avevo provato anche uno switch per capire a quale stato corrispondeva ma non ci sono riuscito.
Sono sicuro che le credenziali ( ssid e password ) sono giuste, anche se qui le ho tolte per motivi di privacy perchè ho connesso altri dispositivi, come il telefono o il pc stesso.
Grazie mille in anticipo

Ho guardato a cosa corrisponde l’1, e corrisponde a no ssid available

0 : WL_IDLE_STATUS when Wi-Fi is in process of changing between statuses
1 : WL_NO_SSID_AVAILin case configured SSID cannot be reached
3 : WL_CONNECTED after successful connection is established
4 : WL_CONNECT_FAILED if password is incorrect
6 : WL_DISCONNECTED if module is not configured in station mode

Ok, si, avevo intuito, allora riporto un altra prova...
Siccome l'ssid mi diceva che non era giusto ho pensato di cercare un po' e di fare uno sketch che mi permettesse di scansionare le reti in modo da vedere gli ssid, il codice è il seguente:

#include <ESP8266WiFi.h>

void setup() {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);
  Serial.println("Pronta");
}

void loop() {
  Serial.println("======================================");
  Serial.println("Inizio Scansione");
  int n = WiFi.scanNetworks();//numero di reti scansionate
  Serial.println("Terminato");
  if (n == 0) {
    Serial.println("nessuna rete trovata");
  } else {
    Serial.print(n);
    Serial.println(" reti trovate");
    for (int i = 0; i < n; ++i) {
      Serial.print(i + 1);
      Serial.print(": ");
      Serial.print(WiFi.SSID(i));
      delay(10);
    }
  }
  Serial.println("");
  delay(5000);
}

Il problema è che nonostante abbia 2 router con wifi acceso nella stessa stanza, mi dice che ha trovato 0 reti...
Altra domanda che non c'entra molto..io la scheda la ho attaccata con una micro usb al pc e quando vado a caricare lo sketch ci mette sempre molto e sotto vengono fuori i pallini con vicino la percentuale di quanto è arrivato a caricare e ci mette molto...può essere quello il problema?

Ardu purtroppo quei moduli ancora non ho avuto modo di provarli, quindi vado a tastoni...
Sei proprio sicuro sicuro che il modulino che hai funzioni correttamente??? Che magari non rilevi alcuna rete wifi per qualche guasto suo??? Non ne hai un altro equivalente da provare???

No, non ne ho un altro da testatare... Ho provato a fare ancora ricerche in internet, ho provato a ricaricare firmware con i programmi che consigliavano ma nulla, un esempio stupido anche è che ad esempio quando la alimento non si accende nemmeno il led blu, ovvero, mi spiego meglio: appena la collego ad una fonte di corrente si accende, ma poi no, lampeggia solo quando vado a riscrivere il firmware o a caricare gli sketches

Si è sistemato tutto, tempo di farsi un caffè, spegnere tutto, riaccendere edd è andato anche il primo sketch :smiley: :smiley:
Credo che sia "partita" perchè ho ricaricato il firmware, Scusate il trambusto per un nulla

Meno male. Son proprio contento :slight_smile:

Ok, sono riuscito a risolvere e a fare qualcosa però ho un latro problema..Ho provato ad accendere un led da una pagina html e fin qui tutto ok.. il problema è che sul telefono ( utilizzo safari nel cellulare ) riesco a vedere la pagina e va tutto, mentre con il pc( utilizzo Chrome, ma ho provato anche edge e internet explorer) quando vado a scrivere l'ip della nodeMCU ( la ho impostata come sever) mi dice che non manda dati.. se serve carico lo skecth però ora proprio non so

#include <ESP8266WiFi.h>
#include<WiFiClient.h>
#include<ESP8266WebServer.h>
char ssid [] = "***"; //le ho mascherate solo per postarle
char password [] = "***"; //le ho mascherate solo per postarle
int pinLed = D3;
WiFiServer server(80);
WiFiClient client;
void setup()
{
  pinMode(pinLed,OUTPUT);
  Serial.begin(115200);
  delay(1000);
    WiFi.mode(WIFI_STA);
    delay(1000);
  Serial.println("Inizo connettendomi alla rete");
  Serial.println("==================================");
  Serial.print("SSID:");
  Serial.println(ssid);
  Serial.print("Password:");
  Serial.println(password);
  Serial.println("==================================");
  Serial.print("Provo a connetermi");
  WiFi.disconnect();
  delay(1000);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    //Serial.print(WiFi.status());//utilizzato per capire il codice che assumeva WiFi.tatus();
    delay(500);
  }
  Serial.println();
  Serial.println("Connessione avenuta con successo");
  Serial.println("====================================");
  Serial.print("indirizzo ip: ");
  Serial.println(WiFi.localIP());
  Serial.println("====================================");
  Serial.println("====================================");
  Serial.println("Testo il pin del led");
  Serial.println("accendo");
  digitalWrite(pinLed,HIGH);
  delay(500);
  Serial.println("spengo");
  digitalWrite(pinLed,LOW);
  delay(500);
  Serial.println("Test finito");
  Serial.println("====================================");
  Serial.println("====================================");
  Serial.println("Avvio il server web");
  server.begin();
  for( int i = 0; i<500; i++)
  {
    Serial.print(".");
    delay(1);
  }
  Serial.println();
  Serial.println("server avviato");
  Serial.println("===============================");
  Serial.println("===============================");
}
void loop() {
   client = server.available();
  if(client.available())
  {
    DaiLaPaginaAlClient();
    Serial.println("nuovo client connesso");
    String richiesta =client.readStringUntil('\r');
    Serial.print(" la richiesta fatta è: ");
    Serial.println(richiesta);
    client.flush();
    int LedOn = richiesta.indexOf("/LED=ON");
    int LedOff = richiesta.indexOf("/LED=OFF");
    bool valore;
    if(LedOn!=-1)
    {
      Serial.println("è stato premuto LED=ON,accendo il led");
      digitalWrite(pinLed,HIGH);
      valore = true;
    }
    else if(LedOff!=-1)
    {
      Serial.println("è stato premuto LEDO=OFF,spengo il led");
      digitalWrite(pinLed,LOW);
      valore =false;
    }
    Serial.print("ora il led è: ");
    if(valore == true )
    {
      Serial.println("on");
    }
    else if( valore ==false)
    {
      Serial.println("off");
    }
    delay(1000);
  Serial.println("FineCiclo");
  }
}
void DaiLaPaginaAlClient()
{
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
   client.println("

");
  client.println("<a href=\"/LED=ON\"\"><button>Turn On </button></a>");
  client.println("<a href=\"/LED=OFF\"\"><button>Turn Off </button></a>
");  
  client.println("</html>");
}