( Risolto - Resolved ) Wifi da collegare fra due MKR1010 e MKRNano33

Buona sera a tutti
mi presento qui perche non riesco trovare la pagina della presentazione.
Per qualche ragione con il mio NikName Bazzo54 e password abilitata non riesco piu a fare il login ora sono baz54 .

Avrei bisogno di un aiuto per risolvere un problema di Wifi fra un MKR Wifi 1010 e MKRNano33 sempre IoT , premetto che non ho conoscente di Wifi , ho letto vari esempi … pero fino ad oggi non sono riuscito trovare una soluzione. sul MKR Wifi 1010 ho collegato la MKRENV e fatto un sketch che non e farina del mio sacco … ma modificato si.

Questo sketch mi fa da server e mi spedisce i dati della scheda ENV nella pagina web che vado leggere con lo stesso IP su un tablet con wifi , una volta fatto il login per collegarmi alla rete , sulla pagina web imposto HTTP:// 192.168.4.1/ e visualizzo i dati che mi trasmettte il server , quello che non riesco capire come fare che questi dati vengano visualizzati non sul Tablet mai su un’ altro MKRNano33 IoT con un Display il quale dovrebbe visualizzare i dati trasmessi e fare da Client sempre sulla porta 80 , portate pazienza perche io non ho trovato nessuna informazione per fare questo … Ribadisco che io non ho conoscenze di protocolli Wifi , se ce qualcuno che mi puo dare un mano con qualche esempio in modo che io capisca come fare … Grazie

/* 

 Creare un server Web per mandare i dati 
 sequenza  LED del server Web WiFi quando si collega 
   
  Questo schizzo creerà un nuovo punto di accesso (con password). 

   Se l'indirizzo IP della tua bacheca è il tuo indirizzo: 
   http: // 192.168.4.1
    modificato da Maurizio 03/12/2020
   add code for MKR ENV sheild con led che indica lo stato
 */  
 
#include <Arduino_MKRENV.h>  
#include <SPI.h>  
#include <WiFiNINA.h> 

 

char ssid[] = "bazzo1954";         // il tuo SSID di rete (nome)    
char pass[] = "mautitti2007";    // la tua password di rete (usa per WPA o usa come chiave per WEP) 
int keyIndex = 0;                // il numero di indice della chiave di rete (necessario solo per WEP)  
String vals ="";  
int led_red = 2;  
int led_green = 3;
int led_yello = 1;

int status = WL_IDLE_STATUS;  
 WiFiServer server(80);  
  
  
