/** * Default menu fallback */ ESP32: 10 Progetti WiFi che Puoi Realizzare Questo Weekend – MakeLab

ESP32: 10 Progetti WiFi che Puoi Realizzare Questo Weekend

Il Microcontrollore con Superpotenze

L’ESP32 è un microcontrollore con WiFi e Bluetooth integrati che costa meno di €5. È la base perfetta per progetti IoT e automazione!

Perché ESP32?

  • 📡 WiFi + Bluetooth integrati
  • Dual core a 240MHz
  • 💾 520KB RAM (vs 2KB di Arduino Uno)
  • 🔌 34 GPIO programmabili
  • 💰 €3-5 per modulo
  • 🔋 Deep sleep per progetti battery-powered

Setup Iniziale

// Arduino IDE
1. File > Preferenze
2. URL gestione schede:
   https://dl.espressif.com/dl/package_esp32_index.json
3. Strumenti > Scheda > ESP32 Dev Module
4. Installa driver CP210x o CH340

Progetto 1: Web Server con LED Control

Controlla LED da browser!

#include <WiFi.h>
#include <WebServer.h>

const char* ssid = "TuoWiFi";
const char* password = "TuaPassword";

WebServer server(80);
int ledPin = 2;

void handleRoot() {
  String html = "<h1>ESP32 Web Server</h1>";
  html += "<a href='/on'>LED ON</a><br>";
  html += "<a href='/off'>LED OFF</a>";
  server.send(200, "text/html", html);
}

void setup() {
  pinMode(ledPin, OUTPUT);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  
  server.on("/", handleRoot);
  server.on("/on", []() {
    digitalWrite(ledPin, HIGH);
    server.send(200, "text/html", "LED ON");
  });
  server.on("/off", []() {
    digitalWrite(ledPin, LOW);
    server.send(200, "text/html", "LED OFF");
  });
  
  server.begin();
}

void loop() {
  server.handleClient();
}

Progetto 2: Stazione Meteo WiFi

Sensori: DHT22 (temperatura/umidità) + BMP280 (pressione)

Features:

  • 📊 Dashboard web con grafici
  • ☁️ Upload dati a ThingSpeak/MQTT
  • 📱 Notifiche push se temperatura anomala
  • 📈 Storico dati su SD card

Progetto 3: Smart Doorbell con Camera

ESP32-CAM (€8) + notifiche Telegram!

Funzionalità:

  • 📸 Foto quando qualcuno suona
  • 💬 Invia foto su Telegram
  • 🔔 Notifica istantanea
  • 🎥 Stream video on-demand

Progetto 4: Ambient Light per Monitor

Clone di Philips Ambilight!

Setup:

  • ESP32 + WS2812B LED strip
  • Hyperion/Prismatik su PC
  • Streaming colori via UDP
  • Effetti reattivi a schermo

Progetto 5: WiFi Scanner di Rete

Analizza reti WiFi circostanti:

#include "WiFi.h"

void setup() {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
}

void loop() {
  int n = WiFi.scanNetworks();
  
  for (int i = 0; i < n; ++i) {
    Serial.print(WiFi.SSID(i));
    Serial.print(" (");
    Serial.print(WiFi.RSSI(i));
    Serial.print(" dBm) ");
    Serial.println(WiFi.encryptionType(i));
  }
  
  delay(5000);
}

Progetto 6: Bluetooth Audio Receiver

Trasforma vecchie casse in speaker Bluetooth:

  • ESP32 + modulo I2S DAC
  • Bluetooth A2DP sink
  • Qualità audio 16-bit
  • Costo totale: €10

Progetto 7: Smart Plant Watering

Irrigazione automatica con monitoraggio:

  • 💧 Sensore umidità terreno
  • ⛲ Pompa acqua 5V
  • 📱 Dashboard con grafici
  • ⏰ Schedule programmabile
  • 🌦️ Integrazione meteo API (non innaffia se piove!)

Progetto 8: NTP Clock con Display

Orologio sincronizzato via internet:

  • Display OLED 128×64
  • Sync con server NTP
  • Mostra temperatura/meteo
  • Multiple timezone

Progetto 9: MQTT Home Automation Hub

Centro di controllo domotico:

// Integra con Home Assistant
- Controllo luci
- Lettura sensori
- Automazioni
- Voice control (Alexa/Google)

Progetto 10: WiFi Deauther (Solo Scopo Educativo!)

⚠️ Attenzione: Usare solo sulla propria rete per testing!

Testa sicurezza rete WiFi:

  • Scan reti e dispositivi
  • Deauth packets
  • Beacon spam
  • Probe request sniffing

Librerie Essenziali

  • 📡 WiFi.h – Gestione WiFi
  • 🌐 WebServer.h – Server HTTP
  • 💬 PubSubClient – MQTT
  • 🔵 BluetoothSerial – BT classico
  • BLE – Bluetooth Low Energy
  • 📊 ArduinoJson – Parse JSON
  • NTPClient – Sync tempo

Deep Sleep per Batteria

Fai durare la batteria mesi:

// Deep sleep per 5 minuti
esp_sleep_enable_timer_wakeup(5 * 60 * 1000000);
esp_deep_sleep_start();

// Consumi:
// Active: ~160mA
// Light sleep: ~0.8mA
// Deep sleep: ~10μA (!)

OTA Updates

Aggiorna firmware via WiFi:

#include <ArduinoOTA.h>

void setup() {
  ArduinoOTA.setHostname("esp32-device");
  ArduinoOTA.begin();
}

void loop() {
  ArduinoOTA.handle();
}

Troubleshooting Comune

  • ESP non si connette al WiFi
    → Verifica SSID/password
    → Prova 2.4GHz (non 5GHz)
  • Upload fallisce
    → Premi BOOT durante upload
    → Controlla driver USB
  • Crash random
    → Alimentazione instabile (usa condensatore 100μF)
    → Stack overflow (aumenta stack size)

Dove Comprare

  • 🇨🇳 AliExpress – €3-5 (spedizione lenta)
  • 🇪🇺 Amazon – €8-12 (veloce)
  • 🏪 Store locali – Melopero, Robot-Italy

ESP32 vs Arduino

Feature Arduino Uno ESP32
CPU 16MHz 240MHz (dual core)
RAM 2KB 520KB
WiFi
Bluetooth
Prezzo €20 €5

Spoiler: ESP32 vince su tutto! 🏆

Prossimi Passi

Una volta che padroneggi ESP32:

  • 🔧 ESP-IDF – Framework nativo Espressif
  • 🐍 MicroPython – Python su ESP32
  • 📱 ESP-NOW – Comunicazione senza WiFi
  • 🎵 I2S Audio – Progetti audio avanzati

L’ESP32 è un game-changer per i maker. Con €5 hai un computer con WiFi! Cosa aspetti? 🚀

[ LEAVE A COMMENT ]

Your email address will not be published. Required fields are marked *