Pubblicità

Apri Cancello Smart senza Internet: Codice Pronto all’Uso

Cosa ti serve per la realizzazione:

Se sei un appassionato di Arduino, ESP8266 o automazione Wi-Fi, questo progetto ti farà risparmiare ore di sviluppo, debugging e test. Ho realizzato un firmware per Wemos D1 Mini + Relay Shield che ti permette di controllare un relè direttamente dal tuo smartphone tramite una pratica interfaccia web responsive, senza bisogno di configurazioni complicate.

Nessun Router.Nessuna connessione Internet.Nessun Bluetooth.

La scheda crea autonomamente una rete Wi-Fi in modalità Access Point (AP). Questo significa che ti basta accendere il dispositivo, connettere il telefono alla sua rete Wi-Fi e gestire il relè ovunque ti trovi: in garage, in giardino, in camper o in campagna, completamente offline.

🛠️ Caratteristiche Principali (Versione Base Gratuita)

Per i lettori del sito ho deciso di mettere a disposizione in modo completamente gratuito lo sketch .ino in versione base. Con questo codice potrai:

  • Controllare il relè tramite smartphone con un semplice click (configurato con impulso di 1 secondo, ideale per cancelli o serrature).
  • Sfruttare un’interfaccia web responsive e intuitiva.
  • Sfruttare il Captive Portal integrato: una volta connesso al Wi-Fi, il telefono ti aprirà automaticamente la pagina di controllo senza dover digitare l’indirizzo IP nel browser.
  • Lavorare in modalità 100% offline tramite l’Access Point generato dall’ESP8266.
  • Caricare il codice pulito direttamente tramite Arduino IDE (utilizza il pin D1 nativo del Relay Shield).

⚠️ Nota: Questa versione base ha i parametri Wi-Fi (SSID e Password) fissi nel codice e non include la pagina delle impostazioni avanzate, ma è ideale per chi vuole testare subito il funzionamento del relè. 👉 [Scorri a fondo pagina per copiare il codice base .ino]

🚀 Le Funzioni Esclusive della Versione Plus (Su Ko-fi)

Se cerchi un controllo professionale e vuoi personalizzare il tuo modulo senza dover rimettere mano al codice su Arduino IDE ogni volta, ho sviluppato la Versione Plus.

Oltre alle funzioni base di accensione e spegnimento, questa release include un’intera interfaccia di amministrazione avanzata e protetta da password, con memorizzazione dei dati in memoria Flash (LittleFS) e una personalizzazione totale del comportamento e della grafica del relè direttamente dal tuo browser.

💻 Cosa troverai all’interno del Codice Arduino Plus:

