0

NodeMCU: Accendere un LED in WiFi da remoto

Share

La programmazione di un NodeMCU per controllare un LED tramite WiFi può essere un progetto interessante e utile per sperimentare con l’Internet delle cose (IoT). In questo articolo, ti guiderò nel processo di creazione di un programma Arduino per il NodeMCU che ti consentirà di accendere e spegnere un LED da remoto utilizzando una connessione WiFi.

Hardware necessario

Prima di iniziare, assicurati di avere il seguente hardware a tua disposizione:

  • NodeMCU (o una scheda compatibile)
  • LED
  • Resistenza da 220 ohm
  • Breadboard
  • Cavi jumper

Passaggio 1: Installazione del software Arduino IDE

Per programmare il NodeMCU, avrai bisogno del software Arduino IDE. Puoi scaricarlo gratuitamente dal sito ufficiale di Arduino e seguirne l’installazione.

Passaggio 2: Configurazione dell’IDE Arduino

Dopo aver installato l’IDE Arduino, è necessario configurarlo per supportare il NodeMCU. Apri l’IDE e vai su “File” > “Preferenze”. Nella finestra di preferenze, copia e incolla il seguente URL nel campo “URL aggiuntive per il Gestore schede”:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Quindi, vai su “Strumenti” > “Scheda” > “Gestore schede”. Cerca “esp8266” e installa il pacchetto “esp8266 by ESP8266 Community”.

Passaggio 3: Collegare il circuito

Collega il NodeMCU alla breadboard e il LED alla breadboard utilizzando la resistenza da 220 ohm per limitare la corrente. Assicurati di collegare il pin positivo del LED alla resistenza e il pin negativo del LED al pin GND del NodeMCU.

Passaggio 4: Creare il programma Arduino

Apri un nuovo sketch nell’IDE Arduino e copia il seguente codice:


#include 

const char* ssid = "nome_rete_wifi";
const char* password = "password_wifi";
const int ledPin = 2;

WiFiServer server(80);

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);

  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connesso");

  server.begin();
  Serial.println("Server avviato");
}

void loop() {
  WiFiClient client = server.available();
  if (!client) {
    return;
  }

  Serial.println("Nuova connessione");

  while (!client.available()) {
    delay(1);
  }

  String request = client.readStringUntil('r');
  Serial.println(request);
  client.flush();

  if (request.indexOf("/LED=ON") != -1) {
    digitalWrite(ledPin, HIGH);
  } else if (request.indexOf("/LED=OFF") != -1) {
    digitalWrite(ledPin, LOW);
  }

  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println("");
  client.println("
");
  client.println("");
  client.println("");
  client.println("

Controlla il LED

"); client.println("

Accendi il LED

"); client.println("

Spegni il LED

"); client.println(""); client.println(""); delay(1); Serial.println("Client disconnesso"); Serial.println(""); }

Assicurati di sostituire “nome_rete_wifi” con il nome della tua rete WiFi e “password_wifi” con la password della tua rete WiFi.

Passaggio 5: Caricare il programma

Collega il NodeMCU al tuo computer utilizzando un cavo USB e seleziona la scheda corretta (“NodeMCU 1.0 (ESP-12E Module)”) e la porta seriale corrispondente dall’IDE Arduino. Quindi, carica il programma sul NodeMCU premendo il pulsante “Carica”.

Passaggio 6: Testare il programma

Dopo aver caricato il programma con successo, apri il Monitor seriale nell’IDE Arduino. Dovresti vedere l’output del programma, compresa l’indicazione che il WiFi è connesso e il server è avviato.

Ora, apri un browser web sul tuo smartphone o computer collegato alla stessa rete WiFi e digita l’indirizzo IP del NodeMCU nel browser. Dovresti vedere una pagina web con due link: “Accendi il LED” e “Spegni il LED”. Fai clic su uno dei link e il LED dovrebbe accendersi o spegnersi di conseguenza.

Complimenti! Hai creato con successo un programma Arduino per il NodeMCU che ti consente di controllare un LED tramite WiFi da remoto. Questo progetto può essere ulteriormente esteso per controllare altri dispositivi o sensori, aprendo infinite possibilità per l’automazione domestica e l’IoT.

Spero che questo articolo ti sia stato utile nel comprendere come programmare un NodeMCU per controllare un LED tramite WiFi da remoto. Buona sperimentazione!