Sommario:
- Forniture
- Passaggio 1: selezionare il dispositivo corretto ENC28J60 o serie W5100
- Passaggio 2: invia un'e-mail semplice
- Passaggio 3: collega un carrello SD per gestire gli allegati
- Passaggio 4: inviare e-mail con allegati
- Passaggio 5: il risultato
- Passaggio 6: libreria
Video: Come inviare e-mail con allegati con Arduino, Esp32 e Esp8266: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Qui vorrei spiegare la versione 2 della mia libreria EMailSender, una grande evoluzione rispetto alla versione 1, con supporto per Arduino con ethernet shield w5100, w5200 e w5500 e dispositivi clone enc28J60, e supporto per esp32 ed esp8266.
Ora puoi anche aggiungere allegati, caricati da dispositivi di archiviazione come SD o SPIFFS. Qui l'utilizzo di Arduino ethernet.
Forniture
- Arduino Mega
- enc28J60
- scheda SD
Passaggio 1: selezionare il dispositivo corretto ENC28J60 o serie W5100
Arduino, normalmente, gestisce la rete con un dispositivo esterno, il dispositivo standard come w5100 usa la libreria Ethernet i cloni ENC28J60 hanno alcune librerie da selezionare.
Per selezionare il tuo dispositivo devi andare sul file di libreria EMailSenderKey.h e impostare quello corretto
#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_ENC28J60 // Predefinito
La libreria caricata per gestire questo tipo di dispositivo è UIPEthernet, puoi trovare la libreria sul gestore librerie dell'IDE Arduino
oppure puoi cambiare il tipo di rete predefinito
#define DEFAULT_EMAIL_NETWORK_TYPE_ARDUINO NETWORK_W5100
Questa è l'implementazione standard e utilizza la libreria Ethernet.
Una cosa importante da considerare è che questo shield Ethernet non supporta SSL o TLS, quindi è necessario trovare un provider SMTP che offra una connessione SMTP senza questo tipo di crittografia.
Creo un topic sul forum dove puoi aggiungere il provider che usi, che trovi anche il mio.
Passaggio 2: invia un'e-mail semplice
Per inviare una mail con Arduino devi trovare un provider che funzioni senza SSL o TLS, per la mia soluzione utilizzo con il provider SendGrid.
Penso che l'utilizzo sia molto molto semplice.
Quindi devi impostare il provider
EMailSender emailSend("YOUR-SENDGRID-API-KEY", "YOUR-SENDGRID-PASSWD", "FROM-EMAIL", "smtp.sendgrid.net", 25);
Quindi devi creare un messaggio e inviarlo
EMailSender::EMailMessage messaggio; message.subject = "Soggetto"; message.message = "Ciao come staiio bene.
EMailSender::Response resp = emailSend.send("[email protected]", messaggio);
Serial.println("Stato invio: ");
Serial.println(resp.status);
Serial.println(resp.code); Serial.println(resp.desc);
Passaggio 3: collega un carrello SD per gestire gli allegati
Per inviare allegati è necessario collegare una scheda SD come nello schema, se hai bisogno di maggiori informazioni sulla connessione fai riferimento a questo articolo "Come usare la scheda SD con esp8266, esp32 e Arduino".
Passaggio 4: inviare e-mail con allegati
Per inviare e-mail con allegati è necessario trovare un provider che supporti tale funzionalità, il mio provider sendgrid non lo supporta e GMX il provider che ho utilizzato per il test non supporta più.
Ma se trovi un nuovo provider puoi usare questo codice per allegare i file.
EMailSender::FileDescriptior fileDescriptor[1]; fileDescriptor[0].filename = F("test.txt"); fileDescriptor[0].url = F("/test.txt"); fileDescriptor[0].mime = MIME_TEXT_PLAIN; fileDescriptor[0].encode64 = false; fileDescriptor[0].storageType = EMailSender::EMAIL_STORAGE_TYPE_SD;
EMailSender::Allegati allegati = {1, fileDescriptor};
EMailSender::Response resp = emailSend.send("[email protected]", messaggio, allegati);
Passaggio 5: il risultato
Qui l'email inviata con un provider esp8266 e GMail (per utilizzare GMail è necessario enambe programma esterno).
Passaggio 6: libreria
Puoi trovare la libreria su GitHub
E devi chiedere funzionalità o segnalare bug sul forum
Documentazione aggiuntiva qui.
Consigliato:
Come inviare dati da M5Stack StickC a Delphi: 6 passaggi
Come inviare dati da M5Stack StickC a Delphi: In questo video impareremo come inviare valori dalla scheda StickC all'applicazione Delphi VCL utilizzando Visuino. Guarda il video
Allegati del drone (fai muovere): 4 passaggi
Attacchi per drone (Make It Move): ho creato alcuni allegati che possono essere montati su un piccolo drone da corsa e fatti funzionare con un semplice servo. Il primo è un meccanismo di rilascio. Usa un servo per tirare una piccola asta dal telaio, lasciando cadere tutto ciò che era appeso ad essa. Il sec
Come inviare dati al cloud con Arduino Ethernet: 8 passaggi
Come inviare dati al cloud con Arduino Ethernet: questa istruzione mostra come pubblicare i dati sulla piattaforma IoT AskSensors utilizzando Arduino Ethernet Shield. Ethernet Shield consente al tuo Arduino di connettersi facilmente al cloud, inviare e ricevere dati con una connessione Internet. Cosa noi
Come inviare messaggi di testo SMS dal tuo progetto Arduino ESP: 6 passaggi
Come inviare messaggi di testo SMS dal tuo progetto Arduino ESP: questa istruzione dimostra come inviare messaggi di testo SMS dal tuo progetto arduino utilizzando un dispositivo ESP8266 e una connessione WiFi. Perché usare gli SMS?* I messaggi SMS sono molto più veloci e affidabili della notifica dell'app messaggi. * I messaggi SMS possono anche
Come inviare musica MIDI allo Spielatron: 10 passaggi (con immagini)
Come inviare musica MIDI allo Spielatron: questo Instructable copre gli strumenti software che utilizziamo per prendere facilmente la notazione musicale standard, convertirla in un file MIDI e riprodurla sullo Spielatron