Il codice sorgente della Versione Plus è strutturato in modo professionale, ottimizzato e pronto all’uso. Ecco nel dettaglio tutte le funzioni integrate nello sketch:

  • 💾 Gestione Memoria Flash con LittleFS: Tutti i parametri modificati dalla pagina web vengono memorizzati permanentemente sulla memoria della Wemos D1 Mini. Se salta l’alimentazione, il dispositivo non perde le tue impostazioni.
  • 🔒 Area Riservata Protetta da Login: Pagina di autenticazione sicura per impedire accessi non autorizzati alla configurazione. La password di accesso al pannello (di default admin) può essere modificata direttamente dal browser.
  • 🌐 Personalizzazione Parametri Wi-Fi: Modifica il nome della rete (SSID) e la chiave di sicurezza dell’Access Point generato dall’ESP8266 direttamente dalla pagina web, senza dover riprogrammare la scheda via cavo.
  • ⏱️ Regolazione Tempo di Impulso (Inching) al Millisecondo: Configura via web la durata esatta di attivazione del relè (es. 2000ms per un impulso di 2 secondi). Perfetto per adattarsi alle specifiche di qualsiasi cancello automatico, basculante o serratura elettrica.
  • 🎨 Personalizzazione Grafica Completa (Interfaccia Web Custom):
    • Scelta del Tema: Passa dal Tema Chiaro ☀️ al Tema Scuro 🌙 con un semplice click per una visualizzazione ottimale di notte.
    • Colori su Misura: Selettori colore integrati (Hex Color Picker) per modificare al volo la tonalità dello sfondo e del testo del pulsante principale.
    • Cambio Nome Pulsante: Rinomina il testo visualizzato sul pulsante (es. “Apri Cancello”, “Accendi Luce”, “Reset Server”) direttamente dal pannello impostazioni.
    • Stile Font: Scegli lo stile del testo che preferisci tra Sans-Serif (Lineare), Serif (Classico), Monospace (Meccanico), Cursive (Comic) o Fantasy (Impatto).
  • 📋 Cronologia degli Accessi (Log di Sistema): Il firmware include un algoritmo intelligente che cattura la data e l’ora dallo smartphone al momento della connessione e memorizza in modo asincrono gli ultimi 20 impulsi all’interno del file /log.txt. Potrai monitorare storicamente l’utilizzo e svuotare la lista con un comando dedicato.
  • 🔄 Ripristino di Fabbrica (Factory Reset): Pulsante di emergenza per azzerare istantaneamente tutti i file di configurazione e i log salvati nella Flash, riportando la scheda ai valori iniziali di default.
  • Gestione Asincrona del Relè (Zero Delay): Lo spegnimento del relè è gestito in modo intelligente tramite la funzione non bloccante millis(). L’ESP8266 rimane sempre reattivo, garantendo il corretto funzionamento del server web e del Captive Portal anche durante il conteggio dei millisecondi dell’impulso.

📱 Compatibilità Totale

Il sistema è ottimizzato per Android, ma è perfettamente accessibile da qualsiasi dispositivo dotato di un browser web (Safari, Chrome, Firefox, Edge), inclusi iPhone, iPad, tablet e PC.

📦 Cosa Riceverai Sostenendo il Progetto

Sbloccando la versione completa su Ko-fi riceverai un file ZIP contenente:

  1. Il file sorgente .ino completo con la gestione dei settaggi avanzati, memorizzazione in memoria flash tramite LittleFS e gestione asincrona (il codice sopra descritto).
  2. Indicazione delle librerie standard necessarie per la corretta compilazione su Arduino IDE.
  3. Zero configurazioni complesse: Carichi lo sketch sulla tua Wemos D1 Mini e gestisci tutto comodamente dal telefono.

💡 Ideale per: Progetti di domotica fai-da-te, apertura cancelli automatici, gestione serrature elettriche, reset di server remoti e qualsiasi automazione basata su ESP8266 dove non è presente una rete Wi-Fi domestica o aziendale.

⚠️ IMPORTANTE – Leggere Prima dell’Acquisto (Versione Plus)

Questo codice viene distribuito e venduto con la formula “visto e piaciuto” (As-Is). Ti invitiamo a leggere attentamente le seguenti condizioni prima di completare il download:

  • Cosa ricevi: Esattamente il file sorgente e tutte le funzionalità descritte nella sezione “Versione Plus”.
  • Aggiornamenti: Non sono previsti aggiornamenti futuri, implementazioni di nuove funzionalità o modifiche personalizzate su richiesta.
  • Politica di Reso: Trattandosi di un prodotto digitale scaricabile ed editabile, non si accettano resi, rimborsi o annullamenti dell’acquisto una volta completata la transazione.

Acquistando e scaricando questo prodotto, confermi di aver letto, compreso e accettato integralmente queste condizioni.

☕ Supporta il Progetto su Ko-fi ed ottieni la Versione Plus

Questo firmware è il risultato di molte ore di sviluppo, test e ottimizzazione. Supportando questo progetto su Ko-fi non solo sbloccherai subito la versione avanzata con la pagina dei settaggi, ma contribuirai direttamente allo sviluppo di nuovi firmware, guide e progetti dedicati alla community dei maker!

