Nota

Ciao, benvenuto nella Community degli Appassionati di Raspberry Pi, Arduino e ESP32 di SunFounder su Facebook! Approfondisci Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.

Perché unirti?

  • Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del team.

  • Apprendi e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.

  • Anteprime Esclusive: Accedi in anteprima agli annunci dei nuovi prodotti e ai teaser.

  • Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni Festive e Giveaway: Partecipa a giveaway e promozioni speciali.

👉 Pronto per esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!

Connettersi a Wi-Fi

Questo tutorial ti guiderà attraverso i passaggi essenziali per connettere il tuo board Arduino a una rete Wi-Fi. Imparerai come inizializzare il modulo Wi-Fi, verificare il firmware e unirti in modo sicuro a una rete utilizzando il suo SSID e password. Una volta connesso, scoprirai come monitorare importanti dettagli di rete come l’IP del tuo dispositivo e gli indirizzi MAC, nonché la potenza del segnale della rete, direttamente dalla console seriale. Questo tutorial serve sia come guida pratica alla connettività Wi-Fi che come introduzione al monitoraggio di rete con Arduino, aiutandoti a stabilire e mantenere una connessione Wi-Fi affidabile.

1. Carica il codice

Apri il file 01-wifi_connect.ino nel percorso elite-explorer-kit-main\r4_new_feature\01-wifi_connect, oppure copia questo codice nell”Arduino IDE.

Nota

Il supporto Wi-Fi® è abilitato tramite la libreria integrata WiFiS3 fornita con il Core Arduino UNO R4. Installando il core, viene automaticamente installata anche la libreria WiFiS3.

È ancora necessario creare o modificare arduino_secrets.h, sostituendo SECRET_SSID e SECRET_PASS con il nome e la password della rete Wi-Fi a cui desideri connetterti. Il file dovrebbe contenere:

// file intestazione arduino_secrets.h
#define SECRET_SSID "tuarete"
#define SECRET_PASS "tuapassword"

Apri il monitor seriale e vedrai un contenuto simile a quanto segue. Arduino mostrerà l’IP e gli indirizzi MAC del tuo dispositivo, nonché la potenza del segnale della rete.

../_images/01_1_wifi.png

2. Spiegazione del codice

  1. Inclusione delle Librerie e Dati Segreti

    #include <WiFiS3.h>
    #include "arduino_secrets.h"
    
    • WiFiS3 è una libreria che fornisce funzioni per la connettività Wi-Fi. Installando il core R4, viene automaticamente installata la libreria WiFiS3.

    • arduino_secrets.h è un file separato dove vengono conservati SSID e password per evitare la loro esposizione nel codice principale. Conservare rete e password separatamente riduce la condivisione accidentale delle credenziali Wi-Fi.


  2. Dichiarazione di Variabili Globali

    char ssid[] = SECRET_SSID;
    char pass[] = SECRET_PASS;
    int status = WL_IDLE_STATUS;
    
    • ssid e pass contengono il nome della tua rete e la password.

    • status memorizza lo stato attuale della connessione Wi-Fi.


  3. Funzione setup()

    L’interfaccia seriale viene inizializzata con un baud rate di 9600. La linea while (!Serial); assicura che il programma attenda finché la connessione seriale non è stabilita.

    void setup() {
        //Initialize serial and wait for port to open:
        Serial.begin(9600);
        while (!Serial) {
          ; // wait for serial port to connect. Needed for native USB port only
        }
        ...
    }
    

    E quindi, il codice verifica se il modulo Wi-Fi è disponibile o meno. Se non lo è, il programma si interromperà, impedendo efficacemente qualsiasi ulteriore esecuzione.

    ...
    // check for the WiFi module:
    if (WiFi.status() == WL_NO_MODULE) {
        Serial.println("Communication with WiFi module failed!");
        // don't continue
        while (true);
    }
    ...
    

    In questa parte del codice, controlliamo se la versione del firmware di uno R4 WiFi è aggiornata. Se non è l’ultima versione, verrà visualizzato un prompt per l’aggiornamento. Puoi fare riferimento a Aggiorna il firmware del modulo radio sulla tua scheda UNO R4 WiFi per l’aggiornamento del firmware.

    ...
    String fv = WiFi.firmwareVersion();
    if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
        Serial.println("Please upgrade the firmware");
    }
    ...
    
  4. Funzione loop()

    void loop() {
      // check the network connection once every 10 seconds:
      delay(10000);
      printCurrentNet();
    }
    
    • Ogni 10 secondi, la funzione printCurrentNet() viene chiamata per stampare i dettagli attuali della rete.

Riferimenti