void setup() { 
          
         ENV.begin();  // Inizializzo la sheild ENV     
       
  
        pinMode(led_red, OUTPUT);      // set the LED pin mode 
        pinMode(led_green, OUTPUT);
        pinMode(led_yello, OUTPUT);
  
             // controlla il modulo WiFi:  
  if (WiFi.status() == WL_NO_MODULE) 
            { 
              // Comunicazione con modulo WiFi fallita!
                digitalWrite(led_red, HIGH);
             // don't continue  
    while (true);  
             }    

          digitalWrite(led_red, LOW);
    
              // Crea una rete aperta. Modificare questa riga se si desidera creare una rete WEP: 
  status = WiFi.beginAP(ssid, pass);  
  if (status != WL_AP_LISTENING) {  
             /// Serial.println("Creating access point failed"); 
              digitalWrite(led_red, HIGH);
    
    
    // don't continue  
    while (true);  
  }  
     digitalWrite(led_red, LOW);
  
  // wait 10 seconds for connection:  
  delay(10000);  
  
  
           // avvia il server web sulla porta 80   
  server.begin();  
   
     digitalWrite(led_red,LOW);
     digitalWrite(led_yello, HIGH);
}  
  
  
  
  
void loop()
{  
  // confronta lo stato precedente con lo stato corrente  
  if (status != WiFi.status())
  {  
    // è cambiato aggiorna la variabile  
    status = WiFi.status();  
     //digitalWrite(led_red, LOW);
  
  if (status == WL_AP_CONNECTED)
       {  
      // un dispositivo si è connesso all'AP
        digitalWrite(led_red, LOW);
        digitalWrite(led_yello, LOW);
        digitalWrite(led_green, HIGH);
       }
  else
       {  
      // un dispositivo si è disconnesso dall'AP e siamo tornati in modalità di ascolto   
         digitalWrite(led_red, LOW); 
         digitalWrite(led_green, LOW);
         digitalWrite(led_yello, HIGH);
       } 
   }                 
      
     // legge tutti i valori del sensore da MKR ENV shield  
  float temperature = ENV.readTemperature();  
  float humidity    = ENV.readHumidity();  
  float pressure    = ENV.readPressure();  
  float illuminance = ENV.readIlluminance();  
  float uva         = ENV.readUVA();  
  float uvb         = ENV.readUVB();  
  float uvIndex     = ENV.readUVIndex(); 

  ////******* creazione di una stringa per visualizzare i valori del sensore su una pagina web ****////
   
 vals = "<h1><p>Temperature:"+String(temperature)+ " 
Humidity:"+String(humidity)+ "
Pressure:"+ String(pressure)+ " 
Illuminance:" + String(illuminance)+ "
Uva:"+String(uva)+ "
Uvb:"+String(uvb)+   
           "
uvIndex:"+String(uvIndex) +"</h1>";   
  
  
  WiFiClient client = server.available();   // ascolta i client in arrivo  
  
  
  if (client) {                             // se ottieni un cliente,  
                 
                  String currentLine = "";                // crea una stringa per contenere i dati in arrivo dal client 
                     
         while (client.connected()) {            // loop mentre il client è connesso  
      
  if (client.available()) {                 // se ci sono byte da leggere dal client,   
                          char c = client.read();             // legge un byte, quindi 
                         Serial.write(c);                    // stampalo sul monitor seriale 
                          
     if (c == '\n') {                    // se il byte è un carattere di nuova riga   
       
                          // se la riga corrente è vuota, hai due caratteri di nuova riga in una riga.  
                         // questa è la fine della richiesta HTTP del client, quindi invia una risposta: 
                     
               if (currentLine.length() == 0) { 
       
                           // Le intestazioni HTTP iniziano sempre con un codice di risposta (ad esempio HTTP / 1.1 200 OK)  
                           // e un tipo di contenuto in modo che il client sappia cosa sta arrivando, quindi una riga vuota: 
                     
                     client.println("HTTP/1.1 200 OK");  
                     client.println("Content-type:text/html");  
                     client.println();  
  
  
                             // il contenuto della risposta HTTP segue l'intestazione:  
                    client.print(vals);  
             
                            // La risposta HTTP termina con un'altra riga vuota: 
                    client.println();  
                    
                      // interrompi il ciclo while:   
                      break;  
                     } 
                      
                else {      // se hai una nuova riga, quindi cancella currentLine:  
                      currentLine = "";  
                     }  
                 }  
              else if (c != '\r') {    // se hai qualcos'altro tranne un carattere di ritorno a capo,   
                   currentLine += c;      // lo aggiunge alla fine di currentLine   
                        }  
               }  
         }  
                    // close the connection:  
             client.stop();  
   
                   digitalWrite(led_red, HIGH); 
     }  
   }

Buonasera e benvenuto, :slight_smile:
essendo il tuo primo post con tale nick (... e non essendoci precedenti presentazioni), nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

P.P.S.: ... ho anche cercato ... ma nenache Bazzo54 sembra mai aver fatto la richiesta presentazione :smiley: :smiley: :smiley:

Buon pomeriggio

Ho notato che nessuno e in grado di aiutarmi… va bè e lo stesso… un po di ironia ci vuole!!!

Allora vi voglio semplificare la vita … vediamo se riuscite aiutarmi in quest’altro problema !!!
Ps il primo l’ho risolto … tanto per informarvi …sicuramente sarò Bannato !!!

il secondo quesito che ho da proporvi e questo , come faccio ricevere e visualizzare la stringa che viene generata sul monitor Seriale ma su un Display tft ILI9341 collegato sul Arduino MKRNano33 ?

Vi allego il file che mi fa visualizzare la stringa sul Monitor seriale presente sul programma , la seconda riga e la stringa che viene generata dal Server e spedita al Client.

Grazie , Maurizio

//// strinta ricevuta dal Client   ///
client.println("GET /search?q=arduino HTTP/1.1");

////******* creazione di una stringa per visualizzare i valori del sensore su una pagina web ****////
   
 vals = "<h1><p>Temperature:"+String(temperature)+ " 
Humidity:"+String(humidity)+ "
Pressure:"+ String(pressure)+ " 
Illuminance:" + String(illuminance)+ "
Uva:"+String(uva)+ "
Uvb:"+String(uvb)+   
           "
uvIndex:"+String(uvIndex) +"</h1>";