👉 [SCARICA LA VERDE PLUS CON SETTAGGI SU KO-FI ☕🔧]

📥 Codice Sorgente Base .ino (Senza Settaggi Avanzati)

Puoi copiare questo codice, incollarlo su Arduino IDE e caricarlo subito sulla tua Wemos D1 Mini per testare le funzioni base del relè. Crediti nel codice a PENDOLAS.

I Collegamenti dei Cavi (Piedinatura)

Usa tre colori standard per i cavi per rendere lo schema subito comprensibile a colpo d’occhio:

  • 🔴 Cavo Rosso (Alimentazione 5V): Collega il pin 5V della Wemos D1 Mini al pin VCC (o +) del modulo relè.
  • Cavo Nero (Massa): Collega il pin G (GND) della Wemos D1 Mini al pin GND (o -) del modulo relè.
  • 🟡 Cavo Giallo/Blu (Segnale): Collega il pin D1 della Wemos D1 Mini al pin IN (o Signal) del modulo relè. Questo rispecchia la direttiva pinMode(D1, OUTPUT);
#include <ESP8266WiFi.h>
#include <DNSServer.h>
#include <ESP8266WebServer.h>

// ==========================================
// CONFIGURAZIONE RETE WI-FI (Access Point)
// ==========================================
const char* ssid = "Cancello Pedonale";
const char* password = "123456789"; 

// Gestione DNS e Web Server
const byte DNS_PORT = 53;
IPAddress apIP(192, 168, 4, 1);
DNSServer dnsServer;
ESP8266WebServer server(80);

// Pagina HTML personalizzata
String htmlPage = 
"<html><head><meta name='viewport' content='width=device-width, initial-scale=1'>"
"<style>"
"body{font-family:sans-serif; text-align:center; background:#f4f4f4; padding-top:50px; display:flex; flex-direction:column; height:90vh;}"
".content{flex:1;}" 
".btn{display:block; width:250px; margin:20px auto; padding:30px; font-size:22px; color:white; text-decoration:none; border-radius:15px; font-weight:bold; box-shadow: 0 4px #999;}"
".on{background: #2ecc71;} .on:active {background-color: #27ae60; box-shadow: 0 2px #666; transform: translateY(2px);}"
"h1{color:#333;}"
".footer{font-size:14px; color:#888; margin-bottom:20px; letter-spacing:1px;}"
".firma{color: #000000; font-weight: bold; font-size: 16px;}" // Stile specifico per PENDOLAS
"</style></head>"
"<body>"
"  <div class='content'>"
"    <h1>Comando Cancello</h1>"
"    <a href='/apri' class='btn on'>APRI CANCELLO</a>"
"    <p>Premi per dare l'impulso</p>"
"  </div>"
"  <div class='footer'>Creato da <span class='firma'>PENDOLAS</span></div>" 
"</body></html>";

void handleRoot() {
  server.send(200, "text/html", htmlPage);
}

void handleApri() {
  digitalWrite(D1, HIGH);
  delay(1000); 
  digitalWrite(D1, LOW);
  server.send(200, "text/html", htmlPage);
}

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

  WiFi.mode(WIFI_AP);
  WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
  WiFi.softAP(ssid, password);

  dnsServer.start(DNS_PORT, "*", apIP);

  server.on("/", handleRoot);
  server.on("/apri", handleApri);
  
  server.onNotFound([]() {
    server.send(200, "text/html", htmlPage);
  });

  server.begin();
}

void loop() {
  dnsServer.processNextRequest();
  server.handleClient();
}
@pendola_s

Web Server Arduino APRI CANCELLO SMART CON SMARTPHONE, SENZA INTERNET E SENZA BLUETOOTH,TUTTO IN LOCALE. #arduino #youtubependolas #pendolas

♬ Neon Pulse – Nostalgia Waves